From 3ec7e992b4473c3fbfb03fefce414199d3ba54b2 Mon Sep 17 00:00:00 2001 From: Ryan Morgan Date: Tue, 16 Jun 2020 11:05:23 +1000 Subject: [PATCH 1/2] fix lineCharacterOffset generating a negative value --- src/utils/contextUtil.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/contextUtil.ts b/src/utils/contextUtil.ts index af3b302..3d6a9d8 100644 --- a/src/utils/contextUtil.ts +++ b/src/utils/contextUtil.ts @@ -102,7 +102,7 @@ export class BackwardIterator { const document: TextDocument = this.getDocument(); const lineRange: Range = document.lineAt(lineNumber).range; const lineText: string = this.documentStateContext.sanitizedDocumentText.slice(document.offsetAt(lineRange.start), document.offsetAt(lineRange.end)); - lineCharacterOffset = lineText.length - 1; + lineCharacterOffset = Math.max(0, lineText.length - 1); } else { return undefined; } From 9048972d4991a6fcf3d378f9063a34cda04ee6f1 Mon Sep 17 00:00:00 2001 From: Ryan Morgan Date: Tue, 16 Jun 2020 11:42:11 +1000 Subject: [PATCH 2/2] extension crashes if iterator.getPosition() is undefined --- src/utils/contextUtil.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/contextUtil.ts b/src/utils/contextUtil.ts index 3d6a9d8..406a8f0 100644 --- a/src/utils/contextUtil.ts +++ b/src/utils/contextUtil.ts @@ -901,7 +901,7 @@ export function getStartSigPosition(iterator: BackwardIterator): Position | unde while (iterator.hasNext()) { const ch: number = iterator.next(); - if (stringRanges) { + if (stringRanges && iterator.getPosition()) { const position: Position = iterator.getPosition().translate(0, 1); const stringRange: Range = stringRanges.find((range: Range) => { return range.contains(position) && !range.end.isEqual(position);