From d04cb3cb972e1a78e9e25031e88de4370dae6e90 Mon Sep 17 00:00:00 2001 From: Justin Bossis Date: Mon, 2 Sep 2024 19:32:21 +0200 Subject: [PATCH] Fix some bugs --- package.json | 2 +- src/config/ConfigProvider.ts | 1 + src/extension.ts | 11 ++++++++--- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index fa3b0d3..553d731 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "displayName": "Coverage Tool", "publisher": "justinbossis", "description": "Highlights coverage.py lines in VSCode", - "version": "0.2.0", + "version": "0.2.1", "engines": { "vscode": "^1.92.0" }, diff --git a/src/config/ConfigProvider.ts b/src/config/ConfigProvider.ts index 8cd5141..21ab34c 100644 --- a/src/config/ConfigProvider.ts +++ b/src/config/ConfigProvider.ts @@ -16,6 +16,7 @@ function createDecor(bgColor: string) { isWholeLine: true, overviewRulerLane: OverviewRulerLane.Full, overviewRulerColor: bgColor.replace(RegExp(/0\.(\d+)/), '0.8'), + rangeBehavior: 1, }, ); } diff --git a/src/extension.ts b/src/extension.ts index cf37972..19b3aa8 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -105,9 +105,9 @@ async function updateCache(files: vscode.Uri) { } function updateDecorations(editor: vscode.TextEditor, coverage: IFileDecorationRange) { - editor.setDecorations(config.excludedDecor, coverage.excludedRanges); - editor.setDecorations(config.missingDecor, coverage.missingRanges); - editor.setDecorations(config.executedDecor, coverage.executedRanges); + editor.setDecorations(config.excludedDecor, coverage.excludedRanges.filter(range => editor.document.validateRange(range))); + editor.setDecorations(config.missingDecor, coverage.missingRanges.filter(range => editor.document.validateRange(range))); + editor.setDecorations(config.executedDecor, coverage.executedRanges.filter(range => editor.document.validateRange(range))); } function updateFileHighlight(editor: vscode.TextEditor) { @@ -282,6 +282,11 @@ export async function activate(context: vscode.ExtensionContext) { updateFileHighlight(editor); } }); + vscode.workspace.onDidChangeTextDocument(event => { + if (vscode.window.activeTextEditor && event.document === vscode.window.activeTextEditor.document) { + updateFileHighlight(vscode.window.activeTextEditor); + } + }, null, context.subscriptions); const rootPath = vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders.length > 0 ? vscode.workspace.workspaceFolders[0].uri.fsPath