Fix some bugs

This commit is contained in:
Justin Bossis 2024-09-02 19:32:21 +02:00
parent 7cae5c6721
commit d04cb3cb97
3 changed files with 10 additions and 4 deletions

View File

@ -3,7 +3,7 @@
"displayName": "Coverage Tool", "displayName": "Coverage Tool",
"publisher": "justinbossis", "publisher": "justinbossis",
"description": "Highlights coverage.py lines in VSCode", "description": "Highlights coverage.py lines in VSCode",
"version": "0.2.0", "version": "0.2.1",
"engines": { "engines": {
"vscode": "^1.92.0" "vscode": "^1.92.0"
}, },

View File

@ -16,6 +16,7 @@ function createDecor(bgColor: string) {
isWholeLine: true, isWholeLine: true,
overviewRulerLane: OverviewRulerLane.Full, overviewRulerLane: OverviewRulerLane.Full,
overviewRulerColor: bgColor.replace(RegExp(/0\.(\d+)/), '0.8'), overviewRulerColor: bgColor.replace(RegExp(/0\.(\d+)/), '0.8'),
rangeBehavior: 1,
}, },
); );
} }

View File

@ -105,9 +105,9 @@ async function updateCache(files: vscode.Uri) {
} }
function updateDecorations(editor: vscode.TextEditor, coverage: IFileDecorationRange) { function updateDecorations(editor: vscode.TextEditor, coverage: IFileDecorationRange) {
editor.setDecorations(config.excludedDecor, coverage.excludedRanges); editor.setDecorations(config.excludedDecor, coverage.excludedRanges.filter(range => editor.document.validateRange(range)));
editor.setDecorations(config.missingDecor, coverage.missingRanges); editor.setDecorations(config.missingDecor, coverage.missingRanges.filter(range => editor.document.validateRange(range)));
editor.setDecorations(config.executedDecor, coverage.executedRanges); editor.setDecorations(config.executedDecor, coverage.executedRanges.filter(range => editor.document.validateRange(range)));
} }
function updateFileHighlight(editor: vscode.TextEditor) { function updateFileHighlight(editor: vscode.TextEditor) {
@ -282,6 +282,11 @@ export async function activate(context: vscode.ExtensionContext) {
updateFileHighlight(editor); 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 const rootPath = vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders.length > 0
? vscode.workspace.workspaceFolders[0].uri.fsPath ? vscode.workspace.workspaceFolders[0].uri.fsPath