@codingame/monaco-vscode-testing-service-override 11.1.2 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +2 -1
- package/index.js +41 -1
- package/package.json +32 -9
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackWidget.d.ts +43 -0
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackWidget.js +55 -51
- package/vscode/src/vs/workbench/contrib/debug/browser/media/callStackWidget.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/browser/codeCoverageDecorations.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/codeCoverageDecorations.js +107 -101
- package/vscode/src/vs/workbench/contrib/testing/browser/codeCoverageDisplayUtils.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/codeCoverageDisplayUtils.js +14 -12
- package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/display.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/display.js +2 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/index.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/index.js +7 -5
- package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/listProjection.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/listProjection.js +11 -9
- package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testItemContextOverlay.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testItemContextOverlay.js +1 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testingObjectTree.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testingObjectTree.js +1 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testingViewState.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testingViewState.js +1 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/treeProjection.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/treeProjection.js +16 -14
- package/vscode/src/vs/workbench/contrib/testing/browser/icons.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/icons.js +34 -32
- package/vscode/src/vs/workbench/contrib/testing/browser/media/testMessageColorizer.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/browser/media/testing.css.js +2 -2
- package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageBars.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageBars.js +25 -25
- package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageView.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageView.js +93 -87
- package/vscode/src/vs/workbench/contrib/testing/browser/testExplorerActions.d.ts +276 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testExplorerActions.js +385 -380
- package/vscode/src/vs/workbench/contrib/testing/browser/testMessageColorizer.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testMessageColorizer.js +19 -8
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testMessageStack.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testMessageStack.js +2 -1
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsOutput.d.ts +88 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsOutput.js +63 -59
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsSubject.d.ts +48 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsSubject.js +13 -11
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsTree.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsTree.js +104 -107
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsViewContent.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsViewContent.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsViewContent.js +55 -45
- package/vscode/src/vs/workbench/contrib/testing/browser/testing.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testing.contribution.js +86 -50
- package/vscode/src/vs/workbench/contrib/testing/browser/testingConfigurationUi.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testingConfigurationUi.js +13 -12
- package/vscode/src/vs/workbench/contrib/testing/browser/testingDecorations.d.ts +123 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testingDecorations.js +451 -262
- package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerFilter.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerFilter.js +42 -38
- package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerView.d.ts +116 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerView.js +341 -255
- package/vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.d.ts +119 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.js +209 -199
- package/vscode/src/vs/workbench/contrib/testing/browser/testingProgressUiService.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testingProgressUiService.js +39 -35
- package/vscode/src/vs/workbench/contrib/testing/browser/testingViewPaneContainer.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testingViewPaneContainer.js +18 -16
- package/vscode/src/vs/workbench/contrib/testing/browser/theme.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/theme.js +64 -58
- package/vscode/src/vs/workbench/contrib/testing/common/configuration.d.ts +70 -0
- package/vscode/src/vs/workbench/contrib/testing/common/configuration.js +138 -82
- package/vscode/src/vs/workbench/contrib/testing/common/mainThreadTestCollection.d.ts +25 -0
- package/vscode/src/vs/workbench/contrib/testing/common/mainThreadTestCollection.js +5 -4
- package/vscode/src/vs/workbench/contrib/testing/common/observableUtils.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/testing/common/observableUtils.js +2 -0
- package/vscode/src/vs/workbench/contrib/testing/common/observableValue.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +1 -0
- package/vscode/src/vs/workbench/contrib/testing/common/storedValue.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/testing/common/storedValue.js +4 -3
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +6 -3
- package/vscode/src/vs/workbench/contrib/testing/common/testExclusions.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testExclusions.js +5 -3
- package/vscode/src/vs/workbench/contrib/testing/common/testExplorerFilterState.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testExplorerFilterState.js +19 -9
- package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.js +19 -17
- package/vscode/src/vs/workbench/contrib/testing/common/testResultService.d.ts +49 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testResultService.js +24 -8
- package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.js +6 -4
- package/vscode/src/vs/workbench/contrib/testing/common/testService.d.ts +61 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testService.js +6 -3
- package/vscode/src/vs/workbench/contrib/testing/common/testServiceImpl.d.ts +69 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testServiceImpl.js +70 -70
- package/vscode/src/vs/workbench/contrib/testing/common/testingContentProvider.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testingContentProvider.js +25 -23
- package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +105 -105
- package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.js +97 -58
- package/vscode/src/vs/workbench/contrib/testing/common/testingDecorations.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testingDecorations.js +1 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testingUri.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testingUri.js +42 -24
- package/testing.js +0 -39
- package/vscode/src/vs/workbench/contrib/testing/common/constants.js +0 -20
package/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { type IEditorOverrideServices } from "vscode/vscode/vs/editor/standalone/browser/standaloneServices";
|
|
2
|
+
export default function getServiceOverride(): IEditorOverrideServices;
|
package/index.js
CHANGED
|
@@ -1 +1,41 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import 'vscode/vscode/vs/editor/standalone/browser/standaloneServices';
|
|
3
|
+
import { SyncDescriptor } from 'vscode/vscode/vs/platform/instantiation/common/descriptors';
|
|
4
|
+
import { TestProfileService } from './vscode/src/vs/workbench/contrib/testing/common/testProfileService.js';
|
|
5
|
+
import { ITestProfileService } from 'vscode/vscode/vs/workbench/contrib/testing/common/testProfileService.service';
|
|
6
|
+
import { TestResultService } from './vscode/src/vs/workbench/contrib/testing/common/testResultService.js';
|
|
7
|
+
import { ITestResultService } from 'vscode/vscode/vs/workbench/contrib/testing/common/testResultService.service';
|
|
8
|
+
import { TestResultStorage } from './vscode/src/vs/workbench/contrib/testing/common/testResultStorage.js';
|
|
9
|
+
import { ITestResultStorage } from 'vscode/vscode/vs/workbench/contrib/testing/common/testResultStorage.service';
|
|
10
|
+
import { ITestService } from 'vscode/vscode/vs/workbench/contrib/testing/common/testService.service';
|
|
11
|
+
import { TestService } from './vscode/src/vs/workbench/contrib/testing/common/testServiceImpl.js';
|
|
12
|
+
import { ITestingDecorationsService } from 'vscode/vscode/vs/workbench/contrib/testing/common/testingDecorations.service';
|
|
13
|
+
import { TestingDecorationService } from './vscode/src/vs/workbench/contrib/testing/browser/testingDecorations.js';
|
|
14
|
+
import { ITestingPeekOpener } from 'vscode/vscode/vs/workbench/contrib/testing/common/testingPeekOpener.service';
|
|
15
|
+
import { TestingContinuousRunService } from './vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.js';
|
|
16
|
+
import { ITestingContinuousRunService } from 'vscode/vscode/vs/workbench/contrib/testing/common/testingContinuousRunService.service';
|
|
17
|
+
import { TestExplorerFilterState } from './vscode/src/vs/workbench/contrib/testing/common/testExplorerFilterState.js';
|
|
18
|
+
import { ITestExplorerFilterState } from 'vscode/vscode/vs/workbench/contrib/testing/common/testExplorerFilterState.service';
|
|
19
|
+
import { TestingPeekOpener } from './vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.js';
|
|
20
|
+
import { TestCoverageService } from './vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js';
|
|
21
|
+
import { ITestCoverageService } from 'vscode/vscode/vs/workbench/contrib/testing/common/testCoverageService.service';
|
|
22
|
+
import getServiceOverride$1 from '@codingame/monaco-vscode-terminal-service-override';
|
|
23
|
+
import './vscode/src/vs/workbench/contrib/testing/browser/testing.contribution.js';
|
|
24
|
+
import './vscode/src/vs/workbench/contrib/testing/browser/testingConfigurationUi.js';
|
|
25
|
+
|
|
26
|
+
function getServiceOverride() {
|
|
27
|
+
return {
|
|
28
|
+
...getServiceOverride$1(),
|
|
29
|
+
[ITestService.toString()]: new SyncDescriptor(TestService, [], true),
|
|
30
|
+
[ITestResultStorage.toString()]: new SyncDescriptor(TestResultStorage, [], true),
|
|
31
|
+
[ITestProfileService.toString()]: new SyncDescriptor(TestProfileService, [], true),
|
|
32
|
+
[ITestCoverageService.toString()]: new SyncDescriptor(TestCoverageService, [], true),
|
|
33
|
+
[ITestingContinuousRunService.toString()]: new SyncDescriptor(TestingContinuousRunService, [], true),
|
|
34
|
+
[ITestResultService.toString()]: new SyncDescriptor(TestResultService, [], true),
|
|
35
|
+
[ITestExplorerFilterState.toString()]: new SyncDescriptor(TestExplorerFilterState, [], true),
|
|
36
|
+
[ITestingPeekOpener.toString()]: new SyncDescriptor(TestingPeekOpener, [], true),
|
|
37
|
+
[ITestingDecorationsService.toString()]: new SyncDescriptor(TestingDecorationService, [], true)
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { getServiceOverride as default };
|
package/package.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-testing-service-override",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "VSCode public API plugged on the monaco editor - testing service-override",
|
|
4
6
|
"keywords": [],
|
|
5
7
|
"author": {
|
|
6
8
|
"name": "CodinGame",
|
|
@@ -12,8 +14,29 @@
|
|
|
12
14
|
"url": "git+ssh://git@github.com/CodinGame/monaco-vscode-api.git"
|
|
13
15
|
},
|
|
14
16
|
"type": "module",
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"@codingame/monaco-vscode-0b087f42-a5a3-5eb9-9bfd-1eebc1bba163-common": "12.0.0",
|
|
19
|
+
"@codingame/monaco-vscode-10418ae3-ee63-5700-a757-89cbe6564ee4-common": "12.0.0",
|
|
20
|
+
"@codingame/monaco-vscode-5108c2c9-4ada-52d8-8c4b-fe03b3160e71-common": "12.0.0",
|
|
21
|
+
"@codingame/monaco-vscode-65619f8f-0eab-5d8b-855a-43b6353fe527-common": "12.0.0",
|
|
22
|
+
"@codingame/monaco-vscode-6845754f-e617-5ed9-8aaa-6ca3653a9532-common": "12.0.0",
|
|
23
|
+
"@codingame/monaco-vscode-9e888134-1a6f-58d9-b0e6-0fc047448366-common": "12.0.0",
|
|
24
|
+
"@codingame/monaco-vscode-a4683c2b-a0d2-5112-96ba-eedc605346d2-common": "12.0.0",
|
|
25
|
+
"@codingame/monaco-vscode-a7c9ae3c-16d2-5d17-86b2-981be7094566-common": "12.0.0",
|
|
26
|
+
"@codingame/monaco-vscode-b4efa70b-52b9-5670-ab5c-f10b10b6834e-common": "12.0.0",
|
|
27
|
+
"@codingame/monaco-vscode-e571cbbb-526b-5d8b-92c5-a0437d2dabb3-common": "12.0.0",
|
|
28
|
+
"@codingame/monaco-vscode-f6ab89b2-83b0-5a43-8772-cb0eafa650b5-common": "12.0.0",
|
|
29
|
+
"@codingame/monaco-vscode-terminal-service-override": "12.0.0",
|
|
30
|
+
"vscode": "npm:@codingame/monaco-vscode-api@12.0.0"
|
|
31
|
+
},
|
|
32
|
+
"peerDependencies": {
|
|
33
|
+
"@codingame/monaco-vscode-2a94c04a-b85b-5669-b06b-89c1bfa11cb9-common": "12.0.0"
|
|
34
|
+
},
|
|
35
|
+
"peerDependenciesMeta": {
|
|
36
|
+
"@codingame/monaco-vscode-2a94c04a-b85b-5669-b06b-89c1bfa11cb9-common": {
|
|
37
|
+
"optional": true
|
|
38
|
+
}
|
|
39
|
+
},
|
|
17
40
|
"main": "index.js",
|
|
18
41
|
"module": "index.js",
|
|
19
42
|
"types": "index.d.ts",
|
|
@@ -22,12 +45,12 @@
|
|
|
22
45
|
"default": "./index.js"
|
|
23
46
|
},
|
|
24
47
|
"./vscode/*": {
|
|
25
|
-
"default": "./vscode/src/*.js"
|
|
48
|
+
"default": "./vscode/src/*.js",
|
|
49
|
+
"types": "./vscode/src/*.d.ts"
|
|
50
|
+
},
|
|
51
|
+
"./*": {
|
|
52
|
+
"default": "./*.js",
|
|
53
|
+
"types": "./*.d.ts"
|
|
26
54
|
}
|
|
27
|
-
},
|
|
28
|
-
"dependencies": {
|
|
29
|
-
"vscode": "npm:@codingame/monaco-vscode-api@11.1.2",
|
|
30
|
-
"@codingame/monaco-vscode-terminal-service-override": "11.1.2",
|
|
31
|
-
"@codingame/monaco-vscode-chat-notebook-terminal-testing-common": "11.1.2"
|
|
32
55
|
}
|
|
33
56
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { CancellationToken } from "vscode/vscode/vs/base/common/cancellation";
|
|
2
|
+
import { Event } from "vscode/vscode/vs/base/common/event";
|
|
3
|
+
import { Disposable, IDisposable } from "vscode/vscode/vs/base/common/lifecycle";
|
|
4
|
+
import { IObservable, ISettableObservable } from "vscode/vscode/vs/base/common/observable";
|
|
5
|
+
import { ThemeIcon } from "vscode/vscode/vs/base/common/themables";
|
|
6
|
+
import { URI } from "vscode/vscode/vs/base/common/uri";
|
|
7
|
+
import { ICodeEditor } from "vscode/vscode/vs/editor/browser/editorBrowser";
|
|
8
|
+
import { IInstantiationService } from "vscode/vscode/vs/platform/instantiation/common/instantiation";
|
|
9
|
+
export declare class CallStackFrame {
|
|
10
|
+
readonly name: string;
|
|
11
|
+
readonly source?: URI | undefined;
|
|
12
|
+
readonly line: number;
|
|
13
|
+
readonly column: number;
|
|
14
|
+
constructor(name: string, source?: URI | undefined, line?: number, column?: number);
|
|
15
|
+
}
|
|
16
|
+
export declare class SkippedCallFrames {
|
|
17
|
+
readonly label: string;
|
|
18
|
+
readonly load: (token: CancellationToken) => Promise<AnyStackFrame[]>;
|
|
19
|
+
constructor(label: string, load: (token: CancellationToken) => Promise<AnyStackFrame[]>);
|
|
20
|
+
}
|
|
21
|
+
export declare abstract class CustomStackFrame {
|
|
22
|
+
readonly showHeader: ISettableObservable<boolean, void>;
|
|
23
|
+
abstract readonly height: IObservable<number>;
|
|
24
|
+
abstract readonly label: string;
|
|
25
|
+
icon?: ThemeIcon;
|
|
26
|
+
abstract render(container: HTMLElement): IDisposable;
|
|
27
|
+
renderActions?(container: HTMLElement): IDisposable;
|
|
28
|
+
}
|
|
29
|
+
export type AnyStackFrame = SkippedCallFrames | CallStackFrame | CustomStackFrame;
|
|
30
|
+
export declare class CallStackWidget extends Disposable {
|
|
31
|
+
private readonly list;
|
|
32
|
+
private readonly layoutEmitter;
|
|
33
|
+
private readonly currentFramesDs;
|
|
34
|
+
private cts?;
|
|
35
|
+
get onDidScroll(): Event<import("vscode/vscode/vs/base/common/scrollable").ScrollEvent>;
|
|
36
|
+
constructor(container: HTMLElement, containingEditor: ICodeEditor | undefined, instantiationService: IInstantiationService);
|
|
37
|
+
setFrames(frames: AnyStackFrame[]): void;
|
|
38
|
+
layout(height?: number, width?: number): void;
|
|
39
|
+
collapseAll(): void;
|
|
40
|
+
private loadFrame;
|
|
41
|
+
private mapFrames;
|
|
42
|
+
}
|
|
43
|
+
export declare const CALL_STACK_WIDGET_HEADER_HEIGHT = 24;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { h, addDisposableListener } from 'vscode/vscode/vs/base/browser/dom';
|
|
3
4
|
import { Button } from 'vscode/vscode/vs/base/browser/ui/button/button';
|
|
4
5
|
import { assertNever } from 'vscode/vscode/vs/base/common/assert';
|
|
@@ -11,7 +12,9 @@ import 'vscode/vscode/vs/base/common/arrays';
|
|
|
11
12
|
import { autorun, autorunWithStore } from 'vscode/vscode/vs/base/common/observableInternal/autorun';
|
|
12
13
|
import { derived } from 'vscode/vscode/vs/base/common/observableInternal/derived';
|
|
13
14
|
import 'vscode/vscode/vs/base/common/observableInternal/utils';
|
|
15
|
+
import { Constants } from 'vscode/vscode/vs/base/common/uint';
|
|
14
16
|
import { generateUuid } from 'vscode/vscode/vs/base/common/uuid';
|
|
17
|
+
import { EditorContributionInstantiation } from 'vscode/vscode/vs/editor/browser/editorExtensions';
|
|
15
18
|
import { CodeEditorWidget } from 'vscode/vscode/vs/editor/browser/widget/codeEditor/codeEditorWidget';
|
|
16
19
|
import { EmbeddedCodeEditorWidget } from 'vscode/vscode/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget';
|
|
17
20
|
import { Position } from 'vscode/vscode/vs/editor/common/core/position';
|
|
@@ -22,15 +25,16 @@ import { localize, localize2 } from 'vscode/vscode/vs/nls';
|
|
|
22
25
|
import { createActionViewItem } from 'vscode/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
|
|
23
26
|
import { MenuWorkbenchToolBar } from 'vscode/vscode/vs/platform/actions/browser/toolbar';
|
|
24
27
|
import { MenuId, registerAction2, Action2 } from 'vscode/vscode/vs/platform/actions/common/actions';
|
|
28
|
+
import { TextEditorSelectionRevealType } from 'vscode/vscode/vs/platform/editor/common/editor';
|
|
25
29
|
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
26
30
|
import { ILabelService } from 'vscode/vscode/vs/platform/label/common/label.service';
|
|
27
31
|
import { WorkbenchList } from 'vscode/vscode/vs/platform/list/browser/listService';
|
|
28
32
|
import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
|
|
29
33
|
import { defaultButtonStyles } from 'vscode/vscode/vs/platform/theme/browser/defaultStyles';
|
|
30
|
-
import { ResourceLabel } from 'vscode/vscode/vs/workbench/browser/labels';
|
|
34
|
+
import { ResourceLabel } from '@codingame/monaco-vscode-9e888134-1a6f-58d9-b0e6-0fc047448366-common/vscode/vs/workbench/browser/labels';
|
|
31
35
|
import { SIDE_GROUP } from 'vscode/vscode/vs/workbench/services/editor/common/editorService';
|
|
32
36
|
import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
33
|
-
import { makeStackFrameColumnDecoration, TOP_STACK_FRAME_DECORATION } from 'vscode/vscode/vs/workbench/contrib/debug/browser/callStackEditorContribution';
|
|
37
|
+
import { makeStackFrameColumnDecoration, TOP_STACK_FRAME_DECORATION } from '@codingame/monaco-vscode-0b087f42-a5a3-5eb9-9bfd-1eebc1bba163-common/vscode/vs/workbench/contrib/debug/browser/callStackEditorContribution';
|
|
34
38
|
import './media/callStackWidget.css.js';
|
|
35
39
|
|
|
36
40
|
var FrameCodeRenderer_1, MissingCodeRenderer_1, SkippedRenderer_1;
|
|
@@ -81,11 +85,11 @@ let CallStackWidget = class CallStackWidget extends Disposable {
|
|
|
81
85
|
}
|
|
82
86
|
constructor(container, containingEditor, instantiationService) {
|
|
83
87
|
super();
|
|
84
|
-
this.layoutEmitter = this._register((
|
|
85
|
-
this.currentFramesDs = this._register((
|
|
88
|
+
this.layoutEmitter = this._register(( new Emitter()));
|
|
89
|
+
this.currentFramesDs = this._register(( new DisposableStore()));
|
|
86
90
|
container.classList.add(WIDGET_CLASS_NAME);
|
|
87
91
|
this._register(toDisposable(() => container.classList.remove(WIDGET_CLASS_NAME)));
|
|
88
|
-
this.list = this._register(instantiationService.createInstance(WorkbenchList, 'TestResultStackWidget', container, (
|
|
92
|
+
this.list = this._register(instantiationService.createInstance(WorkbenchList, 'TestResultStackWidget', container, ( new StackDelegate()), [
|
|
89
93
|
instantiationService.createInstance(FrameCodeRenderer, containingEditor, this.layoutEmitter.event),
|
|
90
94
|
instantiationService.createInstance(MissingCodeRenderer),
|
|
91
95
|
instantiationService.createInstance(CustomRenderer),
|
|
@@ -101,7 +105,7 @@ let CallStackWidget = class CallStackWidget extends Disposable {
|
|
|
101
105
|
}
|
|
102
106
|
setFrames(frames) {
|
|
103
107
|
this.currentFramesDs.clear();
|
|
104
|
-
this.cts = (
|
|
108
|
+
this.cts = ( new CancellationTokenSource());
|
|
105
109
|
this._register(toDisposable(() => this.cts.dispose(true)));
|
|
106
110
|
this.list.splice(0, this.list.length, this.mapFrames(frames));
|
|
107
111
|
}
|
|
@@ -138,7 +142,7 @@ let CallStackWidget = class CallStackWidget extends Disposable {
|
|
|
138
142
|
continue;
|
|
139
143
|
}
|
|
140
144
|
const wrapped = frame instanceof CustomStackFrame
|
|
141
|
-
? (
|
|
145
|
+
? ( new WrappedCustomStackFrame(frame)) : ( new WrappedCallStackFrame(frame));
|
|
142
146
|
result.push(wrapped);
|
|
143
147
|
this.currentFramesDs.add(autorun(reader => {
|
|
144
148
|
const height = wrapped.height.read(reader);
|
|
@@ -151,9 +155,9 @@ let CallStackWidget = class CallStackWidget extends Disposable {
|
|
|
151
155
|
return result;
|
|
152
156
|
}
|
|
153
157
|
};
|
|
154
|
-
CallStackWidget = (
|
|
155
|
-
(
|
|
156
|
-
], CallStackWidget))
|
|
158
|
+
CallStackWidget = ( __decorate([
|
|
159
|
+
( __param(2, IInstantiationService))
|
|
160
|
+
], CallStackWidget));
|
|
157
161
|
let StackAccessibilityProvider = class StackAccessibilityProvider {
|
|
158
162
|
constructor(labelService) {
|
|
159
163
|
this.labelService = labelService;
|
|
@@ -167,25 +171,25 @@ let StackAccessibilityProvider = class StackAccessibilityProvider {
|
|
|
167
171
|
}
|
|
168
172
|
if (e instanceof CallStackFrame) {
|
|
169
173
|
if (e.source && e.line) {
|
|
170
|
-
return
|
|
171
|
-
|
|
174
|
+
return localize(
|
|
175
|
+
5066,
|
|
172
176
|
'{0}, line {1} in {2}',
|
|
173
177
|
e.name,
|
|
174
178
|
e.line,
|
|
175
179
|
this.labelService.getUriLabel(e.source, { relative: true })
|
|
176
|
-
)
|
|
180
|
+
);
|
|
177
181
|
}
|
|
178
182
|
return e.name;
|
|
179
183
|
}
|
|
180
184
|
assertNever();
|
|
181
185
|
}
|
|
182
186
|
getWidgetAriaLabel() {
|
|
183
|
-
return
|
|
187
|
+
return localize(5067, 'Stack Trace');
|
|
184
188
|
}
|
|
185
189
|
};
|
|
186
|
-
StackAccessibilityProvider = (
|
|
187
|
-
(
|
|
188
|
-
], StackAccessibilityProvider))
|
|
190
|
+
StackAccessibilityProvider = ( __decorate([
|
|
191
|
+
( __param(0, ILabelService))
|
|
192
|
+
], StackAccessibilityProvider));
|
|
189
193
|
class StackDelegate {
|
|
190
194
|
getHeight(element) {
|
|
191
195
|
if (element instanceof CallStackFrame || element instanceof WrappedCustomStackFrame) {
|
|
@@ -243,14 +247,14 @@ let AbstractFrameRenderer = class AbstractFrameRenderer {
|
|
|
243
247
|
renderTemplate(container) {
|
|
244
248
|
const elements = makeFrameElements();
|
|
245
249
|
container.appendChild(elements.root);
|
|
246
|
-
const templateStore = (
|
|
250
|
+
const templateStore = ( new DisposableStore());
|
|
247
251
|
container.classList.add('multiCallStackFrameContainer');
|
|
248
252
|
templateStore.add(toDisposable(() => {
|
|
249
253
|
container.classList.remove('multiCallStackFrameContainer');
|
|
250
254
|
elements.root.remove();
|
|
251
255
|
}));
|
|
252
256
|
const label = templateStore.add(this.instantiationService.createInstance(ResourceLabel, elements.title, {}));
|
|
253
|
-
const collapse = templateStore.add((
|
|
257
|
+
const collapse = templateStore.add(( new Button(elements.collapseButton, {})));
|
|
254
258
|
const contentId = generateUuid();
|
|
255
259
|
elements.editor.id = contentId;
|
|
256
260
|
elements.editor.role = 'region';
|
|
@@ -261,7 +265,7 @@ let AbstractFrameRenderer = class AbstractFrameRenderer {
|
|
|
261
265
|
elements,
|
|
262
266
|
label,
|
|
263
267
|
collapse,
|
|
264
|
-
elementStore: templateStore.add((
|
|
268
|
+
elementStore: templateStore.add(( new DisposableStore())),
|
|
265
269
|
templateStore,
|
|
266
270
|
});
|
|
267
271
|
}
|
|
@@ -290,9 +294,9 @@ let AbstractFrameRenderer = class AbstractFrameRenderer {
|
|
|
290
294
|
templateData.templateStore.dispose();
|
|
291
295
|
}
|
|
292
296
|
};
|
|
293
|
-
AbstractFrameRenderer = (
|
|
294
|
-
(
|
|
295
|
-
], AbstractFrameRenderer))
|
|
297
|
+
AbstractFrameRenderer = ( __decorate([
|
|
298
|
+
( __param(0, IInstantiationService))
|
|
299
|
+
], AbstractFrameRenderer));
|
|
296
300
|
const CONTEXT_LINES = 2;
|
|
297
301
|
let FrameCodeRenderer = class FrameCodeRenderer extends AbstractFrameRenderer {
|
|
298
302
|
static { FrameCodeRenderer_1 = this; }
|
|
@@ -307,7 +311,7 @@ let FrameCodeRenderer = class FrameCodeRenderer extends AbstractFrameRenderer {
|
|
|
307
311
|
finishRenderTemplate(data) {
|
|
308
312
|
const contributions = [{
|
|
309
313
|
id: ClickToLocationContribution.ID,
|
|
310
|
-
instantiation:
|
|
314
|
+
instantiation: EditorContributionInstantiation.BeforeFirstInteraction,
|
|
311
315
|
ctor: ClickToLocationContribution,
|
|
312
316
|
}];
|
|
313
317
|
const editor = this.containingEditor
|
|
@@ -326,7 +330,7 @@ let FrameCodeRenderer = class FrameCodeRenderer extends AbstractFrameRenderer {
|
|
|
326
330
|
const item = element;
|
|
327
331
|
const uri = item.source;
|
|
328
332
|
template.label.element.setFile(uri);
|
|
329
|
-
const cts = (
|
|
333
|
+
const cts = ( new CancellationTokenSource());
|
|
330
334
|
elementStore.add(toDisposable(() => cts.dispose(true)));
|
|
331
335
|
this.modelService.createModelReference(uri).then(reference => {
|
|
332
336
|
if (cts.token.isCancellationRequested) {
|
|
@@ -362,7 +366,7 @@ let FrameCodeRenderer = class FrameCodeRenderer extends AbstractFrameRenderer {
|
|
|
362
366
|
template.toolbar.context = { uri: item.source, range };
|
|
363
367
|
template.editor.setHiddenAreas([
|
|
364
368
|
Range.fromPositions({ column: 1, lineNumber: 1 }, { column: 1, lineNumber: Math.max(1, item.line - CONTEXT_LINES - 1) }),
|
|
365
|
-
Range.fromPositions({ column: 1, lineNumber: item.line + CONTEXT_LINES + 1 }, { column: 1, lineNumber:
|
|
369
|
+
Range.fromPositions({ column: 1, lineNumber: item.line + CONTEXT_LINES + 1 }, { column: 1, lineNumber: Constants.MAX_SAFE_SMALL_INTEGER }),
|
|
366
370
|
]);
|
|
367
371
|
template.editor.changeDecorations(accessor => {
|
|
368
372
|
for (const d of template.decorations) {
|
|
@@ -371,17 +375,17 @@ let FrameCodeRenderer = class FrameCodeRenderer extends AbstractFrameRenderer {
|
|
|
371
375
|
template.decorations.length = 0;
|
|
372
376
|
const beforeRange = range.setStartPosition(range.startLineNumber, 1);
|
|
373
377
|
const hasCharactersBefore = !!template.editor.getModel()?.getValueInRange(beforeRange).trim();
|
|
374
|
-
const decoRange = range.setEndPosition(range.startLineNumber,
|
|
378
|
+
const decoRange = range.setEndPosition(range.startLineNumber, Constants.MAX_SAFE_SMALL_INTEGER);
|
|
375
379
|
template.decorations.push(accessor.addDecoration(decoRange, makeStackFrameColumnDecoration(!hasCharactersBefore)));
|
|
376
380
|
template.decorations.push(accessor.addDecoration(decoRange, TOP_STACK_FRAME_DECORATION));
|
|
377
381
|
});
|
|
378
382
|
item.editorHeight.set(template.editor.getContentHeight(), undefined);
|
|
379
383
|
}
|
|
380
384
|
};
|
|
381
|
-
FrameCodeRenderer = FrameCodeRenderer_1 = (
|
|
382
|
-
(
|
|
383
|
-
(
|
|
384
|
-
], FrameCodeRenderer))
|
|
385
|
+
FrameCodeRenderer = FrameCodeRenderer_1 = ( __decorate([
|
|
386
|
+
( __param(2, ITextModelService)),
|
|
387
|
+
( __param(3, IInstantiationService))
|
|
388
|
+
], FrameCodeRenderer));
|
|
385
389
|
let MissingCodeRenderer = class MissingCodeRenderer {
|
|
386
390
|
static { MissingCodeRenderer_1 = this; }
|
|
387
391
|
static { this.templateId = 'm'; }
|
|
@@ -400,7 +404,7 @@ let MissingCodeRenderer = class MissingCodeRenderer {
|
|
|
400
404
|
const cast = element;
|
|
401
405
|
templateData.label.element.setResource({
|
|
402
406
|
name: cast.name,
|
|
403
|
-
description: ( localize(
|
|
407
|
+
description: ( localize(5068, 'Line {0} column {1}', cast.line, cast.column)),
|
|
404
408
|
range: { startLineNumber: cast.line, startColumn: cast.column, endColumn: cast.column, endLineNumber: cast.line },
|
|
405
409
|
}, {
|
|
406
410
|
icon: Codicon.fileBinary,
|
|
@@ -411,9 +415,9 @@ let MissingCodeRenderer = class MissingCodeRenderer {
|
|
|
411
415
|
templateData.elements.root.remove();
|
|
412
416
|
}
|
|
413
417
|
};
|
|
414
|
-
MissingCodeRenderer = MissingCodeRenderer_1 = (
|
|
415
|
-
(
|
|
416
|
-
], MissingCodeRenderer))
|
|
418
|
+
MissingCodeRenderer = MissingCodeRenderer_1 = ( __decorate([
|
|
419
|
+
( __param(0, IInstantiationService))
|
|
420
|
+
], MissingCodeRenderer));
|
|
417
421
|
class CustomRenderer extends AbstractFrameRenderer {
|
|
418
422
|
constructor() {
|
|
419
423
|
super(...arguments);
|
|
@@ -451,8 +455,8 @@ let SkippedRenderer = class SkippedRenderer {
|
|
|
451
455
|
this.templateId = SkippedRenderer_1.templateId;
|
|
452
456
|
}
|
|
453
457
|
renderTemplate(container) {
|
|
454
|
-
const store = (
|
|
455
|
-
const button = (
|
|
458
|
+
const store = ( new DisposableStore());
|
|
459
|
+
const button = ( new Button(container, { title: '', ...defaultButtonStyles }));
|
|
456
460
|
const data = { button, store };
|
|
457
461
|
store.add(button);
|
|
458
462
|
store.add(button.onDidClick(() => {
|
|
@@ -461,7 +465,7 @@ let SkippedRenderer = class SkippedRenderer {
|
|
|
461
465
|
}
|
|
462
466
|
button.enabled = false;
|
|
463
467
|
this.loadFrames(data.current).catch(e => {
|
|
464
|
-
this.notificationService.error(( localize(
|
|
468
|
+
this.notificationService.error(( localize(5069, 'Failed to load stack frames: {0}', e.message)));
|
|
465
469
|
});
|
|
466
470
|
}));
|
|
467
471
|
return data;
|
|
@@ -476,9 +480,9 @@ let SkippedRenderer = class SkippedRenderer {
|
|
|
476
480
|
templateData.store.dispose();
|
|
477
481
|
}
|
|
478
482
|
};
|
|
479
|
-
SkippedRenderer = SkippedRenderer_1 = (
|
|
480
|
-
(
|
|
481
|
-
], SkippedRenderer))
|
|
483
|
+
SkippedRenderer = SkippedRenderer_1 = ( __decorate([
|
|
484
|
+
( __param(1, INotificationService))
|
|
485
|
+
], SkippedRenderer));
|
|
482
486
|
let ClickToLocationContribution = class ClickToLocationContribution extends Disposable {
|
|
483
487
|
static { this.ID = 'clickToLocation'; }
|
|
484
488
|
constructor(editor, editorService) {
|
|
@@ -486,7 +490,7 @@ let ClickToLocationContribution = class ClickToLocationContribution extends Disp
|
|
|
486
490
|
this.editor = editor;
|
|
487
491
|
this.linkDecorations = editor.createDecorationsCollection();
|
|
488
492
|
this._register(toDisposable(() => this.linkDecorations.clear()));
|
|
489
|
-
const clickLinkGesture = this._register((
|
|
493
|
+
const clickLinkGesture = this._register(( new ClickLinkGesture(editor)));
|
|
490
494
|
this._register(clickLinkGesture.onMouseMoveOrRelevantKeyDown(([mouseEvent, keyboardEvent]) => {
|
|
491
495
|
this.onMove(mouseEvent);
|
|
492
496
|
}));
|
|
@@ -498,8 +502,8 @@ let ClickToLocationContribution = class ClickToLocationContribution extends Disp
|
|
|
498
502
|
editorService.openEditor({
|
|
499
503
|
resource: model.uri,
|
|
500
504
|
options: {
|
|
501
|
-
selection: Range.fromPositions((
|
|
502
|
-
selectionRevealType:
|
|
505
|
+
selection: Range.fromPositions(( new Position(this.current.line, this.current.word.startColumn))),
|
|
506
|
+
selectionRevealType: TextEditorSelectionRevealType.CenterIfOutsideViewport,
|
|
503
507
|
},
|
|
504
508
|
}, e.hasSideBySideModifier ? SIDE_GROUP : undefined);
|
|
505
509
|
}));
|
|
@@ -519,7 +523,7 @@ let ClickToLocationContribution = class ClickToLocationContribution extends Disp
|
|
|
519
523
|
}
|
|
520
524
|
this.current = { word, line: position.lineNumber };
|
|
521
525
|
this.linkDecorations.set([{
|
|
522
|
-
range: (
|
|
526
|
+
range: ( new Range(position.lineNumber, word.startColumn, position.lineNumber, word.endColumn)),
|
|
523
527
|
options: {
|
|
524
528
|
description: 'call-stack-go-to-file-link',
|
|
525
529
|
inlineClassName: 'call-stack-go-to-file-link',
|
|
@@ -531,14 +535,14 @@ let ClickToLocationContribution = class ClickToLocationContribution extends Disp
|
|
|
531
535
|
this.current = undefined;
|
|
532
536
|
}
|
|
533
537
|
};
|
|
534
|
-
ClickToLocationContribution = (
|
|
535
|
-
(
|
|
536
|
-
], ClickToLocationContribution))
|
|
538
|
+
ClickToLocationContribution = ( __decorate([
|
|
539
|
+
( __param(1, IEditorService))
|
|
540
|
+
], ClickToLocationContribution));
|
|
537
541
|
registerAction2(class extends Action2 {
|
|
538
542
|
constructor() {
|
|
539
543
|
super({
|
|
540
544
|
id: 'callStackWidget.goToFile',
|
|
541
|
-
title: ( localize2(
|
|
545
|
+
title: ( localize2(5070, 'Open File')),
|
|
542
546
|
icon: Codicon.goToFile,
|
|
543
547
|
menu: {
|
|
544
548
|
id: MenuId.DebugCallStackToolbar,
|
|
@@ -553,7 +557,7 @@ registerAction2(class extends Action2 {
|
|
|
553
557
|
resource: uri,
|
|
554
558
|
options: {
|
|
555
559
|
selection: range,
|
|
556
|
-
selectionRevealType:
|
|
560
|
+
selectionRevealType: TextEditorSelectionRevealType.CenterIfOutsideViewport,
|
|
557
561
|
},
|
|
558
562
|
});
|
|
559
563
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import n from 'vscode/external/rollup-plugin-styles/dist/runtime/inject-css
|
|
1
|
+
import n from 'vscode/external/rollup-plugin-styles/dist/runtime/inject-css';
|
|
2
2
|
|
|
3
3
|
var css = ".multiCallStackFrame{.header{align-items:center;background:var(--vscode-multiDiffEditor-headerBackground);border-top:1px solid var(--vscode-multiDiffEditor-border);color:var(--vscode-foreground);display:flex;height:24px;padding:0 5px}.title{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;&[role=link]{cursor:pointer}.monaco-icon-label:before{height:auto}}&.collapsed{.header{border-bottom:1px solid var(--vscode-multiDiffEditor-border)}.editorParent{display:none}}.collapse-button{line-height:0;min-height:1px;width:16px;a{cursor:pointer}}.actions{align-items:center;display:flex;gap:8px;margin-right:12px}}.multiCallStackWidget{.multiCallStackFrameContainer{background:none!important}}.monaco-editor .call-stack-go-to-file-link{color:var(--vscode-editorLink-activeForeground)!important;cursor:pointer;text-decoration:underline}";
|
|
4
4
|
n(css,{});
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { IMarkdownString } from "vscode/vscode/vs/base/common/htmlContent";
|
|
2
|
+
import { Disposable } from "vscode/vscode/vs/base/common/lifecycle";
|
|
3
|
+
import { ICodeEditor } from "vscode/vscode/vs/editor/browser/editorBrowser";
|
|
4
|
+
import { Range } from "vscode/vscode/vs/editor/common/core/range";
|
|
5
|
+
import { IEditorContribution } from "vscode/vscode/vs/editor/common/editorCommon";
|
|
6
|
+
import { ITextModel } from "vscode/vscode/vs/editor/common/model";
|
|
7
|
+
import { IConfigurationService } from "vscode/vscode/vs/platform/configuration/common/configuration.service";
|
|
8
|
+
import { IContextKeyService } from "vscode/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
9
|
+
import { IInstantiationService } from "vscode/vscode/vs/platform/instantiation/common/instantiation";
|
|
10
|
+
import { ILogService } from "vscode/vscode/vs/platform/log/common/log.service";
|
|
11
|
+
import { ITestCoverageService } from "vscode/vscode/vs/workbench/contrib/testing/common/testCoverageService.service";
|
|
12
|
+
import { CoverageDetails, DetailType, IStatementCoverage } from "vscode/vscode/vs/workbench/contrib/testing/common/testTypes";
|
|
13
|
+
export declare class CodeCoverageDecorations extends Disposable implements IEditorContribution {
|
|
14
|
+
private readonly editor;
|
|
15
|
+
private readonly coverage;
|
|
16
|
+
private readonly log;
|
|
17
|
+
private loadingCancellation?;
|
|
18
|
+
private readonly displayedStore;
|
|
19
|
+
private readonly hoveredStore;
|
|
20
|
+
private readonly summaryWidget;
|
|
21
|
+
private decorationIds;
|
|
22
|
+
private hoveredSubject?;
|
|
23
|
+
private details?;
|
|
24
|
+
constructor(editor: ICodeEditor, instantiationService: IInstantiationService, coverage: ITestCoverageService, configurationService: IConfigurationService, log: ILogService, contextKeyService: IContextKeyService);
|
|
25
|
+
private updateEditorStyles;
|
|
26
|
+
private hoverInlineDecoration;
|
|
27
|
+
private hoverLineNumber;
|
|
28
|
+
private apply;
|
|
29
|
+
private clear;
|
|
30
|
+
private loadDetails;
|
|
31
|
+
}
|
|
32
|
+
type CoverageDetailsWithBranch = CoverageDetails | {
|
|
33
|
+
type: DetailType.Branch;
|
|
34
|
+
branch: number;
|
|
35
|
+
detail: IStatementCoverage;
|
|
36
|
+
};
|
|
37
|
+
type DetailRange = {
|
|
38
|
+
range: Range;
|
|
39
|
+
primary: boolean;
|
|
40
|
+
metadata: {
|
|
41
|
+
detail: CoverageDetailsWithBranch;
|
|
42
|
+
description: IMarkdownString | undefined;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
export declare class CoverageDetailsModel {
|
|
46
|
+
readonly details: CoverageDetails[];
|
|
47
|
+
readonly ranges: DetailRange[];
|
|
48
|
+
constructor(details: CoverageDetails[], textModel: ITextModel);
|
|
49
|
+
describe(detail: CoverageDetailsWithBranch, model: ITextModel): IMarkdownString | undefined;
|
|
50
|
+
}
|
|
51
|
+
export {};
|