diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index f9a00397a7a22..8c0e7ffad3419 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -47487,6 +47487,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function checkSourceElementWorker(node: Node): void { + if (getNodeCheckFlags(node) & NodeCheckFlags.PartiallyTypeChecked) { + return; + } + if (canHaveJSDoc(node)) { forEach(node.jsDoc, ({ comment, tags }) => { checkJSDocCommentWorker(comment); @@ -47515,6 +47519,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { errorOrSuggestion(compilerOptions.allowUnreachableCode === false, node, Diagnostics.Unreachable_code_detected); } + // If editing this, keep `isSourceElement` in utilities up to date. switch (kind) { case SyntaxKind.TypeParameter: return checkTypeParameter(node as TypeParameterDeclaration); @@ -47879,12 +47884,14 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { tracing?.pop(); } - function checkSourceFile(node: SourceFile) { - tracing?.push(tracing.Phase.Check, "checkSourceFile", { path: node.path }, /*separateBeginAndEnd*/ true); - performance.mark("beforeCheck"); - checkSourceFileWorker(node); - performance.mark("afterCheck"); - performance.measure("Check", "beforeCheck", "afterCheck"); + function checkSourceFile(node: SourceFile, nodesToCheck: Node[] | undefined) { + tracing?.push(tracing.Phase.Check, nodesToCheck ? "checkSourceFileNodes" : "checkSourceFile", { path: node.path }, /*separateBeginAndEnd*/ true); + const beforeMark = nodesToCheck ? "beforeCheckNodes" : "beforeCheck"; + const afterMark = nodesToCheck ? "afterCheckNodes" : "afterCheck"; + performance.mark(beforeMark); + nodesToCheck ? checkSourceFileNodesWorker(node, nodesToCheck) : checkSourceFileWorker(node); + performance.mark(afterMark); + performance.measure("Check", beforeMark, afterMark); tracing?.pop(); } @@ -47923,6 +47930,14 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { clear(potentialReflectCollisions); clear(potentialUnusedRenamedBindingElementsInTypes); + if (links.flags & NodeCheckFlags.PartiallyTypeChecked) { + potentialThisCollisions = links.potentialThisCollisions!; + potentialNewTargetCollisions = links.potentialNewTargetCollisions!; + potentialWeakMapSetCollisions = links.potentialWeakMapSetCollisions!; + potentialReflectCollisions = links.potentialReflectCollisions!; + potentialUnusedRenamedBindingElementsInTypes = links.potentialUnusedRenamedBindingElementsInTypes!; + } + forEach(node.statements, checkSourceElement); checkSourceElement(node.endOfFileToken); @@ -47974,13 +47989,49 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } - function getDiagnostics(sourceFile: SourceFile, ct: CancellationToken): Diagnostic[] { + function checkSourceFileNodesWorker(file: SourceFile, nodes: readonly Node[]) { + const links = getNodeLinks(file); + if (!(links.flags & NodeCheckFlags.TypeChecked)) { + if (skipTypeChecking(file, compilerOptions, host)) { + return; + } + + // Grammar checking + checkGrammarSourceFile(file); + + clear(potentialThisCollisions); + clear(potentialNewTargetCollisions); + clear(potentialWeakMapSetCollisions); + clear(potentialReflectCollisions); + clear(potentialUnusedRenamedBindingElementsInTypes); + + forEach(nodes, checkSourceElement); + + checkDeferredNodes(file); + + (links.potentialThisCollisions || (links.potentialThisCollisions = [])).push(...potentialThisCollisions); + (links.potentialNewTargetCollisions || (links.potentialNewTargetCollisions = [])).push(...potentialNewTargetCollisions); + (links.potentialWeakMapSetCollisions || (links.potentialWeakMapSetCollisions = [])).push(...potentialWeakMapSetCollisions); + (links.potentialReflectCollisions || (links.potentialReflectCollisions = [])).push(...potentialReflectCollisions); + (links.potentialUnusedRenamedBindingElementsInTypes || (links.potentialUnusedRenamedBindingElementsInTypes = [])).push( + ...potentialUnusedRenamedBindingElementsInTypes, + ); + + links.flags |= NodeCheckFlags.PartiallyTypeChecked; + for (const node of nodes) { + const nodeLinks = getNodeLinks(node); + nodeLinks.flags |= NodeCheckFlags.PartiallyTypeChecked; + } + } + } + + function getDiagnostics(sourceFile: SourceFile, ct: CancellationToken, nodesToCheck?: Node[]): Diagnostic[] { try { // Record the cancellation token so it can be checked later on during checkSourceElement. // Do this in a finally block so we can ensure that it gets reset back to nothing after // this call is done. cancellationToken = ct; - return getDiagnosticsWorker(sourceFile); + return getDiagnosticsWorker(sourceFile, nodesToCheck); } finally { cancellationToken = undefined; @@ -47995,7 +48046,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { deferredDiagnosticsCallbacks = []; } - function checkSourceFileWithEagerDiagnostics(sourceFile: SourceFile) { + function checkSourceFileWithEagerDiagnostics(sourceFile: SourceFile, nodesToCheck?: Node[]) { ensurePendingDiagnosticWorkComplete(); // then setup diagnostics for immediate invocation (as we are about to collect them, and // this avoids the overhead of longer-lived callbacks we don't need to allocate) @@ -48004,11 +48055,11 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // thus much more likely retaining the same union ordering as before we had lazy diagnostics) const oldAddLazyDiagnostics = addLazyDiagnostic; addLazyDiagnostic = cb => cb(); - checkSourceFile(sourceFile); + checkSourceFile(sourceFile, nodesToCheck); addLazyDiagnostic = oldAddLazyDiagnostics; } - function getDiagnosticsWorker(sourceFile: SourceFile): Diagnostic[] { + function getDiagnosticsWorker(sourceFile: SourceFile, nodesToCheck: Node[] | undefined): Diagnostic[] { if (sourceFile) { ensurePendingDiagnosticWorkComplete(); // Some global diagnostics are deferred until they are needed and @@ -48017,9 +48068,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const previousGlobalDiagnostics = diagnostics.getGlobalDiagnostics(); const previousGlobalDiagnosticsSize = previousGlobalDiagnostics.length; - checkSourceFileWithEagerDiagnostics(sourceFile); - + checkSourceFileWithEagerDiagnostics(sourceFile, nodesToCheck); const semanticDiagnostics = diagnostics.getDiagnostics(sourceFile.fileName); + if (nodesToCheck) { + // No need to get global diagnostics. + return semanticDiagnostics; + } const currentGlobalDiagnostics = diagnostics.getGlobalDiagnostics(); if (currentGlobalDiagnostics !== previousGlobalDiagnostics) { // If the arrays are not the same reference, new diagnostics were added. @@ -48038,7 +48092,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // Global diagnostics are always added when a file is not provided to // getDiagnostics - forEach(host.getSourceFiles(), checkSourceFileWithEagerDiagnostics); + forEach(host.getSourceFiles(), file => checkSourceFileWithEagerDiagnostics(file)); return diagnostics.getDiagnostics(); } diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 9005d40da8914..6ddc748ef8084 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -2961,8 +2961,12 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg return getDiagnosticsHelper(sourceFile, getSyntacticDiagnosticsForFile, cancellationToken); } - function getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): readonly Diagnostic[] { - return getDiagnosticsHelper(sourceFile, getSemanticDiagnosticsForFile, cancellationToken); + function getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken, nodesToCheck?: Node[]): readonly Diagnostic[] { + return getDiagnosticsHelper( + sourceFile, + (sourceFile, cancellationToken) => getSemanticDiagnosticsForFile(sourceFile, cancellationToken, nodesToCheck), + cancellationToken, + ); } function getCachedSemanticDiagnostics(sourceFile?: SourceFile): readonly Diagnostic[] | undefined { @@ -2972,7 +2976,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg } function getBindAndCheckDiagnostics(sourceFile: SourceFile, cancellationToken?: CancellationToken): readonly Diagnostic[] { - return getBindAndCheckDiagnosticsForFile(sourceFile, cancellationToken); + return getBindAndCheckDiagnosticsForFile(sourceFile, cancellationToken, /*nodesToCheck*/ undefined); } function getProgramDiagnostics(sourceFile: SourceFile): readonly Diagnostic[] { @@ -3026,18 +3030,33 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg } } - function getSemanticDiagnosticsForFile(sourceFile: SourceFile, cancellationToken: CancellationToken | undefined): readonly Diagnostic[] { + function getSemanticDiagnosticsForFile( + sourceFile: SourceFile, + cancellationToken: CancellationToken | undefined, + nodesToCheck: Node[] | undefined, + ): readonly Diagnostic[] { return concatenate( - filterSemanticDiagnostics(getBindAndCheckDiagnosticsForFile(sourceFile, cancellationToken), options), + filterSemanticDiagnostics(getBindAndCheckDiagnosticsForFile(sourceFile, cancellationToken, nodesToCheck), options), getProgramDiagnostics(sourceFile), ); } - function getBindAndCheckDiagnosticsForFile(sourceFile: SourceFile, cancellationToken: CancellationToken | undefined): readonly Diagnostic[] { + function getBindAndCheckDiagnosticsForFile( + sourceFile: SourceFile, + cancellationToken: CancellationToken | undefined, + nodesToCheck: Node[] | undefined, + ): readonly Diagnostic[] { + if (nodesToCheck) { + return getBindAndCheckDiagnosticsForFileNoCache(sourceFile, cancellationToken, nodesToCheck); + } return getAndCacheDiagnostics(sourceFile, cancellationToken, cachedBindAndCheckDiagnosticsForFile, getBindAndCheckDiagnosticsForFileNoCache); } - function getBindAndCheckDiagnosticsForFileNoCache(sourceFile: SourceFile, cancellationToken: CancellationToken | undefined): readonly Diagnostic[] { + function getBindAndCheckDiagnosticsForFileNoCache( + sourceFile: SourceFile, + cancellationToken: CancellationToken | undefined, + nodesToCheck?: Node[], + ): readonly Diagnostic[] { return runWithCancellationToken(() => { if (skipTypeChecking(sourceFile, options, program)) { return emptyArray; @@ -3048,25 +3067,28 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg Debug.assert(!!sourceFile.bindDiagnostics); const isJs = sourceFile.scriptKind === ScriptKind.JS || sourceFile.scriptKind === ScriptKind.JSX; - const isCheckJs = isJs && isCheckJsEnabledForFile(sourceFile, options); const isPlainJs = isPlainJsFile(sourceFile, options.checkJs); + const isCheckJs = isJs && isCheckJsEnabledForFile(sourceFile, options); - // By default, only type-check .ts, .tsx, Deferred, plain JS, checked JS and External - // - plain JS: .js files with no // ts-check and checkJs: undefined - // - check JS: .js files with either // ts-check or checkJs: true - // - external: files that are added by plugins let bindDiagnostics = sourceFile.bindDiagnostics; - let checkDiagnostics = typeChecker.getDiagnostics(sourceFile, cancellationToken); + let checkDiagnostics = typeChecker.getDiagnostics(sourceFile, cancellationToken, nodesToCheck); if (isPlainJs) { bindDiagnostics = filter(bindDiagnostics, d => plainJSErrors.has(d.code)); checkDiagnostics = filter(checkDiagnostics, d => plainJSErrors.has(d.code)); } // skip ts-expect-error errors in plain JS files, and skip JSDoc errors except in checked JS - return getMergedBindAndCheckDiagnostics(sourceFile, !isPlainJs, bindDiagnostics, checkDiagnostics, isCheckJs ? sourceFile.jsDocDiagnostics : undefined); + return getMergedBindAndCheckDiagnostics( + sourceFile, + !isPlainJs, + !!nodesToCheck, + bindDiagnostics, + checkDiagnostics, + isCheckJs ? sourceFile.jsDocDiagnostics : undefined, + ); }); } - function getMergedBindAndCheckDiagnostics(sourceFile: SourceFile, includeBindAndCheckDiagnostics: boolean, ...allDiagnostics: (readonly Diagnostic[] | undefined)[]) { + function getMergedBindAndCheckDiagnostics(sourceFile: SourceFile, includeBindAndCheckDiagnostics: boolean, partialCheck: boolean, ...allDiagnostics: (readonly Diagnostic[] | undefined)[]) { const flatDiagnostics = flatten(allDiagnostics); if (!includeBindAndCheckDiagnostics || !sourceFile.commentDirectives?.length) { return flatDiagnostics; @@ -3074,6 +3096,11 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg const { diagnostics, directives } = getDiagnosticsWithPrecedingDirectives(sourceFile, sourceFile.commentDirectives, flatDiagnostics); + // When doing a partial check, we can't be sure a directive is unused. + if (partialCheck) { + return diagnostics; + } + for (const errorExpectation of directives.getUnusedExpectations()) { diagnostics.push(createDiagnosticForRange(sourceFile, errorExpectation.range, Diagnostics.Unused_ts_expect_error_directive)); } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index b8f9d0bc98ebc..00a4408217743 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -4715,6 +4715,9 @@ export interface Program extends ScriptReferenceHost { getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): readonly DiagnosticWithLocation[]; /** The first time this is called, it will return global diagnostics (no location). */ getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): readonly Diagnostic[]; + /** @internal */ + getSemanticDiagnostics(sourceFile: SourceFile | undefined, cancellationToken: CancellationToken | undefined, nodesToCheck: Node[]): readonly Diagnostic[]; + getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): readonly DiagnosticWithLocation[]; getConfigFileParsingDiagnostics(): readonly Diagnostic[]; /** @internal */ getSuggestionDiagnostics(sourceFile: SourceFile, cancellationToken?: CancellationToken): readonly DiagnosticWithLocation[]; @@ -5263,7 +5266,7 @@ export interface TypeChecker { /** @internal */ getSymbolWalker(accept?: (symbol: Symbol) => boolean): SymbolWalker; // Should not be called directly. Should only be accessed through the Program instance. - /** @internal */ getDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): Diagnostic[]; + /** @internal */ getDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken, nodesToCheck?: Node[]): Diagnostic[]; /** @internal */ getGlobalDiagnostics(): Diagnostic[]; /** @internal */ getEmitResolver(sourceFile?: SourceFile, cancellationToken?: CancellationToken, forceDts?: boolean): EmitResolver; /** @internal */ requiresAddingImplicitUndefined(parameter: ParameterDeclaration | JSDocParameterTag): boolean; @@ -6117,6 +6120,7 @@ export const enum NodeCheckFlags { ContainsClassWithPrivateIdentifiers = 1 << 20, // Marked on all block-scoped containers containing a class with private identifiers. ContainsSuperPropertyInStaticInitializer = 1 << 21, // Marked on all block-scoped containers containing a static initializer with 'super.x' or 'super[x]'. InCheckIdentifier = 1 << 22, + PartiallyTypeChecked = 1 << 23, // Node has been partially type checked /** These flags are LazyNodeCheckFlags and can be calculated lazily by `hasNodeCheckFlag` */ LazyFlags = SuperInstance @@ -6176,6 +6180,11 @@ export interface NodeLinks { parameterInitializerContainsUndefined?: boolean; // True if this is a parameter declaration whose type annotation contains "undefined". fakeScopeForSignatureDeclaration?: "params" | "typeParams"; // If present, this is a fake scope injected into an enclosing declaration chain. assertionExpressionType?: Type; // Cached type of the expression of a type assertion + potentialThisCollisions?: Node[]; + potentialNewTargetCollisions?: Node[]; + potentialWeakMapSetCollisions?: Node[]; + potentialReflectCollisions?: Node[]; + potentialUnusedRenamedBindingElementsInTypes?: BindingElement[]; externalHelpersModule?: Symbol; // Resolved symbol for the external helpers module } diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index b61399a687f6c..fa65351696072 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -10920,6 +10920,107 @@ export function getNameFromImportAttribute(node: ImportAttribute) { return isIdentifier(node.name) ? node.name.escapedText : escapeLeadingUnderscores(node.name.text); } +/** @internal */ +export function isSourceElement(node: Node): boolean { + switch (node.kind) { + case SyntaxKind.TypeParameter: + case SyntaxKind.Parameter: + case SyntaxKind.PropertyDeclaration: + case SyntaxKind.PropertySignature: + case SyntaxKind.ConstructorType: + case SyntaxKind.FunctionType: + case SyntaxKind.CallSignature: + case SyntaxKind.ConstructSignature: + case SyntaxKind.IndexSignature: + case SyntaxKind.MethodDeclaration: + case SyntaxKind.MethodSignature: + case SyntaxKind.ClassStaticBlockDeclaration: + case SyntaxKind.Constructor: + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + case SyntaxKind.TypeReference: + case SyntaxKind.TypePredicate: + case SyntaxKind.TypeQuery: + case SyntaxKind.TypeLiteral: + case SyntaxKind.ArrayType: + case SyntaxKind.TupleType: + case SyntaxKind.UnionType: + case SyntaxKind.IntersectionType: + case SyntaxKind.ParenthesizedType: + case SyntaxKind.OptionalType: + case SyntaxKind.RestType: + case SyntaxKind.ThisType: + case SyntaxKind.TypeOperator: + case SyntaxKind.ConditionalType: + case SyntaxKind.InferType: + case SyntaxKind.TemplateLiteralType: + case SyntaxKind.ImportType: + case SyntaxKind.NamedTupleMember: + case SyntaxKind.JSDocAugmentsTag: + case SyntaxKind.JSDocImplementsTag: + case SyntaxKind.JSDocTypedefTag: + case SyntaxKind.JSDocCallbackTag: + case SyntaxKind.JSDocEnumTag: + case SyntaxKind.JSDocTemplateTag: + case SyntaxKind.JSDocTypeTag: + case SyntaxKind.JSDocLink: + case SyntaxKind.JSDocLinkCode: + case SyntaxKind.JSDocLinkPlain: + case SyntaxKind.JSDocParameterTag: + case SyntaxKind.JSDocPropertyTag: + case SyntaxKind.JSDocFunctionType: + case SyntaxKind.JSDocNonNullableType: + case SyntaxKind.JSDocNullableType: + case SyntaxKind.JSDocAllType: + case SyntaxKind.JSDocUnknownType: + case SyntaxKind.JSDocTypeLiteral: + case SyntaxKind.JSDocVariadicType: + case SyntaxKind.JSDocTypeExpression: + case SyntaxKind.JSDocPublicTag: + case SyntaxKind.JSDocProtectedTag: + case SyntaxKind.JSDocPrivateTag: + case SyntaxKind.JSDocSatisfiesTag: + case SyntaxKind.JSDocThisTag: + case SyntaxKind.IndexedAccessType: + case SyntaxKind.MappedType: + case SyntaxKind.FunctionDeclaration: + case SyntaxKind.Block: + case SyntaxKind.ModuleBlock: + case SyntaxKind.VariableStatement: + case SyntaxKind.ExpressionStatement: + case SyntaxKind.IfStatement: + case SyntaxKind.DoStatement: + case SyntaxKind.WhileStatement: + case SyntaxKind.ForStatement: + case SyntaxKind.ForInStatement: + case SyntaxKind.ForOfStatement: + case SyntaxKind.ContinueStatement: + case SyntaxKind.BreakStatement: + case SyntaxKind.ReturnStatement: + case SyntaxKind.WithStatement: + case SyntaxKind.SwitchStatement: + case SyntaxKind.LabeledStatement: + case SyntaxKind.ThrowStatement: + case SyntaxKind.TryStatement: + case SyntaxKind.VariableDeclaration: + case SyntaxKind.BindingElement: + case SyntaxKind.ClassDeclaration: + case SyntaxKind.InterfaceDeclaration: + case SyntaxKind.TypeAliasDeclaration: + case SyntaxKind.EnumDeclaration: + case SyntaxKind.ModuleDeclaration: + case SyntaxKind.ImportDeclaration: + case SyntaxKind.ImportEqualsDeclaration: + case SyntaxKind.ExportDeclaration: + case SyntaxKind.ExportAssignment: + case SyntaxKind.EmptyStatement: + case SyntaxKind.DebuggerStatement: + case SyntaxKind.MissingDeclaration: + return true; + } + return false; +} + /** @internal */ export function evaluatorResult(value: T, isSyntacticallyString = false, resolvedOtherFiles = false, hasExternalReferences = false): EvaluatorResult { return { value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences }; diff --git a/src/compiler/utilitiesPublic.ts b/src/compiler/utilitiesPublic.ts index 2ff6e7adaa867..8c48394ddae26 100644 --- a/src/compiler/utilitiesPublic.ts +++ b/src/compiler/utilitiesPublic.ts @@ -348,8 +348,8 @@ export function textSpanContainsPosition(span: TextSpan, position: number) { } /** @internal */ -export function textRangeContainsPositionInclusive(span: TextRange, position: number): boolean { - return position >= span.pos && position <= span.end; +export function textRangeContainsPositionInclusive(range: TextRange, position: number): boolean { + return position >= range.pos && position <= range.end; } // Returns true if 'span' contains 'other'. @@ -357,6 +357,16 @@ export function textSpanContainsTextSpan(span: TextSpan, other: TextSpan) { return other.start >= span.start && textSpanEnd(other) <= textSpanEnd(span); } +/** @internal */ +export function textSpanContainsTextRange(span: TextSpan, range: TextRange) { + return range.pos >= span.start && range.end <= textSpanEnd(span); +} + +/** @internal */ +export function textRangeContainsTextSpan(range: TextRange, span: TextSpan) { + return span.start >= range.pos && textSpanEnd(span) <= range.end; +} + export function textSpanOverlapsWith(span: TextSpan, other: TextSpan) { return textSpanOverlap(span, other) !== undefined; } @@ -366,30 +376,63 @@ export function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan | un return overlap && overlap.length === 0 ? undefined : overlap; } -export function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan) { +export function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean { return decodedTextSpanIntersectsWith(span.start, span.length, other.start, other.length); } -export function textSpanIntersectsWith(span: TextSpan, start: number, length: number) { +export function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean { return decodedTextSpanIntersectsWith(span.start, span.length, start, length); } -export function decodedTextSpanIntersectsWith(start1: number, length1: number, start2: number, length2: number) { +export function decodedTextSpanIntersectsWith(start1: number, length1: number, start2: number, length2: number): boolean { const end1 = start1 + length1; const end2 = start2 + length2; return start2 <= end1 && end2 >= start1; } -export function textSpanIntersectsWithPosition(span: TextSpan, position: number) { +export function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean { return position <= textSpanEnd(span) && position >= span.start; } +/** @internal */ +export function textRangeIntersectsWithTextSpan(range: TextRange, span: TextSpan): boolean { + return textSpanIntersectsWith(span, range.pos, range.end - range.pos); +} + export function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan | undefined { const start = Math.max(span1.start, span2.start); const end = Math.min(textSpanEnd(span1), textSpanEnd(span2)); return start <= end ? createTextSpanFromBounds(start, end) : undefined; } +/** + * Given an array of text spans, returns an equivalent sorted array of text spans + * where no span overlaps or is adjacent to another span in the array. + * @internal + */ +export function normalizeSpans(spans: readonly TextSpan[]): TextSpan[] { + spans = spans.filter(span => span.length > 0).sort((a, b) => { + return a.start !== b.start ? a.start - b.start : a.length - b.length; + }); + + const result: TextSpan[] = []; + let i = 0; + while (i < spans.length) { + let span = spans[i]; + let j = i + 1; + while (j < spans.length && textSpanIntersectsWithTextSpan(span, spans[j])) { + const start = Math.min(span.start, spans[j].start); + const end = Math.max(textSpanEnd(span), textSpanEnd(spans[j])); + span = createTextSpanFromBounds(start, end); + j++; + } + i = j; + result.push(span); + } + + return result; +} + export function createTextSpan(start: number, length: number): TextSpan { if (start < 0) { throw new Error("start < 0"); diff --git a/src/harness/client.ts b/src/harness/client.ts index 2d764ad15d9d6..08e8624fb6217 100644 --- a/src/harness/client.ts +++ b/src/harness/client.ts @@ -57,6 +57,7 @@ import { RefactorTriggerReason, ReferencedSymbol, ReferenceEntry, + RegionDiagnosticsResult, RenameInfo, RenameInfoFailure, RenameInfoSuccess, @@ -501,6 +502,9 @@ export class SessionClient implements LanguageService { getSuggestionDiagnostics(file: string): DiagnosticWithLocation[] { return this.getDiagnostics(file, protocol.CommandTypes.SuggestionDiagnosticsSync); } + getRegionSemanticDiagnostics(_file: string, _ranges: TextRange[]): RegionDiagnosticsResult | undefined { + throw new Error("Method not implemented."); + } private getDiagnostics(file: string, command: protocol.CommandTypes): DiagnosticWithLocation[] { const request = this.processRequest(command, { file, includeLinePosition: true }); diff --git a/src/harness/fourslashImpl.ts b/src/harness/fourslashImpl.ts index ac44525404f5d..80bf5908ee99a 100644 --- a/src/harness/fourslashImpl.ts +++ b/src/harness/fourslashImpl.ts @@ -1799,8 +1799,12 @@ export class TestState { this.testDiagnostics(expected, diagnostics, "error"); } - public getSemanticDiagnostics(expected: readonly FourSlashInterface.Diagnostic[]) { - const diagnostics = this.languageService.getSemanticDiagnostics(this.activeFile.fileName); + public getSemanticDiagnostics(): ts.Diagnostic[] { + return this.languageService.getSemanticDiagnostics(this.activeFile.fileName); + } + + public verifySemanticDiagnostics(expected: readonly FourSlashInterface.Diagnostic[]) { + const diagnostics = this.getSemanticDiagnostics(); this.testDiagnostics(expected, diagnostics, "error"); } @@ -1808,6 +1812,33 @@ export class TestState { this.testDiagnostics(expected, this.languageService.getSuggestionDiagnostics(this.activeFile.fileName), "suggestion"); } + public getRegionSemanticDiagnostics( + ranges: ts.TextRange[], + expectedDiagnostics: readonly FourSlashInterface.Diagnostic[] | undefined, + expectedRanges: ts.TextRange[] | undefined, + ) { + const diagnosticsResult = this.languageService.getRegionSemanticDiagnostics(this.activeFile.fileName, ranges); + if (diagnosticsResult && expectedDiagnostics) { + this.testDiagnostics(expectedDiagnostics, diagnosticsResult.diagnostics, "error"); + } + else if (diagnosticsResult !== expectedDiagnostics) { + if (expectedDiagnostics) this.raiseError("Expected diagnostics to be defined."); + else {assert.deepEqual( + diagnosticsResult!.diagnostics, + expectedDiagnostics, + "Expected diagnostics to be undefined.", + );} + } + + if (expectedRanges && diagnosticsResult) { + const spans = expectedRanges.map(range => ({ start: range.pos, length: range.end - range.pos })); + assert.deepEqual(diagnosticsResult.spans, spans); + } + else if (expectedRanges && !diagnosticsResult) { + this.raiseError("Expected spans to be defined."); + } + } + private testDiagnostics(expected: readonly FourSlashInterface.Diagnostic[], diagnostics: readonly ts.Diagnostic[], category: string) { assert.deepEqual( realizeDiagnostics(diagnostics, "\n"), diff --git a/src/harness/fourslashInterfaceImpl.ts b/src/harness/fourslashInterfaceImpl.ts index f04ac4594f918..c68d56fdcf275 100644 --- a/src/harness/fourslashInterfaceImpl.ts +++ b/src/harness/fourslashInterfaceImpl.ts @@ -48,6 +48,20 @@ export class Test { public setTypesRegistry(map: ts.MapLike): void { this.state.setTypesRegistry(map); } + + public getSemanticDiagnostics(): Diagnostic[] { + return this.state.getSemanticDiagnostics().map(tsDiag => ({ + message: ts.flattenDiagnosticMessageText(tsDiag.messageText, "\n"), + range: tsDiag.start ? { + fileName: this.state.activeFile.fileName, + pos: tsDiag.start, + end: tsDiag.start + tsDiag.length!, + } : undefined, + code: tsDiag.code, + reportsUnnecessary: tsDiag.reportsUnnecessary ? true : undefined, + reportsDeprecated: !!tsDiag.reportsDeprecated ? true : undefined, + })); + } } export class Config { @@ -590,7 +604,15 @@ export class Verify extends VerifyNegatable { } public getSemanticDiagnostics(expected: readonly Diagnostic[]) { - this.state.getSemanticDiagnostics(expected); + this.state.verifySemanticDiagnostics(expected); + } + + public getRegionSemanticDiagnostics( + ranges: ts.TextRange[], + expectedDiagnostics: readonly Diagnostic[], + expectedRanges: ts.TextRange[] | undefined, + ) { + this.state.getRegionSemanticDiagnostics(ranges, expectedDiagnostics, expectedRanges); } public getSuggestionDiagnostics(expected: readonly Diagnostic[]) { diff --git a/src/harness/tsserverLogger.ts b/src/harness/tsserverLogger.ts index 6e8d18be74c6e..38d3affcac78c 100644 --- a/src/harness/tsserverLogger.ts +++ b/src/harness/tsserverLogger.ts @@ -127,6 +127,7 @@ export function sanitizeLog(s: string): string { s = s.replace(/"exportMapKey":\s*"\d+ \d+ /g, match => match.replace(/ \d+ /, ` * `)); s = s.replace(/getIndentationAtPosition: getCurrentSourceFile: \d+(?:\.\d+)?/, `getIndentationAtPosition: getCurrentSourceFile: *`); s = s.replace(/getIndentationAtPosition: computeIndentation\s*: \d+(?:\.\d+)?/, `getIndentationAtPosition: computeIndentation: *`); + s = s.replace(/"duration":\s*\d+(?:.\d+)?/g, `"duration": *`); s = replaceAll(s, `@ts${ts.versionMajorMinor}`, `@tsFakeMajor.Minor`); s = sanitizeHarnessLSException(s); return s; diff --git a/src/server/protocol.ts b/src/server/protocol.ts index d12c97bdebc32..271fd51a25863 100644 --- a/src/server/protocol.ts +++ b/src/server/protocol.ts @@ -762,17 +762,7 @@ export interface ApplyCodeActionCommandRequest extends Request { // All we need is the `success` and `message` fields of Response. export interface ApplyCodeActionCommandResponse extends Response {} -export interface FileRangeRequestArgs extends FileRequestArgs { - /** - * The line number for the request (1-based). - */ - startLine: number; - - /** - * The character offset (on the line) for the request (1-based). - */ - startOffset: number; - +export interface FileRangeRequestArgs extends FileRequestArgs, FileRange { /** * Position (can be specified instead of line/offset pair) * @@ -780,16 +770,6 @@ export interface FileRangeRequestArgs extends FileRequestArgs { */ startPosition?: number; - /** - * The line number for the request (1-based). - */ - endLine: number; - - /** - * The character offset (on the line) for the request (1-based). - */ - endOffset: number; - /** * Position (can be specified instead of line/offset pair) * @@ -2455,7 +2435,7 @@ export interface GeterrRequestArgs { * List of file names for which to compute compiler errors. * The files will be checked in list order. */ - files: string[]; + files: (string | FileRangesRequestArgs)[]; /** * Delay in milliseconds to wait before starting to compute @@ -2479,6 +2459,32 @@ export interface GeterrRequest extends Request { arguments: GeterrRequestArgs; } +export interface FileRange { + /** + * The line number for the request (1-based). + */ + startLine: number; + + /** + * The character offset (on the line) for the request (1-based). + */ + startOffset: number; + + /** + * The line number for the request (1-based). + */ + endLine: number; + + /** + * The character offset (on the line) for the request (1-based). + */ + endOffset: number; +} + +export interface FileRangesRequestArgs extends Pick { + ranges: FileRange[]; +} + export type RequestCompletedEventName = "requestCompleted"; /** @@ -2576,9 +2582,19 @@ export interface DiagnosticEventBody { * An array of diagnostic information items. */ diagnostics: Diagnostic[]; + + /** + * Spans where the region diagnostic was requested, if this is a region semantic diagnostic event. + */ + spans?: TextSpan[]; + + /** + * Time spent computing the diagnostics, in milliseconds. + */ + duration?: number; } -export type DiagnosticEventKind = "semanticDiag" | "syntaxDiag" | "suggestionDiag"; +export type DiagnosticEventKind = "semanticDiag" | "syntaxDiag" | "suggestionDiag" | "regionSemanticDiag"; /** * Event message for DiagnosticEventKind event types. diff --git a/src/server/session.ts b/src/server/session.ts index 1d3b34d66f719..53657410b4b02 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -299,7 +299,7 @@ export function formatDiagnosticToProtocol(diag: Diagnostic, includeFileName: bo : common; } -export interface PendingErrorCheck { +interface PendingErrorCheck { fileName: NormalizedPath; project: Project; } @@ -993,6 +993,10 @@ export class Session implements EventSender { private eventHandler: ProjectServiceEventHandler | undefined; private readonly noGetErrOnBackgroundUpdate?: boolean; + // Minimum number of lines for attempting to use region diagnostics for a file. + /** @internal */ + protected regionDiagLineCountThreshold = 500; + constructor(opts: SessionOptions) { this.host = opts.host; this.cancellationToken = opts.cancellationToken; @@ -1257,29 +1261,72 @@ export class Session implements EventSender { } private semanticCheck(file: NormalizedPath, project: Project) { + const diagnosticsStartTime = this.hrtime(); tracing?.push(tracing.Phase.Session, "semanticCheck", { file, configFilePath: (project as ConfiguredProject).canonicalConfigFilePath }); // undefined is fine if the cast fails const diags = isDeclarationFileInJSOnlyNonConfiguredProject(project, file) ? emptyArray : project.getLanguageService().getSemanticDiagnostics(file).filter(d => !!d.file); - this.sendDiagnosticsEvent(file, project, diags, "semanticDiag"); + this.sendDiagnosticsEvent(file, project, diags, "semanticDiag", diagnosticsStartTime); tracing?.pop(); } private syntacticCheck(file: NormalizedPath, project: Project) { + const diagnosticsStartTime = this.hrtime(); tracing?.push(tracing.Phase.Session, "syntacticCheck", { file, configFilePath: (project as ConfiguredProject).canonicalConfigFilePath }); // undefined is fine if the cast fails - this.sendDiagnosticsEvent(file, project, project.getLanguageService().getSyntacticDiagnostics(file), "syntaxDiag"); + this.sendDiagnosticsEvent(file, project, project.getLanguageService().getSyntacticDiagnostics(file), "syntaxDiag", diagnosticsStartTime); tracing?.pop(); } private suggestionCheck(file: NormalizedPath, project: Project) { + const diagnosticsStartTime = this.hrtime(); tracing?.push(tracing.Phase.Session, "suggestionCheck", { file, configFilePath: (project as ConfiguredProject).canonicalConfigFilePath }); // undefined is fine if the cast fails - this.sendDiagnosticsEvent(file, project, project.getLanguageService().getSuggestionDiagnostics(file), "suggestionDiag"); + this.sendDiagnosticsEvent(file, project, project.getLanguageService().getSuggestionDiagnostics(file), "suggestionDiag", diagnosticsStartTime); + tracing?.pop(); + } + + private regionSemanticCheck(file: NormalizedPath, project: Project, ranges: TextRange[]): void { + const diagnosticsStartTime = this.hrtime(); + tracing?.push(tracing.Phase.Session, "regionSemanticCheck", { file, configFilePath: (project as ConfiguredProject).canonicalConfigFilePath }); // undefined is fine if the cast fails + let diagnosticsResult; + if (!this.shouldDoRegionCheck(file) || !(diagnosticsResult = project.getLanguageService().getRegionSemanticDiagnostics(file, ranges))) { + tracing?.pop(); + return; + } + this.sendDiagnosticsEvent(file, project, diagnosticsResult.diagnostics, "regionSemanticDiag", diagnosticsStartTime, diagnosticsResult.spans); tracing?.pop(); + return; } - private sendDiagnosticsEvent(file: NormalizedPath, project: Project, diagnostics: readonly Diagnostic[], kind: protocol.DiagnosticEventKind): void { + // We should only do the region-based semantic check if we think it would be + // considerably faster than a whole-file semantic check. + /** @internal */ + protected shouldDoRegionCheck(file: NormalizedPath): boolean { + const lineCount = this.projectService.getScriptInfoForNormalizedPath(file)?.textStorage.getLineInfo().getLineCount(); + return !!(lineCount && lineCount >= this.regionDiagLineCountThreshold); + } + + private sendDiagnosticsEvent( + file: NormalizedPath, + project: Project, + diagnostics: readonly Diagnostic[], + kind: protocol.DiagnosticEventKind, + diagnosticsStartTime: [number, number], + spans?: TextSpan[], + ): void { try { - this.event({ file, diagnostics: diagnostics.map(diag => formatDiag(file, project, diag)) }, kind); + const scriptInfo = Debug.checkDefined(project.getScriptInfo(file)); + const duration = hrTimeToMilliseconds(this.hrtime(diagnosticsStartTime)); + + const body: protocol.DiagnosticEventBody = { + file, + diagnostics: diagnostics.map(diag => formatDiag(file, project, diag)), + spans: spans?.map(span => toProtocolTextSpan(span, scriptInfo)), + duration, + }; + this.event( + body, + kind, + ); } catch (err) { this.logError(err, kind); @@ -1287,7 +1334,15 @@ export class Session implements EventSender { } /** It is the caller's responsibility to verify that `!this.suppressDiagnosticEvents`. */ - private updateErrorCheck(next: NextStep, checkList: readonly string[] | readonly PendingErrorCheck[], ms: number, requireOpen = true) { + private updateErrorCheck( + next: NextStep, + checkList: PendingErrorCheck[] | (string | protocol.FileRangesRequestArgs)[], + ms: number, + requireOpen = true, + ) { + if (checkList.length === 0) { + return; + } Debug.assert(!this.suppressDiagnosticEvents); // Caller's responsibility const seq = this.changeSeq; @@ -1297,23 +1352,43 @@ export class Session implements EventSender { const goNext = () => { index++; if (checkList.length > index) { - next.delay("checkOne", followMs, checkOne); + return next.delay("checkOne", followMs, checkOne); + } + }; + + const doSemanticCheck = (fileName: NormalizedPath, project: Project) => { + this.semanticCheck(fileName, project); + if (this.changeSeq !== seq) { + return; } + + if (this.getPreferences(fileName).disableSuggestions) { + return goNext(); + } + next.immediate("suggestionCheck", () => { + this.suggestionCheck(fileName, project); + goNext(); + }); }; + const checkOne = () => { if (this.changeSeq !== seq) { return; } - let item: string | PendingErrorCheck | undefined = checkList[index]; + let ranges: protocol.FileRange[] | undefined; + let item: string | protocol.FileRangesRequestArgs | PendingErrorCheck | undefined = checkList[index]; if (isString(item)) { - // Find out project for the file name item = this.toPendingErrorCheck(item); - if (!item) { - // Ignore file if there is no project for the file - goNext(); - return; - } + } + // eslint-disable-next-line local/no-in-operator + else if ("ranges" in item) { + ranges = item.ranges; + item = this.toPendingErrorCheck(item.file); + } + + if (!item) { + return goNext(); } const { fileName, project } = item; @@ -1331,24 +1406,23 @@ export class Session implements EventSender { // Don't provide semantic diagnostics unless we're in full semantic mode. if (project.projectService.serverMode !== LanguageServiceMode.Semantic) { - goNext(); - return; + return goNext(); } - next.immediate("semanticCheck", () => { - this.semanticCheck(fileName, project); - if (this.changeSeq !== seq) { - return; - } - if (this.getPreferences(fileName).disableSuggestions) { - goNext(); - return; - } - next.immediate("suggestionCheck", () => { - this.suggestionCheck(fileName, project); - goNext(); + if (ranges) { + return next.immediate("regionSemanticCheck", () => { + const scriptInfo = this.projectService.getScriptInfoForNormalizedPath(fileName); + if (scriptInfo) { + this.regionSemanticCheck(fileName, project, ranges.map(range => this.getRange({ file: fileName, ...range }, scriptInfo))); + } + if (this.changeSeq !== seq) { + return; + } + next.immediate("semanticCheck", () => doSemanticCheck(fileName, project)); }); - }); + } + + next.immediate("semanticCheck", () => doSemanticCheck(fileName, project)); }; if (checkList.length > index && this.changeSeq === seq) { @@ -2505,13 +2579,13 @@ export class Session implements EventSender { return project && { fileName, project }; } - private getDiagnostics(next: NextStep, delay: number, fileNames: string[]): void { + private getDiagnostics(next: NextStep, delay: number, fileArgs: (string | protocol.FileRangesRequestArgs)[]): void { if (this.suppressDiagnosticEvents) { return; } - if (fileNames.length > 0) { - this.updateErrorCheck(next, fileNames, delay); + if (fileArgs.length > 0) { + this.updateErrorCheck(next, fileArgs, delay); } } diff --git a/src/services/services.ts b/src/services/services.ts index 2bd5c94bb0efe..0afdecd646e0f 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -5,18 +5,21 @@ import { AssignmentDeclarationKind, BaseType, BinaryExpression, + BlockLike, BreakpointResolver, CallHierarchy, CallHierarchyIncomingCall, CallHierarchyItem, CallHierarchyOutgoingCall, CancellationToken, + canIncludeBindAndCheckDiagnostics, changeCompilerHostLikeToUseCache, CharacterCodes, CheckJsDirective, Classifications, ClassifiedSpan, ClassifiedSpan2020, + ClassLikeDeclaration, CodeActionCommand, codefix, CodeFixAction, @@ -76,6 +79,7 @@ import { findAncestor, findChildOfKind, findPrecedingToken, + findTokenOnLeftOfPosition, first, firstDefined, firstOrOnly, @@ -145,6 +149,8 @@ import { IntersectionType, isArray, isBindingPattern, + isBlockLike, + isClassLike, isComputedPropertyName, isConstTypeReference, IScriptSnapshot, @@ -184,6 +190,8 @@ import { isRightSideOfPropertyAccess, isRightSideOfQualifiedName, isSetAccessor, + isSourceElement, + isSourceFile, isStringOrNumericLiteralLike, isTagName, isTextWhiteSpaceLike, @@ -227,6 +235,7 @@ import { NodeFlags, noop, normalizePath, + normalizeSpans, NumberLiteralType, NumericLiteral, ObjectAllocator, @@ -260,6 +269,7 @@ import { RefactorTriggerReason, ReferencedSymbol, ReferenceEntry, + RegionDiagnosticsResult, Rename, RenameInfo, RenameInfoOptions, @@ -283,7 +293,9 @@ import { SignatureHelpItemsOptions, SignatureKind, singleElementArray, + skipTypeChecking, SmartSelectionRange, + some, SortedArray, SourceFile, SourceFileLike, @@ -308,7 +320,10 @@ import { TextChangeRange, TextInsertion, TextRange, + textRangeContainsTextSpan, + textRangeIntersectsWithTextSpan, TextSpan, + textSpanContainsTextRange, textSpanEnd, timestamp, TodoComment, @@ -2044,6 +2059,152 @@ export function createLanguageService( return [...semanticDiagnostics, ...declarationDiagnostics]; } + function getRegionSemanticDiagnostics(fileName: string, ranges: TextRange[]): RegionDiagnosticsResult | undefined { + synchronizeHostData(); + + const sourceFile = getValidSourceFile(fileName); + + const options = program.getCompilerOptions(); + // This is an optimization to avoid computing the nodes in the range if either + // we will skip semantic diagnostics for this file or if we already semantic diagnostics for it. + if ( + skipTypeChecking(sourceFile, options, program) || + !canIncludeBindAndCheckDiagnostics(sourceFile, options) || + program.getCachedSemanticDiagnostics(sourceFile) + ) { + return undefined; + } + + const nodes = getNodesForRanges(sourceFile, ranges); + if (!nodes) { + return undefined; + } + const checkedSpans = normalizeSpans(nodes.map(node => createTextSpanFromBounds(node.getFullStart(), node.getEnd()))); + const semanticDiagnostics = program.getSemanticDiagnostics(sourceFile, cancellationToken, nodes); + return { + diagnostics: semanticDiagnostics.slice(), + spans: checkedSpans, + }; + } + + function getNodesForRanges(file: SourceFile, ranges: TextRange[]): Node[] | undefined { + const nodes: Node[] = []; + const spans = normalizeSpans(ranges.map(range => createTextSpanFromRange(range))); + for (const span of spans) { + const nodesForSpan = getNodesForSpan(file, span); + if (!nodesForSpan) { + return undefined; + } + nodes.push(...nodesForSpan); + } + if (!nodes.length) { + return undefined; + } + return nodes; + } + + /** + * Gets nodes that overlap the given span to be partially checked. + * @returns an array of nodes that overlap the span and are source element nodes (c.f. {@link isSourceElement}), + * or undefined if a partial check would be the same as a whole file check. + */ + function getNodesForSpan(file: SourceFile, span: TextSpan): Node[] | undefined { + // Span is the whole file + if (textSpanContainsTextRange(span, file)) { + return undefined; + } + + const endToken = findTokenOnLeftOfPosition(file, textSpanEnd(span)) || file; + const enclosingNode = findAncestor(endToken, node => textRangeContainsTextSpan(node, span))!; + + const nodes: Node[] = []; + chooseOverlappingNodes(span, enclosingNode, nodes); + + if (file.end === span.start + span.length) { + nodes.push(file.endOfFileToken); + } + + // Span would include the whole file + if (some(nodes, isSourceFile)) { + return undefined; + } + + return nodes; + } + + // The algorithm is the following: + // Starting from a node that contains the whole input span, we consider its children. + // If a child node is completely contained in the input span, then it or its source element ancestor should be included. + // If a child node does not overlap the input span, it should not be included. + // The interesting case is for nodes that overlap but are not contained by the span, i.e. nodes in the span boundary. + // For those boundary nodes, if it is a block-like node (i.e. it contains statements), + // we try to filter out the child statements that do not overlap the span. + // For boundary nodes that are not block-like or class-like, + // we simply include them (or their source element ancestor). + /** @returns whether the argument node was included in the result */ + function chooseOverlappingNodes(span: TextSpan, node: Node, result: Node[]): boolean { + if (!nodeOverlapsWithSpan(node, span)) { + return false; + } + if (textSpanContainsTextRange(span, node)) { + addSourceElement(node, result); + return true; + } + if (isBlockLike(node)) { + return chooseOverlappingBlockLike(span, node, result); + } + if (isClassLike(node)) { + return chooseOverlappingClassLike(span, node, result); + } + addSourceElement(node, result); + return true; + } + + /** Similar to {@link textRangeIntersectsWithTextSpan}, but treats ends as actually exclusive. */ + function nodeOverlapsWithSpan(node: Node, span: TextSpan): boolean { + const spanEnd = span.start + span.length; + return node.pos < spanEnd && node.end > span.start; + } + + function addSourceElement(node: Node, result: Node[]): void { + while (node.parent && !isSourceElement(node)) { + node = node.parent; + } + result.push(node); + } + + function chooseOverlappingBlockLike(span: TextSpan, node: BlockLike, result: Node[]): boolean { + const childResult: Node[] = []; + const stmts = node.statements.filter(stmt => chooseOverlappingNodes(span, stmt, childResult)); + if (stmts.length === node.statements.length) { + addSourceElement(node, result); + return true; + } + result.push(...childResult); + return false; + } + + function chooseOverlappingClassLike(span: TextSpan, node: ClassLikeDeclaration, result: Node[]): boolean { + const overlaps = (n: Node) => textRangeIntersectsWithTextSpan(n, span); + if ( + node.modifiers?.some(overlaps) + || node.name && overlaps(node.name) + || node.typeParameters?.some(overlaps) + || node.heritageClauses?.some(overlaps) + ) { + addSourceElement(node, result); + return true; + } + const childResult: Node[] = []; + const members = node.members.filter(member => chooseOverlappingNodes(span, member, childResult)); + if (members.length === node.members.length) { + addSourceElement(node, result); + return true; + } + result.push(...childResult); + return false; + } + function getSuggestionDiagnostics(fileName: string): DiagnosticWithLocation[] { synchronizeHostData(); return computeSuggestionDiagnostics(getValidSourceFile(fileName), program, cancellationToken); @@ -3182,6 +3343,7 @@ export function createLanguageService( cleanupSemanticCache, getSyntacticDiagnostics, getSemanticDiagnostics, + getRegionSemanticDiagnostics, getSuggestionDiagnostics, getCompilerOptionsDiagnostics, getSyntacticClassifications, diff --git a/src/services/types.ts b/src/services/types.ts index 0dc8b87790260..cce53de46e9fc 100644 --- a/src/services/types.ts +++ b/src/services/types.ts @@ -445,6 +445,12 @@ export const enum SemanticClassificationFormat { TwentyTwenty = "2020", } +/** @internal */ +export interface RegionDiagnosticsResult { + diagnostics: Diagnostic[]; + spans: TextSpan[]; +} + // // Public services of a language service instance associated // with a language service host instance @@ -489,6 +495,12 @@ export interface LanguageService { */ getSemanticDiagnostics(fileName: string): Diagnostic[]; + /** + * Similar to {@link getSemanticDiagnostics}, but only checks the specified ranges of the file for diagnostics. + * @internal + */ + getRegionSemanticDiagnostics(fileName: string, ranges: TextRange[]): RegionDiagnosticsResult | undefined; + /** * Gets suggestion diagnostics for a specific file. These diagnostics tend to * proactively suggest refactors, as opposed to diagnostics that indicate diff --git a/src/testRunner/tests.ts b/src/testRunner/tests.ts index af34d74a1ac66..0931ba2711e2d 100644 --- a/src/testRunner/tests.ts +++ b/src/testRunner/tests.ts @@ -206,6 +206,7 @@ export * from "./unittests/tsserver/projectRootFiles.js"; export * from "./unittests/tsserver/projects.js"; export * from "./unittests/tsserver/projectsWithReferences.js"; export * from "./unittests/tsserver/refactors.js"; +export * from "./unittests/tsserver/regionDiagnostics.js"; export * from "./unittests/tsserver/reload.js"; export * from "./unittests/tsserver/reloadProjects.js"; export * from "./unittests/tsserver/rename.js"; diff --git a/src/testRunner/unittests/helpers/tsserver.ts b/src/testRunner/unittests/helpers/tsserver.ts index 7a5d133164f43..a78ec260f6e86 100644 --- a/src/testRunner/unittests/helpers/tsserver.ts +++ b/src/testRunner/unittests/helpers/tsserver.ts @@ -4,6 +4,7 @@ import { createLoggerWithInMemoryLogs, LoggerWithInMemoryLogs, } from "../../../harness/tsserverLogger.js"; +import { FileRangesRequestArgs } from "../../../server/protocol.js"; import { patchHostForBuildInfoReadWrite } from "../../_namespaces/fakes.js"; import * as Harness from "../../_namespaces/Harness.js"; import * as ts from "../../_namespaces/ts.js"; @@ -71,6 +72,7 @@ export interface TestSessionOptions extends ts.server.SessionOptions, TestTyping logger: LoggerWithInMemoryLogs; disableAutomaticTypingAcquisition?: boolean; useCancellationToken?: boolean | number; + regionDiagLineCountThreshold?: number; } export type TestSessionPartialOptionsAndHost = Partial> & Pick; export type TestSessionConstructorOptions = TestServerHost | TestSessionPartialOptionsAndHost; @@ -120,6 +122,9 @@ export class TestSession extends ts.server.Session { this, this.logger, ); + if (opts.regionDiagLineCountThreshold !== undefined) { + this.regionDiagLineCountThreshold = opts.regionDiagLineCountThreshold; + } } getProjectService() { @@ -220,6 +225,15 @@ export function textSpanFromSubstring(str: string, substring: string, options?: return ts.createTextSpan(start, substring.length); } +export function protocolTextSpanToFileRange(span: ts.server.protocol.TextSpan): ts.server.protocol.FileRange { + return { + startLine: span.start.line, + startOffset: span.start.offset, + endLine: span.end.line, + endOffset: span.end.offset, + }; +} + export function protocolFileLocationFromSubstring(file: File, substring: string, options?: SpanFromSubstringOptions): ts.server.protocol.FileLocationRequestArgs { return { file: file.path, ...protocolLocationFromSubstring(file.content, substring, options) }; } @@ -355,14 +369,22 @@ export interface VerifyGetErrRequestBase { existingTimeouts?: boolean; } export interface VerifyGetErrRequest extends VerifyGetErrRequestBase { - files: readonly (string | File)[]; + files: readonly (string | File | FileRangesRequestArgs)[]; skip?: CheckAllErrors["skip"]; } export function verifyGetErrRequest(request: VerifyGetErrRequest) { const { session, files } = request; session.executeCommandSeq({ command: ts.server.protocol.CommandTypes.Geterr, - arguments: { delay: 0, files: files.map(filePath) }, + arguments: { + delay: 0, + files: files.map(file => { + if (typeof file !== "string" && !(file as FileRangesRequestArgs).ranges) { + return filePath(file as File); + } + return file as string | FileRangesRequestArgs; + }), + }, }); checkAllErrors(request); } @@ -370,6 +392,8 @@ export function verifyGetErrRequest(request: VerifyGetErrRequest) { interface SkipErrors { semantic?: true; suggestion?: true; + /** Region semantic checking will only happen if this is */ + regionSemantic?: false; } export interface CheckAllErrors extends VerifyGetErrRequestBase { files: readonly any[]; @@ -378,6 +402,7 @@ export interface CheckAllErrors extends VerifyGetErrRequestBase { function checkAllErrors({ session, existingTimeouts, files, skip }: CheckAllErrors) { for (let i = 0; i < files.length; i++) { session.host.runQueuedTimeoutCallbacks(existingTimeouts ? session.host.getNextTimeoutId() - 1 : undefined); + if (skip?.[i]?.regionSemantic === false) session.host.runQueuedImmediateCallbacks(); if (!skip?.[i]?.semantic) session.host.runQueuedImmediateCallbacks(); if (!skip?.[i]?.suggestion) session.host.runQueuedImmediateCallbacks(); } diff --git a/src/testRunner/unittests/tsserver/regionDiagnostics.ts b/src/testRunner/unittests/tsserver/regionDiagnostics.ts new file mode 100644 index 0000000000000..9a20f7ef42739 --- /dev/null +++ b/src/testRunner/unittests/tsserver/regionDiagnostics.ts @@ -0,0 +1,270 @@ +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { + baselineTsserverLogs, + openFilesForSession, + protocolTextSpanFromSubstring, + protocolTextSpanToFileRange, + TestSession, + verifyGetErrRequest, +} from "../helpers/tsserver.js"; +import { + createServerHost, + libFile, +} from "../helpers/virtualFileSystemWithWatch.js"; + +describe("unittests:: tsserver:: regionDiagnostics", () => { + it("diagnostics for select nodes in a single file", () => { + const file1 = { + path: "/a/b/app.ts", + content: dedent` + function foo(x: number, y: string): number { + return x + y; + } + + + + foo(10, 50);`, + }; + const host = createServerHost([file1, libFile]); + const session = new TestSession({ host, regionDiagLineCountThreshold: 0 }); + + openFilesForSession([file1], session); + + verifyGetErrRequest({ + session, + files: [{ + file: file1.path, + ranges: [protocolTextSpanToFileRange(protocolTextSpanFromSubstring(file1.content, "foo(10, 50);"))], + }], + skip: [ + { regionSemantic: false }, + ], + }); + + baselineTsserverLogs("regionDiagnostics", "diagnostics for select nodes in a single file", session); + }); + + it("diagnostics for select nodes and whole file for multiple files", () => { + const file1 = { + path: "/a/b/app.ts", + content: dedent` + function add(x: number, y: string): number { + return x + y; + } + + add(10, 50);`, + }; + const file2 = { + path: "/a/b/app2.ts", + content: dedent` + function booleanNoop(b: boolean): void { + b; + return; + } + + booleanNoop("not a boolean");`, + }; + const file3 = { + path: "/a/b/app3.ts", + content: dedent` + function stringId(x: string): string { + return x; + } + + stringId("ok"); + + stringId(1000);`, + }; + + const file4 = { + path: "/a/b/app4.ts", + content: dedent` + function numberId(x: number): number { + return x; + } + + numberId(1000);`, + }; + + const files = [file1, file2, file3, file4]; + const host = createServerHost([...files, libFile]); + const session = new TestSession({ host, regionDiagLineCountThreshold: 0 }); + + openFilesForSession(files, session); + + verifyGetErrRequest({ + session, + files: [ + { + file: file1.path, + ranges: [protocolTextSpanToFileRange(protocolTextSpanFromSubstring(file1.content, "add(10, 50);"))], + }, + file2.path, + { + file: file3.path, + ranges: [protocolTextSpanToFileRange(protocolTextSpanFromSubstring(file3.content, 'stringId("ok");'))], + }, + file4.path, + ], + skip: [ + { regionSemantic: false }, + undefined, + { regionSemantic: false }, + undefined, + ], + }); + + baselineTsserverLogs("regionDiagnostics", "diagnostics for select nodes and whole file for multiple files", session); + }); + + describe("diagnostics for select nodes when files have suggestion diagnostics", () => { + const config = { + path: "/tsconfig.json", + content: jsonToReadableText({ + compilerOptions: { + allowSyntheticDefaultImports: true, + }, + }), + }; + const indexFile = { + path: "/index.ts", + content: dedent` + import add = require("./other.js"); + + add(3, "a"); + + add(1, 2);`, + }; + const otherFile = { + path: "/other.ts", + content: dedent` + function add(a: number, b: number) { + return a + b + } + + export = add;`, + }; + + it("region has suggestion diagnostics", () => { + const host = createServerHost([config, indexFile, otherFile, libFile]); + const session = new TestSession({ host, regionDiagLineCountThreshold: 0 }); + + openFilesForSession([indexFile], session); + + verifyGetErrRequest({ + session, + files: [ + { + file: indexFile.path, + ranges: [ + protocolTextSpanToFileRange( + protocolTextSpanFromSubstring( + indexFile.content, + 'import add = require("./other.js");\n\nadd(3, "a");', + ), + ), + ], + }, + ], + skip: [ + { regionSemantic: false }, + ], + }); + + baselineTsserverLogs("regionDiagnostics", "region has suggestion", session); + }); + + it("region does not have suggestion diagnostics", () => { + const host = createServerHost([config, indexFile, otherFile, libFile]); + const session = new TestSession({ host, regionDiagLineCountThreshold: 0 }); + + openFilesForSession([indexFile], session); + + verifyGetErrRequest({ + session, + files: [ + { + file: indexFile.path, + ranges: [ + protocolTextSpanToFileRange( + protocolTextSpanFromSubstring( + indexFile.content, + 'add(3, "a");\n\nadd(1, 2);', + ), + ), + ], + }, + ], + skip: [ + { regionSemantic: false }, + ], + }); + + baselineTsserverLogs("regionDiagnostics", "region does not have suggestion", session); + }); + }); + + it("region diagnostics is skipped for small file", () => { + const file1 = { + path: "/a/b/app.ts", + content: dedent` + function foo(x: number, y: string): number { + return x + y; + } + + + + foo(10, 50);`, + }; + const host = createServerHost([file1, libFile]); + const session = new TestSession({ host }); + + openFilesForSession([file1], session); + + verifyGetErrRequest({ + session, + files: [{ + file: file1.path, + ranges: [protocolTextSpanToFileRange(protocolTextSpanFromSubstring(file1.content, "foo(10, 50);"))], + }], + skip: [ + { regionSemantic: false }, + ], + }); + + baselineTsserverLogs("regionDiagnostics", "region diagnostics is skipped for small file", session); + }); + + it("region diagnostics is skipped for @ts-nocheck file", () => { + const file1 = { + path: "/a/b/app.ts", + content: dedent` + // @ts-nocheck + function foo(x: number, y: string): number { + return x + y; + } + + + + foo(10, 50);`, + }; + const host = createServerHost([file1, libFile]); + const session = new TestSession({ host, regionDiagLineCountThreshold: 0 }); + + openFilesForSession([file1], session); + + verifyGetErrRequest({ + session, + files: [{ + file: file1.path, + ranges: [protocolTextSpanToFileRange(protocolTextSpanFromSubstring(file1.content, "foo(10, 50);"))], + }], + skip: [ + { regionSemantic: false }, + ], + }); + + baselineTsserverLogs("regionDiagnostics", "region diagnostics is skipped for @ts-nocheck file", session); + }); +}); diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 1752b0ef02e32..44927b84409a2 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -584,23 +584,7 @@ declare namespace ts { } export interface ApplyCodeActionCommandResponse extends Response { } - export interface FileRangeRequestArgs extends FileRequestArgs { - /** - * The line number for the request (1-based). - */ - startLine: number; - /** - * The character offset (on the line) for the request (1-based). - */ - startOffset: number; - /** - * The line number for the request (1-based). - */ - endLine: number; - /** - * The character offset (on the line) for the request (1-based). - */ - endOffset: number; + export interface FileRangeRequestArgs extends FileRequestArgs, FileRange { } /** * Instances of this interface specify errorcodes on a specific location in a sourcefile. @@ -1866,7 +1850,7 @@ declare namespace ts { * List of file names for which to compute compiler errors. * The files will be checked in list order. */ - files: string[]; + files: (string | FileRangesRequestArgs)[]; /** * Delay in milliseconds to wait before starting to compute * errors for the files in the file list @@ -1887,6 +1871,27 @@ declare namespace ts { command: CommandTypes.Geterr; arguments: GeterrRequestArgs; } + export interface FileRange { + /** + * The line number for the request (1-based). + */ + startLine: number; + /** + * The character offset (on the line) for the request (1-based). + */ + startOffset: number; + /** + * The line number for the request (1-based). + */ + endLine: number; + /** + * The character offset (on the line) for the request (1-based). + */ + endOffset: number; + } + export interface FileRangesRequestArgs extends Pick { + ranges: FileRange[]; + } export type RequestCompletedEventName = "requestCompleted"; /** * Event that is sent when server have finished processing request with specified id. @@ -1969,8 +1974,16 @@ declare namespace ts { * An array of diagnostic information items. */ diagnostics: Diagnostic[]; + /** + * Spans where the region diagnostic was requested, if this is a region semantic diagnostic event. + */ + spans?: TextSpan[]; + /** + * Time spent computing the diagnostics, in milliseconds. + */ + duration?: number; } - export type DiagnosticEventKind = "semanticDiag" | "syntaxDiag" | "suggestionDiag"; + export type DiagnosticEventKind = "semanticDiag" | "syntaxDiag" | "suggestionDiag" | "regionSemanticDiag"; /** * Event message for DiagnosticEventKind event types. * These events provide syntactic and semantic errors for a file. @@ -3386,10 +3399,6 @@ declare namespace ts { resetRequest(requestId: number): void; } const nullCancellationToken: ServerCancellationToken; - interface PendingErrorCheck { - fileName: NormalizedPath; - project: Project; - } /** @deprecated use ts.server.protocol.CommandTypes */ type CommandNames = protocol.CommandTypes; /** @deprecated use ts.server.protocol.CommandTypes */ @@ -3460,6 +3469,7 @@ declare namespace ts { private semanticCheck; private syntacticCheck; private suggestionCheck; + private regionSemanticCheck; private sendDiagnosticsEvent; /** It is the caller's responsibility to verify that `!this.suppressDiagnosticEvents`. */ private updateErrorCheck; diff --git a/tests/baselines/reference/tsserver/cancellationT/Geterr-is-cancellable.js b/tests/baselines/reference/tsserver/cancellationT/Geterr-is-cancellable.js index e138510231d80..bbf5d0b758ce7 100644 --- a/tests/baselines/reference/tsserver/cancellationT/Geterr-is-cancellable.js +++ b/tests/baselines/reference/tsserver/cancellationT/Geterr-is-cancellable.js @@ -343,7 +343,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/a/app.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } TestServerCancellationToken:: resetRequest:: 5 is as expected @@ -406,7 +407,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/a/app.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } TestServerCancellationToken:: resetRequest:: 6 is as expected @@ -426,7 +428,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/a/app.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } TestServerCancellationToken:: resetRequest:: 6 is as expected @@ -446,7 +449,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/a/app.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -497,7 +501,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/a/app.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } TestServerCancellationToken:: resetRequest:: 7 is as expected diff --git a/tests/baselines/reference/tsserver/cancellationT/is-attached-to-request.js b/tests/baselines/reference/tsserver/cancellationT/is-attached-to-request.js index 344b7cc161bdc..a95f6452cd8fd 100644 --- a/tests/baselines/reference/tsserver/cancellationT/is-attached-to-request.js +++ b/tests/baselines/reference/tsserver/cancellationT/is-attached-to-request.js @@ -143,7 +143,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/a/b/app.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } TestServerCancellationToken:: resetRequest:: 2 is as expected @@ -163,7 +164,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/a/b/app.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } TestServerCancellationToken:: resetRequest:: 2 is as expected @@ -183,7 +185,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/a/b/app.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js index ee5b01fd8adde..2efc6443d24dc 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js @@ -370,7 +370,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -388,7 +389,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -406,7 +408,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -424,7 +427,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -442,7 +446,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -460,7 +465,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one.js index c39977bb56993..bafc7076daefd 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one.js @@ -326,7 +326,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -344,7 +345,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -362,7 +364,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -385,7 +388,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -403,7 +407,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -421,7 +426,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js index a995dc265d653..24d7dbe1a7a02 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js @@ -370,7 +370,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -388,7 +389,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -406,7 +408,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -424,7 +427,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -442,7 +446,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -460,7 +465,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one.js index 936949172fcb8..2e620852d0358 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one.js @@ -326,7 +326,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -344,7 +345,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -362,7 +364,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -385,7 +388,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -403,7 +407,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -421,7 +426,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js index c65f3014606a2..1b582f8f709b2 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js @@ -370,7 +370,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -388,7 +389,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -406,7 +408,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -424,7 +427,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -442,7 +446,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -460,7 +465,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one.js index 9a92d24ee443c..18c62a4dbcbc5 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one.js @@ -411,7 +411,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -494,7 +495,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -512,7 +514,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -535,7 +538,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -553,7 +557,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -571,7 +576,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js index 63f8f789f4743..03f88056c5e86 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js @@ -370,7 +370,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -388,7 +389,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -406,7 +408,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -424,7 +427,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -442,7 +446,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -460,7 +465,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one.js index 196383a14c6f4..b75d8b16a7cab 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one.js @@ -386,7 +386,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -404,7 +405,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -422,7 +424,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/sub/fooBar.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -470,7 +473,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -553,7 +557,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -571,7 +576,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/foo.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/configuredProjects/when-multiple-projects-are-open-detects-correct-default-project.js b/tests/baselines/reference/tsserver/configuredProjects/when-multiple-projects-are-open-detects-correct-default-project.js index 9af22e68125b2..28c3f3da49b87 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/when-multiple-projects-are-open-detects-correct-default-project.js +++ b/tests/baselines/reference/tsserver/configuredProjects/when-multiple-projects-are-open-detects-correct-default-project.js @@ -498,7 +498,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/bar/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -516,7 +517,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/bar/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -534,7 +536,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/bar/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -552,7 +555,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/foo/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -570,7 +574,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/foo/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -588,7 +593,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/foo/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-project-is-at-root-level.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-project-is-at-root-level.js index 7ef14181388bc..e826615d459a2 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-project-is-at-root-level.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-project-is-at-root-level.js @@ -309,7 +309,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/a/b/project/file1.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-project-is-not-at-root-level.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-project-is-not-at-root-level.js index 9313c836d1ea9..0be7db5d3da73 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-project-is-not-at-root-level.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-project-is-not-at-root-level.js @@ -396,7 +396,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/rootfolder/otherfolder/a/b/project/file1.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 1 diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-the-reference-map-changes.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-the-reference-map-changes.js index 4dc1a16dac4c6..68b4e95fd4fb1 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-the-reference-map-changes.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-the-reference-map-changes.js @@ -558,7 +558,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/project/file1Consumer1.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] Running: /users/username/projects/project/tsconfig.json diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-contains-only-itself.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-contains-only-itself.js index 4406910addda7..2f26e0e83da7f 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-contains-only-itself.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-contains-only-itself.js @@ -542,7 +542,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/project/file1Consumer1.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] Running: /users/username/projects/project/tsconfig.json diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-changes-in-non-root-files.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-changes-in-non-root-files.js index a62ba29489b43..f1beefdc49863 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-changes-in-non-root-files.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-changes-in-non-root-files.js @@ -469,7 +469,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/project/file1Consumer1.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] Running: /users/username/projects/project/tsconfig.json diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-non-existing-code-file.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-non-existing-code-file.js index 4bb6a1616e412..ee3354d8d337a 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-non-existing-code-file.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-non-existing-code-file.js @@ -458,7 +458,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/project/referenceFile1.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] Running: /users/username/projects/project/tsconfig.json diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-return-cascaded-affected-file-list.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-return-cascaded-affected-file-list.js index a2cfee5de9af0..94b988a444a4c 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-return-cascaded-affected-file-list.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-return-cascaded-affected-file-list.js @@ -593,7 +593,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/project/file1Consumer1.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] Running: /users/username/projects/project/tsconfig.json diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-when---outFile-is-set.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-when---outFile-is-set.js index 6199a76964c30..402f4c13359c3 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-when---outFile-is-set.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-when---outFile-is-set.js @@ -351,7 +351,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/project/a.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] Running: /users/username/projects/project/tsconfig.json diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-when-adding-new-file.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-when-adding-new-file.js index a0167cfc180f9..2bd47f2f92645 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-when-adding-new-file.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-when-adding-new-file.js @@ -341,7 +341,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/project/file1.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] Running: /users/username/projects/project/tsconfig.json diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-when-both-options-are-not-set.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-when-both-options-are-not-set.js index e64fd16b89009..a1ab5e210768c 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-when-both-options-are-not-set.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-when-both-options-are-not-set.js @@ -346,7 +346,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/project/a.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] Running: /users/username/projects/project/tsconfig.json diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk-with-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk-with-link-open.js index 4305acc3c0871..551e7ff71a533 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk-with-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk-with-link-open.js @@ -324,7 +324,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -342,7 +343,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -360,7 +362,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -461,7 +464,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -504,7 +508,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -522,7 +527,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk-with-target-and-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk-with-target-and-link-open.js index 36ba5ece74dc2..76009491922a0 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk-with-target-and-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk-with-target-and-link-open.js @@ -393,7 +393,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -411,7 +412,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -429,7 +431,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -532,7 +535,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -556,7 +560,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -574,7 +579,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk-with-target-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk-with-target-open.js index 4943a0ea6c843..28a3b522e1524 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk-with-target-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk-with-target-open.js @@ -324,7 +324,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -342,7 +343,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -360,7 +362,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -463,7 +466,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -487,7 +491,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -505,7 +510,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk.js index d04363564d778..28dde95ed57cf 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk.js @@ -255,7 +255,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -273,7 +274,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -291,7 +293,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -397,7 +400,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -441,7 +445,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -459,7 +464,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk-with-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk-with-link-open.js index 6ee3e6b394ede..faf8eb9c3ccde 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk-with-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk-with-link-open.js @@ -320,7 +320,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -338,7 +339,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -356,7 +358,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -457,7 +460,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -500,7 +504,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -518,7 +523,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk-with-target-and-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk-with-target-and-link-open.js index 333e6189a6fa1..11ce5bc82c475 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk-with-target-and-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk-with-target-and-link-open.js @@ -389,7 +389,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -407,7 +408,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -425,7 +427,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -528,7 +531,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -552,7 +556,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -570,7 +575,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk-with-target-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk-with-target-open.js index 80edb350422b3..580f74c426d92 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk-with-target-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk-with-target-open.js @@ -320,7 +320,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -338,7 +339,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -356,7 +358,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -459,7 +462,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -483,7 +487,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -501,7 +506,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk.js index 372ef85d590bd..876fc30d476d9 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk.js @@ -251,7 +251,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -269,7 +270,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -287,7 +289,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -393,7 +396,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -437,7 +441,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -455,7 +460,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-changing-module-name-with-different-casing.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-changing-module-name-with-different-casing.js index 04fba6f3fded7..6cd71ec622899 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-changing-module-name-with-different-casing.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-changing-module-name-with-different-casing.js @@ -233,7 +233,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/another.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -251,7 +252,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/another.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -269,7 +271,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/another.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -380,7 +383,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/another.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -418,7 +422,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -436,7 +441,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/another.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not-with-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not-with-link-open.js index bb85c9aa636d7..8d8b4652541f1 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not-with-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not-with-link-open.js @@ -324,7 +324,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -342,7 +343,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -360,7 +362,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -461,7 +464,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -504,7 +508,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -522,7 +527,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not-with-target-and-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not-with-target-and-link-open.js index 1a2b266ee44c4..b26bfb3291028 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not-with-target-and-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not-with-target-and-link-open.js @@ -393,7 +393,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -411,7 +412,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -429,7 +431,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -532,7 +535,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -556,7 +560,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -574,7 +579,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not-with-target-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not-with-target-open.js index d00bb806d4b64..5a3593b1e007f 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not-with-target-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not-with-target-open.js @@ -324,7 +324,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -342,7 +343,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -360,7 +362,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -463,7 +466,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -487,7 +491,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -505,7 +510,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not.js index d847f7bf5176b..8f8e4b9b38f8c 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not.js @@ -255,7 +255,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -273,7 +274,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -291,7 +293,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -397,7 +400,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -441,7 +445,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -459,7 +464,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js index 33cefd008936f..ff2dcd3fa6d3f 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js @@ -284,7 +284,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/src/struct.d.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -493,7 +494,8 @@ Info seq [hh:mm:ss:mss] event: } ] } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -568,7 +570,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -827,7 +830,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/src/struct.d.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1044,7 +1048,8 @@ Info seq [hh:mm:ss:mss] event: } ] } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1119,7 +1124,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1356,7 +1362,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/src/struct.d.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1462,7 +1469,8 @@ Info seq [hh:mm:ss:mss] event: } ] } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1509,7 +1517,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not-with-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not-with-link-open.js index 1c0ac668b60a6..8df15e5fd4a4e 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not-with-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not-with-link-open.js @@ -320,7 +320,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -338,7 +339,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -356,7 +358,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -457,7 +460,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -500,7 +504,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -518,7 +523,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not-with-target-and-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not-with-target-and-link-open.js index dcc56a63d5cb8..401acf7b68b35 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not-with-target-and-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not-with-target-and-link-open.js @@ -389,7 +389,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -407,7 +408,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -425,7 +427,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -528,7 +531,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -552,7 +556,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -570,7 +575,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not-with-target-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not-with-target-open.js index bb0a060d6e212..c511098c4b3ae 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not-with-target-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not-with-target-open.js @@ -320,7 +320,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -338,7 +339,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -356,7 +358,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -459,7 +462,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -483,7 +487,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -501,7 +506,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not.js index 6656758fb0ae3..6399706842ff2 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not.js @@ -251,7 +251,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -269,7 +270,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -287,7 +289,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -393,7 +396,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -437,7 +441,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -455,7 +460,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different-with-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different-with-link-open.js index 3ab37e3dda514..7f1e7ae26930e 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different-with-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different-with-link-open.js @@ -324,7 +324,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -356,7 +357,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -374,7 +376,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -475,7 +478,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -532,7 +536,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -550,7 +555,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different-with-target-and-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different-with-target-and-link-open.js index 2f3cf6a0376a4..5c5798efe208b 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different-with-target-and-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different-with-target-and-link-open.js @@ -393,7 +393,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -425,7 +426,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -443,7 +445,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -546,7 +549,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -584,7 +588,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -602,7 +607,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different-with-target-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different-with-target-open.js index ea0ccee3db815..628a4a4a12768 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different-with-target-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different-with-target-open.js @@ -324,7 +324,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -356,7 +357,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -374,7 +376,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -477,7 +480,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -515,7 +519,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -533,7 +538,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different.js index 5dd203bce408a..fc9b5165a6908 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different.js @@ -255,7 +255,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -287,7 +288,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -305,7 +307,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -411,7 +414,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -469,7 +473,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -487,7 +492,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different-with-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different-with-link-open.js index 836b3b564428e..8b0b20b610aa3 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different-with-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different-with-link-open.js @@ -320,7 +320,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -352,7 +353,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -370,7 +372,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -471,7 +474,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -528,7 +532,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -546,7 +551,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different-with-target-and-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different-with-target-and-link-open.js index 252abd2e8862c..3f938edfdcfca 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different-with-target-and-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different-with-target-and-link-open.js @@ -389,7 +389,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -421,7 +422,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -439,7 +441,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -542,7 +545,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -580,7 +584,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -598,7 +603,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different-with-target-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different-with-target-open.js index 279a2d287c050..95a955de5923b 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different-with-target-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different-with-target-open.js @@ -320,7 +320,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -352,7 +353,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -370,7 +372,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -473,7 +476,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -511,7 +515,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -529,7 +534,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different.js index c218ed9b562bb..21535f8d55c07 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different.js @@ -251,7 +251,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -283,7 +284,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -301,7 +303,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -407,7 +410,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -465,7 +469,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -483,7 +488,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk-with-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk-with-link-open.js index a087e7c08207e..b15c2041910a9 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk-with-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk-with-link-open.js @@ -324,7 +324,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -356,7 +357,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -374,7 +376,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -475,7 +478,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -532,7 +536,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -550,7 +555,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk-with-target-and-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk-with-target-and-link-open.js index 09dcdbc4d03b1..0029cb993dfc8 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk-with-target-and-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk-with-target-and-link-open.js @@ -393,7 +393,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -425,7 +426,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -443,7 +445,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -546,7 +549,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -584,7 +588,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -602,7 +607,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk-with-target-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk-with-target-open.js index 2848fdabc92fb..631da16643e7f 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk-with-target-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk-with-target-open.js @@ -324,7 +324,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -356,7 +357,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -374,7 +376,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -477,7 +480,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -515,7 +519,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -533,7 +538,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk.js index 388ebce51d7fd..f5bbc40f2dc3c 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk.js @@ -255,7 +255,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -287,7 +288,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -305,7 +307,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -411,7 +414,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -469,7 +473,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -487,7 +492,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk-with-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk-with-link-open.js index 0f16dfc8a9430..7f56d3fcbc84b 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk-with-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk-with-link-open.js @@ -320,7 +320,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -352,7 +353,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -370,7 +372,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -471,7 +474,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -528,7 +532,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -546,7 +551,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk-with-target-and-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk-with-target-and-link-open.js index 9a006d138e835..7674f0c81efde 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk-with-target-and-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk-with-target-and-link-open.js @@ -389,7 +389,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -421,7 +422,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -439,7 +441,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -542,7 +545,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -580,7 +584,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -598,7 +603,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk-with-target-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk-with-target-open.js index d01681ca97ca0..06f4df367ca1e 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk-with-target-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk-with-target-open.js @@ -320,7 +320,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -352,7 +353,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -370,7 +372,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -473,7 +476,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -511,7 +515,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -529,7 +534,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk.js index 0fa77100ff74c..ebb104e656af9 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk.js @@ -251,7 +251,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -283,7 +284,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -301,7 +303,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -407,7 +410,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -465,7 +469,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -483,7 +488,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not-with-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not-with-link-open.js index 96da078aee75e..aefcaa5ab0045 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not-with-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not-with-link-open.js @@ -324,7 +324,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -356,7 +357,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -374,7 +376,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -475,7 +478,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -532,7 +536,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -550,7 +555,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not-with-target-and-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not-with-target-and-link-open.js index 311f697f146a1..321d90830f344 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not-with-target-and-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not-with-target-and-link-open.js @@ -393,7 +393,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -425,7 +426,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -443,7 +445,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -546,7 +549,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -584,7 +588,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -602,7 +607,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not-with-target-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not-with-target-open.js index 9c204d60a71fd..37ad24251f333 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not-with-target-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not-with-target-open.js @@ -324,7 +324,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -356,7 +357,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -374,7 +376,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -477,7 +480,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -515,7 +519,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -533,7 +538,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not.js index 9748df0809bb4..50712ed88bfd4 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not.js @@ -255,7 +255,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -287,7 +288,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -305,7 +307,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -411,7 +414,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -469,7 +473,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1261, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -487,7 +492,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not-with-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not-with-link-open.js index 26a7b0f06c4d7..7fb7e05ea8ce0 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not-with-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not-with-link-open.js @@ -320,7 +320,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -352,7 +353,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -370,7 +372,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -471,7 +474,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -528,7 +532,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -546,7 +551,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not-with-target-and-link-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not-with-target-and-link-open.js index 81cacc3d1d5cc..dc2b6551b609d 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not-with-target-and-link-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not-with-target-and-link-open.js @@ -389,7 +389,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -421,7 +422,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -439,7 +441,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -542,7 +545,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -580,7 +584,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -598,7 +603,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not-with-target-open.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not-with-target-open.js index a997e62a2faff..a51c051816b2d 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not-with-target-open.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not-with-target-open.js @@ -320,7 +320,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -352,7 +353,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -370,7 +372,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -473,7 +476,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -511,7 +515,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -529,7 +534,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not.js index eabdb9c25171a..a2bfdc51a885e 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not.js @@ -251,7 +251,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -283,7 +284,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -301,7 +303,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -407,7 +410,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -465,7 +469,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1149, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -483,7 +488,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/works-when-renaming-file-with-different-casing.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/works-when-renaming-file-with-different-casing.js index 6efe5710a3644..49e4d4e2ee2e8 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/works-when-renaming-file-with-different-casing.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/works-when-renaming-file-with-different-casing.js @@ -233,7 +233,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/Logger.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -251,7 +252,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/Logger.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -269,7 +271,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/Logger.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -596,7 +599,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/logger.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -620,7 +624,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/logger.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -638,7 +643,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/logger.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -656,7 +662,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/another.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -674,7 +681,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/another.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -692,7 +700,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/another.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/inconsistentErrorInEditor/should-not-error.js b/tests/baselines/reference/tsserver/inconsistentErrorInEditor/should-not-error.js index ddd91459c9496..a3bcc88a84990 100644 --- a/tests/baselines/reference/tsserver/inconsistentErrorInEditor/should-not-error.js +++ b/tests/baselines/reference/tsserver/inconsistentErrorInEditor/should-not-error.js @@ -152,7 +152,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "^/untitled/ts-nul-authority/Untitled-1", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -170,7 +171,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "^/untitled/ts-nul-authority/Untitled-1", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -203,7 +205,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/inconsistentErrorInEditor2/should-not-error.js b/tests/baselines/reference/tsserver/inconsistentErrorInEditor2/should-not-error.js index 0964a87f7a5db..3b91beaf1a113 100644 --- a/tests/baselines/reference/tsserver/inconsistentErrorInEditor2/should-not-error.js +++ b/tests/baselines/reference/tsserver/inconsistentErrorInEditor2/should-not-error.js @@ -137,7 +137,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "^/untitled/ts-nul-authority/Untitled-1", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -155,7 +156,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "^/untitled/ts-nul-authority/Untitled-1", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -173,7 +175,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "^/untitled/ts-nul-authority/Untitled-1", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/moduleResolution/alternateResult.js b/tests/baselines/reference/tsserver/moduleResolution/alternateResult.js index 61fd420bfb5dd..fee551f851d87 100644 --- a/tests/baselines/reference/tsserver/moduleResolution/alternateResult.js +++ b/tests/baselines/reference/tsserver/moduleResolution/alternateResult.js @@ -581,7 +581,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/index.mts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -626,7 +627,8 @@ Info seq [hh:mm:ss:mss] event: "code": 7016, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -701,7 +703,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -918,7 +921,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/index.mts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -969,7 +973,8 @@ Info seq [hh:mm:ss:mss] event: "code": 7016, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1044,7 +1049,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1241,7 +1247,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/index.mts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1292,7 +1299,8 @@ Info seq [hh:mm:ss:mss] event: "code": 7016, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1367,7 +1375,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1574,7 +1583,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/index.mts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1625,7 +1635,8 @@ Info seq [hh:mm:ss:mss] event: "code": 7016, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1700,7 +1711,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1886,7 +1898,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/index.mts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1937,7 +1950,8 @@ Info seq [hh:mm:ss:mss] event: "code": 7016, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -2012,7 +2026,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -2201,7 +2216,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/index.mts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -2261,7 +2277,8 @@ Info seq [hh:mm:ss:mss] event: "code": 7016, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -2336,7 +2353,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -2524,7 +2542,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/index.mts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -2604,7 +2623,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/home/src/projects/project/index.mts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -2679,7 +2699,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -2913,7 +2934,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/index.mts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -3007,7 +3029,8 @@ Info seq [hh:mm:ss:mss] event: "code": 7016, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -3082,7 +3105,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -3288,7 +3312,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/index.mts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -3364,7 +3389,8 @@ Info seq [hh:mm:ss:mss] event: "code": 7016, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -3439,7 +3465,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -3682,7 +3709,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/index.mts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -3733,7 +3761,8 @@ Info seq [hh:mm:ss:mss] event: "code": 7016, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -3808,7 +3837,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -4033,7 +4063,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/index.mts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -4084,7 +4115,8 @@ Info seq [hh:mm:ss:mss] event: "code": 7016, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -4159,7 +4191,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -4394,7 +4427,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/index.mts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -4445,7 +4479,8 @@ Info seq [hh:mm:ss:mss] event: "code": 7016, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -4520,7 +4555,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -4733,7 +4769,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/index.mts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -4784,7 +4821,8 @@ Info seq [hh:mm:ss:mss] event: "code": 7016, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -4859,7 +4897,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/moduleResolution/package-json-file-is-edited-when-package-json-with-type-module-exists.js b/tests/baselines/reference/tsserver/moduleResolution/package-json-file-is-edited-when-package-json-with-type-module-exists.js index f94bb6b8dcc64..6aed9381084f9 100644 --- a/tests/baselines/reference/tsserver/moduleResolution/package-json-file-is-edited-when-package-json-with-type-module-exists.js +++ b/tests/baselines/reference/tsserver/moduleResolution/package-json-file-is-edited-when-package-json-with-type-module-exists.js @@ -377,7 +377,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -409,7 +410,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1479, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -427,7 +429,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -576,7 +579,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -594,7 +598,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -612,7 +617,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -791,7 +797,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -823,7 +830,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1479, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -841,7 +849,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1010,7 +1019,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1042,7 +1052,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1479, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1060,7 +1071,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1230,7 +1242,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1262,7 +1275,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1479, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1280,7 +1294,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/moduleResolution/package-json-file-is-edited.js b/tests/baselines/reference/tsserver/moduleResolution/package-json-file-is-edited.js index 2f8e09fc3f60e..09886675ace05 100644 --- a/tests/baselines/reference/tsserver/moduleResolution/package-json-file-is-edited.js +++ b/tests/baselines/reference/tsserver/moduleResolution/package-json-file-is-edited.js @@ -377,7 +377,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -395,7 +396,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -413,7 +415,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -561,7 +564,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -593,7 +597,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1479, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -611,7 +616,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -784,7 +790,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -816,7 +823,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1479, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -834,7 +842,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1010,7 +1019,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1028,7 +1038,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1046,7 +1057,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1222,7 +1234,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1254,7 +1267,8 @@ Info seq [hh:mm:ss:mss] event: "code": 1479, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1272,7 +1286,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/fileA.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/moduleResolution/using-referenced-project-built.js b/tests/baselines/reference/tsserver/moduleResolution/using-referenced-project-built.js index 62b6811b64a99..87dface0aca7b 100644 --- a/tests/baselines/reference/tsserver/moduleResolution/using-referenced-project-built.js +++ b/tests/baselines/reference/tsserver/moduleResolution/using-referenced-project-built.js @@ -693,7 +693,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -711,7 +712,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -729,7 +731,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -897,7 +900,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1009,7 +1013,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1027,7 +1032,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1201,7 +1207,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1295,7 +1302,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1313,7 +1321,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/moduleResolution/using-referenced-project.js b/tests/baselines/reference/tsserver/moduleResolution/using-referenced-project.js index 87191e5993968..697a963804279 100644 --- a/tests/baselines/reference/tsserver/moduleResolution/using-referenced-project.js +++ b/tests/baselines/reference/tsserver/moduleResolution/using-referenced-project.js @@ -510,7 +510,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -528,7 +529,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -546,7 +548,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -714,7 +717,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -826,7 +830,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -844,7 +849,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1018,7 +1024,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1112,7 +1119,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1130,7 +1138,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/home/src/projects/project/packages/package-b/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/openfile/when-file-makes-edits-to-add/remove-comment-directives,-they-are-handled-correcrly.js b/tests/baselines/reference/tsserver/openfile/when-file-makes-edits-to-add/remove-comment-directives,-they-are-handled-correcrly.js index e4a85b3605fa0..81ee0b5139983 100644 --- a/tests/baselines/reference/tsserver/openfile/when-file-makes-edits-to-add/remove-comment-directives,-they-are-handled-correcrly.js +++ b/tests/baselines/reference/tsserver/openfile/when-file-makes-edits-to-add/remove-comment-directives,-they-are-handled-correcrly.js @@ -136,7 +136,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/file.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -154,7 +155,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/file.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -172,7 +174,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/file.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -278,7 +281,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/file.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -316,7 +320,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2322, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -334,7 +339,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/file.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -440,7 +446,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/file.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -464,7 +471,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/file.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -482,7 +490,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/file.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/partialSemanticServer/syntactic-diagnostics-are-returned-with-no-error.js b/tests/baselines/reference/tsserver/partialSemanticServer/syntactic-diagnostics-are-returned-with-no-error.js index 090c74e4620ff..b03a2d26e045b 100644 --- a/tests/baselines/reference/tsserver/partialSemanticServer/syntactic-diagnostics-are-returned-with-no-error.js +++ b/tests/baselines/reference/tsserver/partialSemanticServer/syntactic-diagnostics-are-returned-with-no-error.js @@ -188,7 +188,8 @@ Info seq [hh:mm:ss:mss] event: } ] } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/pasteEdits/adds-paste-edits.js b/tests/baselines/reference/tsserver/pasteEdits/adds-paste-edits.js index 5f0a2b2a5a1be..639358aa7fbf5 100644 --- a/tests/baselines/reference/tsserver/pasteEdits/adds-paste-edits.js +++ b/tests/baselines/reference/tsserver/pasteEdits/adds-paste-edits.js @@ -287,7 +287,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/project/a/target.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -311,7 +312,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/project/a/target.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -329,7 +331,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/project/a/target.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/plugins/when-scriptKind-changes-for-the-external-file.js b/tests/baselines/reference/tsserver/plugins/when-scriptKind-changes-for-the-external-file.js index a6b7b5fecd667..242ab38b0e60f 100644 --- a/tests/baselines/reference/tsserver/plugins/when-scriptKind-changes-for-the-external-file.js +++ b/tests/baselines/reference/tsserver/plugins/when-scriptKind-changes-for-the-external-file.js @@ -312,7 +312,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/b.vue", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -336,7 +337,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/b.vue", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -369,7 +371,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectErrors/correct-errors-when-resolution-resolves-to-file-that-has-same-ambient-module-and-is-also-module.js b/tests/baselines/reference/tsserver/projectErrors/correct-errors-when-resolution-resolves-to-file-that-has-same-ambient-module-and-is-also-module.js index 317938aa8208d..e961cddae8ac6 100644 --- a/tests/baselines/reference/tsserver/projectErrors/correct-errors-when-resolution-resolves-to-file-that-has-same-ambient-module-and-is-also-module.js +++ b/tests/baselines/reference/tsserver/projectErrors/correct-errors-when-resolution-resolves-to-file-that-has-same-ambient-module-and-is-also-module.js @@ -248,7 +248,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/src/a.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -266,7 +267,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/users/username/projects/myproject/src/a.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -313,7 +315,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -416,7 +419,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/src/a.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -440,7 +444,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/users/username/projects/myproject/src/a.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -487,7 +492,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectErrors/folder-rename-updates-project-structure-and-reports-no-errors.js b/tests/baselines/reference/tsserver/projectErrors/folder-rename-updates-project-structure-and-reports-no-errors.js index 0735f49cea05c..d57a2b9b830d1 100644 --- a/tests/baselines/reference/tsserver/projectErrors/folder-rename-updates-project-structure-and-reports-no-errors.js +++ b/tests/baselines/reference/tsserver/projectErrors/folder-rename-updates-project-structure-and-reports-no-errors.js @@ -275,7 +275,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/a/b/projects/myproject/bar/app.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -293,7 +294,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/a/b/projects/myproject/bar/app.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -311,7 +313,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/a/b/projects/myproject/bar/app.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -500,7 +503,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/a/b/projects/myproject/bar/app.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -518,7 +522,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/a/b/projects/myproject/bar/app.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -536,7 +541,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/a/b/projects/myproject/bar/app.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-after-installation.js b/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-after-installation.js index 146b35e7b9670..86cafc9f1d271 100644 --- a/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-after-installation.js +++ b/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-after-installation.js @@ -223,7 +223,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -255,7 +256,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -273,7 +275,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -405,7 +408,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -449,7 +453,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -467,7 +472,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -560,7 +566,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -592,7 +599,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -610,7 +618,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -665,7 +674,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -697,7 +707,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -715,7 +726,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -951,7 +963,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -969,7 +982,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -987,7 +1001,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-inbetween-installation.js b/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-inbetween-installation.js index 24d60e66f0f4f..dd074cfd654ea 100644 --- a/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-inbetween-installation.js +++ b/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-inbetween-installation.js @@ -223,7 +223,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -255,7 +256,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -273,7 +275,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -455,7 +458,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -487,7 +491,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -505,7 +510,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -601,7 +607,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -633,7 +640,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -651,7 +659,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -709,7 +718,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -741,7 +751,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -759,7 +770,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -993,7 +1005,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1011,7 +1024,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1029,7 +1043,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectErrors/reports-errors-correctly-when-file-referenced-by-inferred-project-root,-is-opened-right-after-closing-the-root-file.js b/tests/baselines/reference/tsserver/projectErrors/reports-errors-correctly-when-file-referenced-by-inferred-project-root,-is-opened-right-after-closing-the-root-file.js index 84ccdba9078a7..00b043836e9db 100644 --- a/tests/baselines/reference/tsserver/projectErrors/reports-errors-correctly-when-file-referenced-by-inferred-project-root,-is-opened-right-after-closing-the-root-file.js +++ b/tests/baselines/reference/tsserver/projectErrors/reports-errors-correctly-when-file-referenced-by-inferred-project-root,-is-opened-right-after-closing-the-root-file.js @@ -527,7 +527,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/test/backend/index.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -545,7 +546,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/test/backend/index.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -563,7 +565,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/test/backend/index.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -581,7 +584,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/client/app.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -599,7 +603,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/client/app.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -617,7 +622,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/client/app.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1093,7 +1099,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/server/utilities.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1111,7 +1118,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/server/utilities.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1129,7 +1137,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/server/utilities.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -1147,7 +1156,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/client/app.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1165,7 +1175,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/client/app.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1183,7 +1194,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/client/app.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectErrors/should-not-report-incorrect-error-when-json-is-root-file-found-by-tsconfig.js b/tests/baselines/reference/tsserver/projectErrors/should-not-report-incorrect-error-when-json-is-root-file-found-by-tsconfig.js index 45c5d0465f7a3..75a02172e9bd3 100644 --- a/tests/baselines/reference/tsserver/projectErrors/should-not-report-incorrect-error-when-json-is-root-file-found-by-tsconfig.js +++ b/tests/baselines/reference/tsserver/projectErrors/should-not-report-incorrect-error-when-json-is-root-file-found-by-tsconfig.js @@ -249,7 +249,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -267,7 +268,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -285,7 +287,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectErrors/should-report-error-when-json-is-not-root-file-found-by-tsconfig.js b/tests/baselines/reference/tsserver/projectErrors/should-report-error-when-json-is-not-root-file-found-by-tsconfig.js index f19b46b3631db..5bb47ac7ee9a5 100644 --- a/tests/baselines/reference/tsserver/projectErrors/should-report-error-when-json-is-not-root-file-found-by-tsconfig.js +++ b/tests/baselines/reference/tsserver/projectErrors/should-report-error-when-json-is-not-root-file-found-by-tsconfig.js @@ -246,7 +246,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -278,7 +279,8 @@ Info seq [hh:mm:ss:mss] event: "code": 6307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -296,7 +298,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectErrors/when-opening-new-file-that-doesnt-exist-on-disk-yet-with-projectRoot.js b/tests/baselines/reference/tsserver/projectErrors/when-opening-new-file-that-doesnt-exist-on-disk-yet-with-projectRoot.js index 70fb4577399b7..71d425a28a791 100644 --- a/tests/baselines/reference/tsserver/projectErrors/when-opening-new-file-that-doesnt-exist-on-disk-yet-with-projectRoot.js +++ b/tests/baselines/reference/tsserver/projectErrors/when-opening-new-file-that-doesnt-exist-on-disk-yet-with-projectRoot.js @@ -130,7 +130,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "untitled:Untitled-1", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -175,7 +176,8 @@ Info seq [hh:mm:ss:mss] event: "code": 6053, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -193,7 +195,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "untitled:Untitled-1", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectErrors/when-opening-new-file-that-doesnt-exist-on-disk-yet-without-projectRoot.js b/tests/baselines/reference/tsserver/projectErrors/when-opening-new-file-that-doesnt-exist-on-disk-yet-without-projectRoot.js index 4fb5bdb324f22..172b525f24076 100644 --- a/tests/baselines/reference/tsserver/projectErrors/when-opening-new-file-that-doesnt-exist-on-disk-yet-without-projectRoot.js +++ b/tests/baselines/reference/tsserver/projectErrors/when-opening-new-file-that-doesnt-exist-on-disk-yet-without-projectRoot.js @@ -121,7 +121,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "untitled:Untitled-1", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -166,7 +167,8 @@ Info seq [hh:mm:ss:mss] event: "code": 6053, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -184,7 +186,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "untitled:Untitled-1", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectErrors/when-semantic-error-returns-includes-global-error-getErr.js b/tests/baselines/reference/tsserver/projectErrors/when-semantic-error-returns-includes-global-error-getErr.js index 6e8fd62d0f3ee..4d19ce9227196 100644 --- a/tests/baselines/reference/tsserver/projectErrors/when-semantic-error-returns-includes-global-error-getErr.js +++ b/tests/baselines/reference/tsserver/projectErrors/when-semantic-error-returns-includes-global-error-getErr.js @@ -211,7 +211,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/ui.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -243,7 +244,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2697, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -261,7 +263,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/ui.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectErrors/when-semantic-error-returns-includes-global-error-geterrForProject.js b/tests/baselines/reference/tsserver/projectErrors/when-semantic-error-returns-includes-global-error-geterrForProject.js index 1ba9a5dd1abd0..2bdc092776f5f 100644 --- a/tests/baselines/reference/tsserver/projectErrors/when-semantic-error-returns-includes-global-error-geterrForProject.js +++ b/tests/baselines/reference/tsserver/projectErrors/when-semantic-error-returns-includes-global-error-geterrForProject.js @@ -209,7 +209,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/ui.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -241,7 +242,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2697, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -259,7 +261,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/ui.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferenceErrors/when-options-for-dependency-project-are-different-from-usage-project.js b/tests/baselines/reference/tsserver/projectReferenceErrors/when-options-for-dependency-project-are-different-from-usage-project.js index ef4d314114fe2..43163732218b4 100644 --- a/tests/baselines/reference/tsserver/projectReferenceErrors/when-options-for-dependency-project-are-different-from-usage-project.js +++ b/tests/baselines/reference/tsserver/projectReferenceErrors/when-options-for-dependency-project-are-different-from-usage-project.js @@ -291,7 +291,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/b/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -341,7 +342,8 @@ Info seq [hh:mm:ss:mss] event: } ] } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -359,7 +361,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/home/src/projects/project/b/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -377,7 +380,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/a/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -395,7 +399,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/home/src/projects/project/a/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -413,7 +418,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/home/src/projects/project/a/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-dependency-project-is-not-open-getErr.js b/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-dependency-project-is-not-open-getErr.js index 54f79dffd1591..69407b22e0629 100644 --- a/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-dependency-project-is-not-open-getErr.js +++ b/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-dependency-project-is-not-open-getErr.js @@ -288,7 +288,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -320,7 +321,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2305, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -338,7 +340,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-dependency-project-is-not-open-geterrForProject.js b/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-dependency-project-is-not-open-geterrForProject.js index 448edc8a1fcde..092f0c4ade9b8 100644 --- a/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-dependency-project-is-not-open-geterrForProject.js +++ b/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-dependency-project-is-not-open-geterrForProject.js @@ -286,7 +286,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -318,7 +319,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2305, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -336,7 +338,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -354,7 +357,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -372,7 +376,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -390,7 +395,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -435,7 +441,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -453,7 +460,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -471,7 +479,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -489,7 +498,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -521,7 +531,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2305, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -539,7 +550,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-the-depedency-file-is-open-getErr.js b/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-the-depedency-file-is-open-getErr.js index 615557f38b449..9a32dbbc0c5ec 100644 --- a/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-the-depedency-file-is-open-getErr.js +++ b/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-the-depedency-file-is-open-getErr.js @@ -472,7 +472,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -504,7 +505,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2305, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -522,7 +524,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -540,7 +543,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -572,7 +576,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2322, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -590,7 +595,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-the-depedency-file-is-open-geterrForProject.js b/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-the-depedency-file-is-open-geterrForProject.js index ad622a01ed13c..2e037489bf702 100644 --- a/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-the-depedency-file-is-open-geterrForProject.js +++ b/tests/baselines/reference/tsserver/projectReferenceErrors/with-module-scenario-when-the-depedency-file-is-open-geterrForProject.js @@ -469,7 +469,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -501,7 +502,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2305, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -519,7 +521,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -537,7 +540,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -555,7 +559,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -573,7 +578,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -618,7 +624,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -650,7 +657,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2322, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -668,7 +676,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-dependency-project-is-not-open-getErr.js b/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-dependency-project-is-not-open-getErr.js index 16947440d553d..e745ea937748c 100644 --- a/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-dependency-project-is-not-open-getErr.js +++ b/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-dependency-project-is-not-open-getErr.js @@ -282,7 +282,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -314,7 +315,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2304, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -332,7 +334,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-dependency-project-is-not-open-geterrForProject.js b/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-dependency-project-is-not-open-geterrForProject.js index 34f5278ca23b6..2f43fdbad4615 100644 --- a/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-dependency-project-is-not-open-geterrForProject.js +++ b/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-dependency-project-is-not-open-geterrForProject.js @@ -280,7 +280,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -312,7 +313,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2304, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -330,7 +332,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -348,7 +351,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -366,7 +370,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -384,7 +389,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -429,7 +435,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -447,7 +454,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -465,7 +473,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -483,7 +492,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -515,7 +525,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2304, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -533,7 +544,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-the-depedency-file-is-open-getErr.js b/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-the-depedency-file-is-open-getErr.js index 47ad1ac9a31e7..c53848bd01f9e 100644 --- a/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-the-depedency-file-is-open-getErr.js +++ b/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-the-depedency-file-is-open-getErr.js @@ -464,7 +464,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -496,7 +497,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2304, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -514,7 +516,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -532,7 +535,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -564,7 +568,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2322, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -582,7 +587,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-the-depedency-file-is-open-geterrForProject.js b/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-the-depedency-file-is-open-geterrForProject.js index 1eef495b8678a..19c960ee85c80 100644 --- a/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-the-depedency-file-is-open-geterrForProject.js +++ b/tests/baselines/reference/tsserver/projectReferenceErrors/with-non-module-when-the-depedency-file-is-open-geterrForProject.js @@ -461,7 +461,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -493,7 +494,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2304, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -511,7 +513,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/usage/usage.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -529,7 +532,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -547,7 +551,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -565,7 +570,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -610,7 +616,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -642,7 +649,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2322, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -660,7 +668,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/dependency/fns.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built-with-preserveSymlinks.js index ca03320c57f32..ab3feb351ffb1 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built-with-preserveSymlinks.js @@ -498,7 +498,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -516,7 +517,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -534,7 +536,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -650,7 +653,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -674,7 +678,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -692,7 +697,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built.js index 8e191c1226dd3..50beaba344664 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built.js @@ -493,7 +493,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -511,7 +512,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -529,7 +531,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -645,7 +648,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -669,7 +673,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -687,7 +692,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-not-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-not-built-with-preserveSymlinks.js index 1b5b25cf59221..54097c362fce4 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-not-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-not-built-with-preserveSymlinks.js @@ -340,7 +340,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -358,7 +359,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -376,7 +378,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -492,7 +495,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -516,7 +520,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -534,7 +539,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-not-built.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-not-built.js index d5837a200703b..ccc740aac534d 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-not-built.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-not-built.js @@ -335,7 +335,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -353,7 +354,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -371,7 +373,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -487,7 +490,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -511,7 +515,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -529,7 +534,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js index ebaaf456d96fb..8e1936d20ebbf 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js @@ -498,7 +498,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -516,7 +517,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -534,7 +536,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -650,7 +653,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -674,7 +678,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -692,7 +697,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built.js index d188805184879..2c512e85abe76 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built.js @@ -493,7 +493,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -511,7 +512,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -529,7 +531,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -645,7 +648,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -669,7 +673,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -687,7 +692,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-not-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-not-built-with-preserveSymlinks.js index 939b7db156772..b1947590e8a3b 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-not-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-not-built-with-preserveSymlinks.js @@ -340,7 +340,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -358,7 +359,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -376,7 +378,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -492,7 +495,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -516,7 +520,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -534,7 +539,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-not-built.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-not-built.js index 3a2fc45498bab..3a27380d43b44 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-not-built.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-not-built.js @@ -335,7 +335,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -353,7 +354,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -371,7 +373,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -487,7 +490,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -511,7 +515,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -529,7 +534,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built-with-preserveSymlinks.js index 99a6b2b5d9eaa..a2e102a924a87 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built-with-preserveSymlinks.js @@ -491,7 +491,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -509,7 +510,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -527,7 +529,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -643,7 +646,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -667,7 +671,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -685,7 +690,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built.js index 07a1797cb3da5..85feec24c3f4d 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built.js @@ -486,7 +486,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -504,7 +505,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -522,7 +524,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -638,7 +641,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -662,7 +666,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -680,7 +685,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-not-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-not-built-with-preserveSymlinks.js index cdb00d47d4eea..ddde60ff753bc 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-not-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-not-built-with-preserveSymlinks.js @@ -333,7 +333,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -351,7 +352,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -369,7 +371,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -485,7 +488,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -509,7 +513,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -527,7 +532,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-not-built.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-not-built.js index fb17c54385746..0e5ecc2854447 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-not-built.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-not-built.js @@ -328,7 +328,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -346,7 +347,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -364,7 +366,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -480,7 +483,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -504,7 +508,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -522,7 +527,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js index 26e1b764f254b..bb26384190d20 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js @@ -491,7 +491,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -509,7 +510,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -527,7 +529,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -643,7 +646,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -667,7 +671,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -685,7 +690,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built.js index 663bc04850574..722cd862ebb7e 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built.js @@ -486,7 +486,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -504,7 +505,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -522,7 +524,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -638,7 +641,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -662,7 +666,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -680,7 +685,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-not-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-not-built-with-preserveSymlinks.js index 7f3c8c786f344..afca57d160ee4 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-not-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-not-built-with-preserveSymlinks.js @@ -333,7 +333,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -351,7 +352,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -369,7 +371,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -485,7 +488,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -509,7 +513,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -527,7 +532,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-not-built.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-not-built.js index 6f2061ca8f50a..50c197765a36d 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-not-built.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-not-built.js @@ -328,7 +328,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -346,7 +347,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -364,7 +366,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -480,7 +483,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -504,7 +508,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -522,7 +527,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/A/src/test.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/project-is-directly-referenced-by-solution.js b/tests/baselines/reference/tsserver/projectReferences/project-is-directly-referenced-by-solution.js index 39aefd4f90ea0..5884f203d9e9e 100644 --- a/tests/baselines/reference/tsserver/projectReferences/project-is-directly-referenced-by-solution.js +++ b/tests/baselines/reference/tsserver/projectReferences/project-is-directly-referenced-by-solution.js @@ -410,7 +410,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -428,7 +429,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -446,7 +448,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/project-is-indirectly-referenced-by-solution.js b/tests/baselines/reference/tsserver/projectReferences/project-is-indirectly-referenced-by-solution.js index 4d5ac98cd4422..895a42e925743 100644 --- a/tests/baselines/reference/tsserver/projectReferences/project-is-indirectly-referenced-by-solution.js +++ b/tests/baselines/reference/tsserver/projectReferences/project-is-indirectly-referenced-by-solution.js @@ -501,7 +501,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -519,7 +520,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -537,7 +539,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/referencing-const-enum-from-referenced-project-with-preserveConstEnums.js b/tests/baselines/reference/tsserver/projectReferences/referencing-const-enum-from-referenced-project-with-preserveConstEnums.js index 822a96c0ac921..cb2dcfd311395 100644 --- a/tests/baselines/reference/tsserver/projectReferences/referencing-const-enum-from-referenced-project-with-preserveConstEnums.js +++ b/tests/baselines/reference/tsserver/projectReferences/referencing-const-enum-from-referenced-project-with-preserveConstEnums.js @@ -285,7 +285,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/project/src/project/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -303,7 +304,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/project/src/project/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -321,7 +323,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/project/src/project/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-found-is-not-solution-but-references-open-file-through-project-reference.js b/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-found-is-not-solution-but-references-open-file-through-project-reference.js index 6ae1386c5f88f..3c81ea0308c8e 100644 --- a/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-found-is-not-solution-but-references-open-file-through-project-reference.js +++ b/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-found-is-not-solution-but-references-open-file-through-project-reference.js @@ -452,7 +452,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -470,7 +471,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -488,7 +490,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-is-indirectly-referenced-by-solution.js b/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-is-indirectly-referenced-by-solution.js index c424fdb674630..74b7a060d23e2 100644 --- a/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-is-indirectly-referenced-by-solution.js +++ b/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-is-indirectly-referenced-by-solution.js @@ -552,7 +552,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -570,7 +571,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -588,7 +590,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-finds-default-project.js b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-finds-default-project.js index eed9c4b539974..2a34d55ee6497 100644 --- a/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-finds-default-project.js +++ b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-finds-default-project.js @@ -338,7 +338,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/app/Component-demos.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -370,7 +371,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -388,7 +390,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/home/src/projects/project/app/Component-demos.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projectReferences/when-the-referenced-projects-have-allowJs-and-emitDeclarationOnly.js b/tests/baselines/reference/tsserver/projectReferences/when-the-referenced-projects-have-allowJs-and-emitDeclarationOnly.js index 8715c32729f09..a7379260df65d 100644 --- a/tests/baselines/reference/tsserver/projectReferences/when-the-referenced-projects-have-allowJs-and-emitDeclarationOnly.js +++ b/tests/baselines/reference/tsserver/projectReferences/when-the-referenced-projects-have-allowJs-and-emitDeclarationOnly.js @@ -336,7 +336,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/user/username/projects/myproject/packages/consumer/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -368,7 +369,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2554, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -386,7 +388,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/user/username/projects/myproject/packages/consumer/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/projects/handles-delayed-directory-watch-invoke-on-file-creation.js b/tests/baselines/reference/tsserver/projects/handles-delayed-directory-watch-invoke-on-file-creation.js index 3100eef882fd0..0847db870c271 100644 --- a/tests/baselines/reference/tsserver/projects/handles-delayed-directory-watch-invoke-on-file-creation.js +++ b/tests/baselines/reference/tsserver/projects/handles-delayed-directory-watch-invoke-on-file-creation.js @@ -774,7 +774,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/project/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -847,7 +848,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/users/username/projects/project/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -865,7 +867,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/project/b.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 0 @@ -888,7 +891,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/project/sub/a.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 2 @@ -906,7 +910,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/users/username/projects/project/sub/a.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -924,7 +929,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/project/sub/a.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/regionDiagnostics/diagnostics-for-select-nodes-and-whole-file-for-multiple-files.js b/tests/baselines/reference/tsserver/regionDiagnostics/diagnostics-for-select-nodes-and-whole-file-for-multiple-files.js new file mode 100644 index 0000000000000..d4eb7e191af18 --- /dev/null +++ b/tests/baselines/reference/tsserver/regionDiagnostics/diagnostics-for-select-nodes-and-whole-file-for-multiple-files.js @@ -0,0 +1,761 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/a/b/app.ts] +function add(x: number, y: string): number { + return x + y; +} + +add(10, 50); + +//// [/a/b/app2.ts] +function booleanNoop(b: boolean): void { + b; + return; +} + +booleanNoop("not a boolean"); + +//// [/a/b/app3.ts] +function stringId(x: string): string { + return x; +} + +stringId("ok"); + +stringId(1000); + +//// [/a/b/app4.ts] +function numberId(x: number): number { + return x; +} + +numberId(1000); + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/a/b/app.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/app.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /a/b/app.ts SVC-1-0 "function add(x: number, y: string): number {\n return x + y;\n}\n\nadd(10, 50);" + + + ../lib/lib.d.ts + Default library for target 'es5' + app.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /a/b/app.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/b/app.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/a/b/app2.ts" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/app2.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /a/b/app2.ts SVC-1-0 "function booleanNoop(b: boolean): void {\n b;\n return;\n}\n\nbooleanNoop(\"not a boolean\");" + + + ../lib/lib.d.ts + Default library for target 'es5' + app2.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /a/b/app.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileName: /a/b/app2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/dev/null/inferredProject2* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/b/app.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/a/b/app2.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /dev/null/inferredProject1* + /dev/null/inferredProject2* *new* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/a/b/app3.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/app3.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject3* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject3* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /a/b/app3.ts SVC-1-0 "function stringId(x: string): string {\n return x;\n}\n\nstringId(\"ok\");\n\nstringId(1000);" + + + ../lib/lib.d.ts + Default library for target 'es5' + app3.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /a/b/app.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileName: /a/b/app2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] FileName: /a/b/app3.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject3* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/dev/null/inferredProject2* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/dev/null/inferredProject3* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/b/app.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/a/b/app2.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* +/a/b/app3.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject3* *default* +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 3 *changed* + /dev/null/inferredProject1* + /dev/null/inferredProject2* + /dev/null/inferredProject3* *new* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/a/b/app4.ts" + }, + "seq": 4, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/app4.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject4* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject4* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject4*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /a/b/app4.ts SVC-1-0 "function numberId(x: number): number {\n return x;\n}\n\nnumberId(1000);" + + + ../lib/lib.d.ts + Default library for target 'es5' + app4.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject4*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /a/b/app.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileName: /a/b/app2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] FileName: /a/b/app3.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject3* +Info seq [hh:mm:ss:mss] FileName: /a/b/app4.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject4* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/dev/null/inferredProject2* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/dev/null/inferredProject3* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/dev/null/inferredProject4* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/b/app.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/a/b/app2.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* +/a/b/app3.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject3* *default* +/a/b/app4.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject4* *default* +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 4 *changed* + /dev/null/inferredProject1* + /dev/null/inferredProject2* + /dev/null/inferredProject3* + /dev/null/inferredProject4* *new* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + { + "file": "/a/b/app.ts", + "ranges": [ + { + "startLine": 5, + "startOffset": 1, + "endLine": 5, + "endOffset": 13 + } + ] + }, + "/a/b/app2.ts", + { + "file": "/a/b/app3.ts", + "ranges": [ + { + "startLine": 5, + "startOffset": 1, + "endLine": 5, + "endOffset": 16 + } + ] + }, + "/a/b/app4.ts" + ] + }, + "seq": 5, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Timeout callback:: count: 1 +1: checkOne *new* + +Before running Timeout callback:: count: 1 +1: checkOne + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/a/b/app.ts", + "diagnostics": [], + "duration": * + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +1: regionSemanticCheck *new* + +Before running Immedidate callback:: count: 1 +1: regionSemanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "regionSemanticDiag", + "body": { + "file": "/a/b/app.ts", + "diagnostics": [ + { + "start": { + "line": 5, + "offset": 9 + }, + "end": { + "line": 5, + "offset": 11 + }, + "text": "Argument of type 'number' is not assignable to parameter of type 'string'.", + "code": 2345, + "category": "error" + } + ], + "spans": [ + { + "start": { + "line": 3, + "offset": 2 + }, + "end": { + "line": 5, + "offset": 13 + } + } + ], + "duration": * + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +2: semanticCheck *new* + +Before running Immedidate callback:: count: 1 +2: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/a/b/app.ts", + "diagnostics": [ + { + "start": { + "line": 2, + "offset": 5 + }, + "end": { + "line": 2, + "offset": 11 + }, + "text": "Type 'string' is not assignable to type 'number'.", + "code": 2322, + "category": "error" + }, + { + "start": { + "line": 5, + "offset": 9 + }, + "end": { + "line": 5, + "offset": 11 + }, + "text": "Argument of type 'number' is not assignable to parameter of type 'string'.", + "code": 2345, + "category": "error" + } + ], + "duration": * + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +3: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +3: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/a/b/app.ts", + "diagnostics": [], + "duration": * + } + } +After running Immedidate callback:: count: 0 + +Timeout callback:: count: 1 +2: checkOne *new* + +Before running Timeout callback:: count: 1 +2: checkOne + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/a/b/app2.ts", + "diagnostics": [], + "duration": * + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +4: semanticCheck *new* + +Before running Immedidate callback:: count: 1 +4: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/a/b/app2.ts", + "diagnostics": [ + { + "start": { + "line": 6, + "offset": 13 + }, + "end": { + "line": 6, + "offset": 28 + }, + "text": "Argument of type 'string' is not assignable to parameter of type 'boolean'.", + "code": 2345, + "category": "error" + } + ], + "duration": * + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +5: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +5: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/a/b/app2.ts", + "diagnostics": [], + "duration": * + } + } +After running Immedidate callback:: count: 0 + +Timeout callback:: count: 1 +3: checkOne *new* + +Before running Timeout callback:: count: 1 +3: checkOne + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/a/b/app3.ts", + "diagnostics": [], + "duration": * + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +6: regionSemanticCheck *new* + +Before running Immedidate callback:: count: 1 +6: regionSemanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "regionSemanticDiag", + "body": { + "file": "/a/b/app3.ts", + "diagnostics": [], + "spans": [ + { + "start": { + "line": 3, + "offset": 2 + }, + "end": { + "line": 5, + "offset": 16 + } + } + ], + "duration": * + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +7: semanticCheck *new* + +Before running Immedidate callback:: count: 1 +7: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/a/b/app3.ts", + "diagnostics": [ + { + "start": { + "line": 7, + "offset": 10 + }, + "end": { + "line": 7, + "offset": 14 + }, + "text": "Argument of type 'number' is not assignable to parameter of type 'string'.", + "code": 2345, + "category": "error" + } + ], + "duration": * + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +8: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +8: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/a/b/app3.ts", + "diagnostics": [], + "duration": * + } + } +After running Immedidate callback:: count: 0 + +Timeout callback:: count: 1 +4: checkOne *new* + +Before running Timeout callback:: count: 1 +4: checkOne + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/a/b/app4.ts", + "diagnostics": [], + "duration": * + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +9: semanticCheck *new* + +Before running Immedidate callback:: count: 1 +9: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/a/b/app4.ts", + "diagnostics": [], + "duration": * + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +10: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +10: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/a/b/app4.ts", + "diagnostics": [], + "duration": * + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 5 + } + } +After running Immedidate callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/regionDiagnostics/diagnostics-for-select-nodes-in-a-single-file.js b/tests/baselines/reference/tsserver/regionDiagnostics/diagnostics-for-select-nodes-in-a-single-file.js new file mode 100644 index 0000000000000..a91f039f3a6b8 --- /dev/null +++ b/tests/baselines/reference/tsserver/regionDiagnostics/diagnostics-for-select-nodes-in-a-single-file.js @@ -0,0 +1,250 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/a/b/app.ts] +function foo(x: number, y: string): number { + return x + y; +} + + + +foo(10, 50); + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/a/b/app.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/app.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /a/b/app.ts SVC-1-0 "function foo(x: number, y: string): number {\n return x + y;\n}\n\n\n\nfoo(10, 50);" + + + ../lib/lib.d.ts + Default library for target 'es5' + app.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /a/b/app.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/b/app.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + { + "file": "/a/b/app.ts", + "ranges": [ + { + "startLine": 7, + "startOffset": 1, + "endLine": 7, + "endOffset": 13 + } + ] + } + ] + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Timeout callback:: count: 1 +1: checkOne *new* + +Before running Timeout callback:: count: 1 +1: checkOne + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/a/b/app.ts", + "diagnostics": [], + "duration": * + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +1: regionSemanticCheck *new* + +Before running Immedidate callback:: count: 1 +1: regionSemanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "regionSemanticDiag", + "body": { + "file": "/a/b/app.ts", + "diagnostics": [ + { + "start": { + "line": 7, + "offset": 9 + }, + "end": { + "line": 7, + "offset": 11 + }, + "text": "Argument of type 'number' is not assignable to parameter of type 'string'.", + "code": 2345, + "category": "error" + } + ], + "spans": [ + { + "start": { + "line": 3, + "offset": 2 + }, + "end": { + "line": 7, + "offset": 13 + } + } + ], + "duration": * + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +2: semanticCheck *new* + +Before running Immedidate callback:: count: 1 +2: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/a/b/app.ts", + "diagnostics": [ + { + "start": { + "line": 2, + "offset": 5 + }, + "end": { + "line": 2, + "offset": 11 + }, + "text": "Type 'string' is not assignable to type 'number'.", + "code": 2322, + "category": "error" + }, + { + "start": { + "line": 7, + "offset": 9 + }, + "end": { + "line": 7, + "offset": 11 + }, + "text": "Argument of type 'number' is not assignable to parameter of type 'string'.", + "code": 2345, + "category": "error" + } + ], + "duration": * + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +3: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +3: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/a/b/app.ts", + "diagnostics": [], + "duration": * + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 2 + } + } +After running Immedidate callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/regionDiagnostics/region-diagnostics-is-skipped-for-@ts-nocheck-file.js b/tests/baselines/reference/tsserver/regionDiagnostics/region-diagnostics-is-skipped-for-@ts-nocheck-file.js new file mode 100644 index 0000000000000..868ad3d2dc122 --- /dev/null +++ b/tests/baselines/reference/tsserver/regionDiagnostics/region-diagnostics-is-skipped-for-@ts-nocheck-file.js @@ -0,0 +1,187 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/a/b/app.ts] +// @ts-nocheck +function foo(x: number, y: string): number { + return x + y; +} + + + +foo(10, 50); + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/a/b/app.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/app.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /a/b/app.ts SVC-1-0 "// @ts-nocheck\nfunction foo(x: number, y: string): number {\n return x + y;\n}\n\n\n\nfoo(10, 50);" + + + ../lib/lib.d.ts + Default library for target 'es5' + app.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /a/b/app.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/b/app.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + { + "file": "/a/b/app.ts", + "ranges": [ + { + "startLine": 8, + "startOffset": 1, + "endLine": 8, + "endOffset": 13 + } + ] + } + ] + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Timeout callback:: count: 1 +1: checkOne *new* + +Before running Timeout callback:: count: 1 +1: checkOne + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/a/b/app.ts", + "diagnostics": [], + "duration": * + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +1: regionSemanticCheck *new* + +Before running Immedidate callback:: count: 1 +1: regionSemanticCheck + +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +2: semanticCheck *new* + +Before running Immedidate callback:: count: 1 +2: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/a/b/app.ts", + "diagnostics": [], + "duration": * + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +3: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +3: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/a/b/app.ts", + "diagnostics": [], + "duration": * + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 2 + } + } +After running Immedidate callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/regionDiagnostics/region-diagnostics-is-skipped-for-small-file.js b/tests/baselines/reference/tsserver/regionDiagnostics/region-diagnostics-is-skipped-for-small-file.js new file mode 100644 index 0000000000000..6b3b3d2c17a9f --- /dev/null +++ b/tests/baselines/reference/tsserver/regionDiagnostics/region-diagnostics-is-skipped-for-small-file.js @@ -0,0 +1,213 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/a/b/app.ts] +function foo(x: number, y: string): number { + return x + y; +} + + + +foo(10, 50); + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/a/b/app.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/app.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /a/b/app.ts SVC-1-0 "function foo(x: number, y: string): number {\n return x + y;\n}\n\n\n\nfoo(10, 50);" + + + ../lib/lib.d.ts + Default library for target 'es5' + app.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /a/b/app.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/b/app.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + { + "file": "/a/b/app.ts", + "ranges": [ + { + "startLine": 7, + "startOffset": 1, + "endLine": 7, + "endOffset": 13 + } + ] + } + ] + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Timeout callback:: count: 1 +1: checkOne *new* + +Before running Timeout callback:: count: 1 +1: checkOne + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/a/b/app.ts", + "diagnostics": [], + "duration": * + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +1: regionSemanticCheck *new* + +Before running Immedidate callback:: count: 1 +1: regionSemanticCheck + +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +2: semanticCheck *new* + +Before running Immedidate callback:: count: 1 +2: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/a/b/app.ts", + "diagnostics": [ + { + "start": { + "line": 2, + "offset": 5 + }, + "end": { + "line": 2, + "offset": 11 + }, + "text": "Type 'string' is not assignable to type 'number'.", + "code": 2322, + "category": "error" + }, + { + "start": { + "line": 7, + "offset": 9 + }, + "end": { + "line": 7, + "offset": 11 + }, + "text": "Argument of type 'number' is not assignable to parameter of type 'string'.", + "code": 2345, + "category": "error" + } + ], + "duration": * + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +3: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +3: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/a/b/app.ts", + "diagnostics": [], + "duration": * + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 2 + } + } +After running Immedidate callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/regionDiagnostics/region-does-not-have-suggestion.js b/tests/baselines/reference/tsserver/regionDiagnostics/region-does-not-have-suggestion.js new file mode 100644 index 0000000000000..0e850f4d9ef21 --- /dev/null +++ b/tests/baselines/reference/tsserver/regionDiagnostics/region-does-not-have-suggestion.js @@ -0,0 +1,368 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/tsconfig.json] +{ + "compilerOptions": { + "allowSyntheticDefaultImports": true + } +} + +//// [/index.ts] +import add = require("./other.js"); + +add(3, "a"); + +add(1, 2); + +//// [/other.ts] +function add(a: number, b: number) { + return a + b +} + +export = add; + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/index.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /index.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /index.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/index.ts", + "/other.ts", + "/a/lib/lib.d.ts" + ], + "options": { + "allowSyntheticDefaultImports": true, + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /other.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /other.ts Text-1 "function add(a: number, b: number) {\n return a + b\n}\n\nexport = add;" + /index.ts SVC-1-0 "import add = require(\"./other.js\");\n\nadd(3, \"a\");\n\nadd(1, 2);" + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + + + other.ts + Imported via "./other.js" from file 'index.ts' + Matched by default include pattern '**/*' + index.ts + Matched by default include pattern '**/*' + a/lib/lib.d.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "aace87d7c1572ff43c6978074161b586788b4518c7a9d06c79c03e613b6ce5a3", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 2, + "tsSize": 131, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "allowSyntheticDefaultImports": true + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/index.ts", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /index.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/other.ts: *new* + {} +/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/: *new* + {} + +Projects:: +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/index.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* +/other.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + { + "file": "/index.ts", + "ranges": [ + { + "startLine": 3, + "startOffset": 1, + "endLine": 5, + "endOffset": 11 + } + ] + } + ] + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Timeout callback:: count: 1 +1: checkOne *new* + +Before running Timeout callback:: count: 1 +1: checkOne + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/index.ts", + "diagnostics": [], + "duration": * + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +1: regionSemanticCheck *new* + +Before running Immedidate callback:: count: 1 +1: regionSemanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "regionSemanticDiag", + "body": { + "file": "/index.ts", + "diagnostics": [ + { + "start": { + "line": 3, + "offset": 8 + }, + "end": { + "line": 3, + "offset": 11 + }, + "text": "Argument of type 'string' is not assignable to parameter of type 'number'.", + "code": 2345, + "category": "error" + } + ], + "spans": [ + { + "start": { + "line": 1, + "offset": 36 + }, + "end": { + "line": 5, + "offset": 11 + } + } + ], + "duration": * + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +2: semanticCheck *new* + +Before running Immedidate callback:: count: 1 +2: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/index.ts", + "diagnostics": [ + { + "start": { + "line": 3, + "offset": 8 + }, + "end": { + "line": 3, + "offset": 11 + }, + "text": "Argument of type 'string' is not assignable to parameter of type 'number'.", + "code": 2345, + "category": "error" + } + ], + "duration": * + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +3: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +3: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/index.ts", + "diagnostics": [ + { + "start": { + "line": 1, + "offset": 8 + }, + "end": { + "line": 1, + "offset": 11 + }, + "text": "Import may be converted to a default import.", + "code": 80003, + "category": "suggestion" + } + ], + "duration": * + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 2 + } + } +After running Immedidate callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/regionDiagnostics/region-has-suggestion.js b/tests/baselines/reference/tsserver/regionDiagnostics/region-has-suggestion.js new file mode 100644 index 0000000000000..76d066ea64990 --- /dev/null +++ b/tests/baselines/reference/tsserver/regionDiagnostics/region-has-suggestion.js @@ -0,0 +1,368 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/tsconfig.json] +{ + "compilerOptions": { + "allowSyntheticDefaultImports": true + } +} + +//// [/index.ts] +import add = require("./other.js"); + +add(3, "a"); + +add(1, 2); + +//// [/other.ts] +function add(a: number, b: number) { + return a + b +} + +export = add; + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/index.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /index.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /index.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/index.ts", + "/other.ts", + "/a/lib/lib.d.ts" + ], + "options": { + "allowSyntheticDefaultImports": true, + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /other.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /other.ts Text-1 "function add(a: number, b: number) {\n return a + b\n}\n\nexport = add;" + /index.ts SVC-1-0 "import add = require(\"./other.js\");\n\nadd(3, \"a\");\n\nadd(1, 2);" + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + + + other.ts + Imported via "./other.js" from file 'index.ts' + Matched by default include pattern '**/*' + index.ts + Matched by default include pattern '**/*' + a/lib/lib.d.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "aace87d7c1572ff43c6978074161b586788b4518c7a9d06c79c03e613b6ce5a3", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 2, + "tsSize": 131, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "allowSyntheticDefaultImports": true + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/index.ts", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /index.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/other.ts: *new* + {} +/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/: *new* + {} + +Projects:: +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/index.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* +/other.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + { + "file": "/index.ts", + "ranges": [ + { + "startLine": 1, + "startOffset": 1, + "endLine": 3, + "endOffset": 13 + } + ] + } + ] + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Timeout callback:: count: 1 +1: checkOne *new* + +Before running Timeout callback:: count: 1 +1: checkOne + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/index.ts", + "diagnostics": [], + "duration": * + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +1: regionSemanticCheck *new* + +Before running Immedidate callback:: count: 1 +1: regionSemanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "regionSemanticDiag", + "body": { + "file": "/index.ts", + "diagnostics": [ + { + "start": { + "line": 3, + "offset": 8 + }, + "end": { + "line": 3, + "offset": 11 + }, + "text": "Argument of type 'string' is not assignable to parameter of type 'number'.", + "code": 2345, + "category": "error" + } + ], + "spans": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 3, + "offset": 13 + } + } + ], + "duration": * + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +2: semanticCheck *new* + +Before running Immedidate callback:: count: 1 +2: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/index.ts", + "diagnostics": [ + { + "start": { + "line": 3, + "offset": 8 + }, + "end": { + "line": 3, + "offset": 11 + }, + "text": "Argument of type 'string' is not assignable to parameter of type 'number'.", + "code": 2345, + "category": "error" + } + ], + "duration": * + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +3: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +3: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/index.ts", + "diagnostics": [ + { + "start": { + "line": 1, + "offset": 8 + }, + "end": { + "line": 1, + "offset": 11 + }, + "text": "Import may be converted to a default import.", + "code": 80003, + "category": "suggestion" + } + ], + "duration": * + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 2 + } + } +After running Immedidate callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/resolutionCache/disable-suggestion-diagnostics.js b/tests/baselines/reference/tsserver/resolutionCache/disable-suggestion-diagnostics.js index e3921fce99c6b..9c97b4c9dd491 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/disable-suggestion-diagnostics.js +++ b/tests/baselines/reference/tsserver/resolutionCache/disable-suggestion-diagnostics.js @@ -257,7 +257,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/a.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -275,7 +276,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/a.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/resolutionCache/npm-install-@types-works.js b/tests/baselines/reference/tsserver/resolutionCache/npm-install-@types-works.js index 1fced67fc6b7b..cbffb916cedd5 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/npm-install-@types-works.js +++ b/tests/baselines/reference/tsserver/resolutionCache/npm-install-@types-works.js @@ -135,7 +135,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/a/b/projects/temp/a.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -167,7 +168,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -185,7 +187,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/a/b/projects/temp/a.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/resolutionCache/suggestion-diagnostics.js b/tests/baselines/reference/tsserver/resolutionCache/suggestion-diagnostics.js index 5f27d805a0eef..8a2af58e8f9df 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/suggestion-diagnostics.js +++ b/tests/baselines/reference/tsserver/resolutionCache/suggestion-diagnostics.js @@ -217,7 +217,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/a.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -235,7 +236,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/a.js", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -268,7 +270,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-compiles-from-sources.js b/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-compiles-from-sources.js index 59b3abc7b78d4..dd980354c32e3 100644 --- a/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-compiles-from-sources.js +++ b/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-compiles-from-sources.js @@ -258,7 +258,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -290,7 +291,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -308,7 +310,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -549,7 +552,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -567,7 +571,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -585,7 +590,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-has-node_modules-setup-but-doesnt-have-modules-in-typings-folder-and-then-recompiles.js b/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-has-node_modules-setup-but-doesnt-have-modules-in-typings-folder-and-then-recompiles.js index cea821cfa3e6c..01e4f127ed392 100644 --- a/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-has-node_modules-setup-but-doesnt-have-modules-in-typings-folder-and-then-recompiles.js +++ b/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-has-node_modules-setup-but-doesnt-have-modules-in-typings-folder-and-then-recompiles.js @@ -266,7 +266,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -298,7 +299,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -316,7 +318,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -522,7 +525,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -540,7 +544,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -558,7 +563,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-recompiles-after-deleting-generated-folders.js b/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-recompiles-after-deleting-generated-folders.js index 5da7424475103..f28131202c227 100644 --- a/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-recompiles-after-deleting-generated-folders.js +++ b/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-recompiles-after-deleting-generated-folders.js @@ -259,7 +259,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -277,7 +278,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -295,7 +297,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -481,7 +484,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -513,7 +517,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -531,7 +536,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -754,7 +760,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -772,7 +779,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -790,7 +798,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-compiles-from-sources.js b/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-compiles-from-sources.js index f8ba1a4a08ca2..947d53730b145 100644 --- a/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-compiles-from-sources.js +++ b/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-compiles-from-sources.js @@ -290,7 +290,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -322,7 +323,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -340,7 +342,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -610,7 +613,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -628,7 +632,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -646,7 +651,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-has-node_modules-setup-but-doesnt-have-modules-in-typings-folder-and-then-recompiles.js b/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-has-node_modules-setup-but-doesnt-have-modules-in-typings-folder-and-then-recompiles.js index 92a8227ad6a59..8e1f46cabfbc7 100644 --- a/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-has-node_modules-setup-but-doesnt-have-modules-in-typings-folder-and-then-recompiles.js +++ b/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-has-node_modules-setup-but-doesnt-have-modules-in-typings-folder-and-then-recompiles.js @@ -295,7 +295,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -327,7 +328,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -345,7 +347,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -570,7 +573,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -588,7 +592,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -606,7 +611,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-recompiles-after-deleting-generated-folders.js b/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-recompiles-after-deleting-generated-folders.js index 3d08b4447f16e..8aa2900270594 100644 --- a/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-recompiles-after-deleting-generated-folders.js +++ b/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-recompiles-after-deleting-generated-folders.js @@ -278,7 +278,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -296,7 +297,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -314,7 +316,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -510,7 +513,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -542,7 +546,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -560,7 +565,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -802,7 +808,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -820,7 +827,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -838,7 +846,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked-Linux.js b/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked-Linux.js index a04e43afd131d..411c2fe43708b 100644 --- a/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked-Linux.js +++ b/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked-Linux.js @@ -402,7 +402,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -434,7 +435,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -481,7 +483,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -765,7 +768,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -783,7 +787,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -830,7 +835,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1273,7 +1279,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1305,7 +1312,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1352,7 +1360,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1693,7 +1702,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1711,7 +1721,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1758,7 +1769,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked-package1-built-Linux.js b/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked-package1-built-Linux.js index 82934cb58a299..3192dd4a085d3 100644 --- a/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked-package1-built-Linux.js +++ b/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked-package1-built-Linux.js @@ -382,7 +382,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -400,7 +401,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -447,7 +449,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -893,7 +896,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -925,7 +929,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -972,7 +977,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1313,7 +1319,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1331,7 +1338,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1378,7 +1386,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked-package1-built.js b/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked-package1-built.js index f3a94037a6506..8de9e2fa5bfa9 100644 --- a/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked-package1-built.js +++ b/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked-package1-built.js @@ -378,7 +378,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -396,7 +397,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -443,7 +445,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -709,7 +712,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -741,7 +745,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -788,7 +793,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1036,7 +1042,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1054,7 +1061,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1101,7 +1109,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked.js b/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked.js index 21b421827c082..2cac4c91f0515 100644 --- a/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked.js +++ b/tests/baselines/reference/tsserver/symLinks/monorepo-style-sibling-packages-symlinked.js @@ -400,7 +400,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -432,7 +433,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -479,7 +481,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -723,7 +726,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -741,7 +745,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -788,7 +793,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1054,7 +1060,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1086,7 +1093,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1133,7 +1141,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -1381,7 +1390,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -1399,7 +1409,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/home/src/projects/project/packages/package2/src/index.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -1446,7 +1457,8 @@ Info seq [hh:mm:ss:mss] event: "category": "suggestion", "reportsUnnecessary": true } - ] + ], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/watchEnvironment/watching-npm-install-in-codespaces-where-workspaces-folder-is-hosted-at-root.js b/tests/baselines/reference/tsserver/watchEnvironment/watching-npm-install-in-codespaces-where-workspaces-folder-is-hosted-at-root.js index cd840fabd1f0a..118a8e7ce5a7c 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/watching-npm-install-in-codespaces-where-workspaces-folder-is-hosted-at-root.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/watching-npm-install-in-codespaces-where-workspaces-folder-is-hosted-at-root.js @@ -232,7 +232,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/workspaces/somerepo/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 0 @@ -250,7 +251,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/workspaces/somerepo/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -268,7 +270,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/workspaces/somerepo/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -422,7 +425,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/workspaces/somerepo/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 3 @@ -466,7 +470,8 @@ Info seq [hh:mm:ss:mss] event: "code": 2307, "category": "error" } - ] + ], + "duration": * } } After running Immedidate callback:: count: 1 @@ -484,7 +489,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/workspaces/somerepo/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: @@ -668,7 +674,8 @@ Info seq [hh:mm:ss:mss] event: "event": "syntaxDiag", "body": { "file": "/workspaces/somerepo/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Timeout callback:: count: 3 @@ -715,7 +722,8 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/workspaces/somerepo/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } After running Immedidate callback:: count: 1 @@ -733,7 +741,8 @@ Info seq [hh:mm:ss:mss] event: "event": "suggestionDiag", "body": { "file": "/workspaces/somerepo/src/main.ts", - "diagnostics": [] + "diagnostics": [], + "duration": * } } Info seq [hh:mm:ss:mss] event: diff --git a/tests/cases/fourslash/constraintRegionCheck.ts b/tests/cases/fourslash/constraintRegionCheck.ts new file mode 100644 index 0000000000000..f98211cfee9dd --- /dev/null +++ b/tests/cases/fourslash/constraintRegionCheck.ts @@ -0,0 +1,27 @@ +/// + +// @strict: true +// @Filename: index.ts + +//// export {}; +//// interface JsonArray extends Array {} +//// interface JsonObject { +//// [prop: string]: JsonValue; +//// } +//// type JsonValue = boolean | string | number | JsonArray | JsonObject | null; +//// type Cons = T; +//// [|function foo(): Cons { +//// return {} as any; +//// }|] +//// /*e*/ + +const [r0] = test.ranges(); +// Baseline +const expected = test.getSemanticDiagnostics(); + +// Reset checker +goTo.marker("e"); +edit.insert(" "); + +verify.getRegionSemanticDiagnostics([r0], expected); +verify.getSemanticDiagnostics(expected); \ No newline at end of file diff --git a/tests/cases/fourslash/derivedClassRegionCheck.ts b/tests/cases/fourslash/derivedClassRegionCheck.ts new file mode 100644 index 0000000000000..caf8fc1a375f4 --- /dev/null +++ b/tests/cases/fourslash/derivedClassRegionCheck.ts @@ -0,0 +1,36 @@ +/// + +// @strict: true +// @Filename: index.ts + +//// export {}; +//// interface ComplicatedTypeBase { +//// [s: string]: ABase; +//// } +//// interface ComplicatedTypeDerived { +//// [s: string]: ADerived; +//// } +//// interface ABase { +//// a: string; +//// } +//// interface ADerived { +//// b: string; +//// } +//// class Base { +//// foo!: ComplicatedTypeBase; +//// } +//// [|class Derived extends Base { +//// foo!: ComplicatedTypeDerived; +//// }|] +//// /*e*/ + +const [r0] = test.ranges(); +// Baseline +const expected = test.getSemanticDiagnostics(); + +// Reset checker +goTo.marker("e"); +edit.insert(" "); + +verify.getRegionSemanticDiagnostics([r0], expected); +verify.getSemanticDiagnostics(expected); \ No newline at end of file diff --git a/tests/cases/fourslash/fourslash.ts b/tests/cases/fourslash/fourslash.ts index 47076727a832e..e59d81c44a353 100644 --- a/tests/cases/fourslash/fourslash.ts +++ b/tests/cases/fourslash/fourslash.ts @@ -132,6 +132,11 @@ declare module ts { } function flatMap(array: ReadonlyArray, mapfn: (x: T, i: number) => U | ReadonlyArray | undefined): U[]; + + interface TextRange { + pos: number; + end: number; + } } declare namespace FourSlashInterface { @@ -212,6 +217,10 @@ declare namespace FourSlashInterface { start: number; end: number; } + interface TextRange { + pos: number; + end: number; + } class test_ { markers(): Marker[]; markerNames(): string[]; @@ -224,6 +233,7 @@ declare namespace FourSlashInterface { markerByName(s: string): Marker; symbolsInScope(range: Range): any[]; setTypesRegistry(map: { [key: string]: void }): void; + getSemanticDiagnostics(): Diagnostic[]; } class config { configurePlugin(pluginName: string, configuration: any): void; @@ -417,6 +427,10 @@ declare namespace FourSlashInterface { baselineInlayHints(span?: { start: number; length: number; }, preferences?: InlayHintsOptions): void; getSyntacticDiagnostics(expected: ReadonlyArray): void; getSemanticDiagnostics(expected: ReadonlyArray): void; + getRegionSemanticDiagnostics( + ranges: ts.TextRange[], + expectedDiagnostics: ReadonlyArray | undefined, + expectedRanges?: ReadonlyArray): void; getSuggestionDiagnostics(expected: ReadonlyArray): void; ProjectInfo(expected: string[]): void; getEditsForFileRename(options: { diff --git a/tests/cases/fourslash/objectAssignabilityRegionCheck.ts b/tests/cases/fourslash/objectAssignabilityRegionCheck.ts new file mode 100644 index 0000000000000..41b0e5e0e4b3b --- /dev/null +++ b/tests/cases/fourslash/objectAssignabilityRegionCheck.ts @@ -0,0 +1,27 @@ +/// + +// @strict: true +// @Filename: index.ts + +//// interface Foo { +//// a: number; +//// } +//// interface Bar { +//// b: string; +//// } +//// declare let b: Bar; +//// [|function f(): Foo { +//// [|return|] b; +//// }|] +//// /*e*/ + +const [r0, r1] = test.ranges(); +// Baseline +const expected = test.getSemanticDiagnostics(); + +// Reset checker +goTo.marker("e"); +edit.insert(" "); + +verify.getRegionSemanticDiagnostics([r0], [expected[0]]); +verify.getSemanticDiagnostics(expected); \ No newline at end of file diff --git a/tests/cases/fourslash/regionCheckSpan.ts b/tests/cases/fourslash/regionCheckSpan.ts new file mode 100644 index 0000000000000..e9db3763d733a --- /dev/null +++ b/tests/cases/fourslash/regionCheckSpan.ts @@ -0,0 +1,25 @@ +/// + +// @strict: true + +//// [|function foo() { +//// [|return 1 + 3; +//// } +//// +//// function bar(a: number, b: string) { +//// const z = a + b; +//// return z + z; +//// }|]|] +//// +//// class Foo {} +//// +//// class Bar extends Foo { +//// foo!: string;[| +//// bar!: number; +//// zzz!: boolean;|] +//// } + +const [outerFunctions, innerFunctions, classMembers] = test.ranges(); + +verify.getRegionSemanticDiagnostics([innerFunctions], [], [outerFunctions]); +verify.getRegionSemanticDiagnostics([classMembers], [], [classMembers]); \ No newline at end of file