Skip to content

Commit 8b35435

Browse files
authored
Show selected item in new DB panel (#1824)
1 parent 109ee04 commit 8b35435

2 files changed

Lines changed: 28 additions & 0 deletions

File tree

extensions/ql-vscode/src/databases/db-module.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
import { window } from "vscode";
12
import { App, AppMode } from "../common/app";
23
import { isCanary, isNewQueryRunExperienceEnabled } from "../config";
34
import { extLogger } from "../common";
45
import { DisposableObject } from "../pure/disposable-object";
56
import { DbConfigStore } from "./config/db-config-store";
67
import { DbManager } from "./db-manager";
78
import { DbPanel } from "./ui/db-panel";
9+
import { DbSelectionDecorationProvider } from "./ui/db-selection-decoration-provider";
810

911
export class DbModule extends DisposableObject {
1012
public async initialize(app: App): Promise<void> {
@@ -30,6 +32,10 @@ export class DbModule extends DisposableObject {
3032

3133
this.push(dbPanel);
3234
this.push(dbConfigStore);
35+
36+
const dbSelectionDecorationProvider = new DbSelectionDecorationProvider();
37+
38+
window.registerFileDecorationProvider(dbSelectionDecorationProvider);
3339
}
3440
}
3541

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import {
2+
CancellationToken,
3+
FileDecoration,
4+
FileDecorationProvider,
5+
ProviderResult,
6+
Uri,
7+
} from "vscode";
8+
9+
export class DbSelectionDecorationProvider implements FileDecorationProvider {
10+
provideFileDecoration(
11+
uri: Uri,
12+
_token: CancellationToken,
13+
): ProviderResult<FileDecoration> {
14+
if (uri?.query === "selected=true") {
15+
return {
16+
badge: "✔",
17+
};
18+
}
19+
20+
return undefined;
21+
}
22+
}

0 commit comments

Comments
 (0)