From f3e0cbbd526b4975c342a936cfb328a19dccd6a2 Mon Sep 17 00:00:00 2001 From: Arthur Ozga Date: Tue, 15 Aug 2017 11:26:47 -0700 Subject: [PATCH] `findPrecedingToken` handles EOF child more gracefully --- src/services/services.ts | 2 +- src/services/utilities.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index 24e85a2a01..c623fe15b0 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -113,7 +113,7 @@ namespace ts { } pos = textPos; if (token === SyntaxKind.EndOfFileToken) { - return pos; + break; } } return pos; diff --git a/src/services/utilities.ts b/src/services/utilities.ts index c5b2a2b4f9..5336d47c1f 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -753,7 +753,7 @@ namespace ts { const start = child.getStart(sourceFile, includeJsDoc); const lookInPreviousChild = (start >= position) || // cursor in the leading trivia - nodeHasTokens(child) || + !nodeHasTokens(child) || (child.kind === SyntaxKind.JsxText && start === child.end); // whitespace only JsxText if (lookInPreviousChild) {