Skip to content

Commit 09019a5

Browse files
show when it's not configured vs no owner
1 parent 0986bd3 commit 09019a5

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

src/extension.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ class StatusProvider implements vscode.Disposable {
202202

203203
private _status: Status = 'idle';
204204
private _owner: Owner | undefined = undefined;
205+
private _isConfigured: boolean | null = null;
205206

206207
get status(): Status {
207208
return this._status;
@@ -219,6 +220,14 @@ class StatusProvider implements vscode.Disposable {
219220
this.update();
220221
}
221222

223+
get isConfigured(): boolean | null {
224+
return this._isConfigured;
225+
}
226+
set isConfigured(value: boolean | null) {
227+
this._isConfigured = value;
228+
this.update();
229+
}
230+
222231
private update() {
223232
if (this.status === 'error') {
224233
this.statusBarItem.command = 'code-ownership-vscode.showOutputChannel';
@@ -239,9 +248,13 @@ class StatusProvider implements vscode.Disposable {
239248
this.statusBarItem.text = `$(account) Owner: ${this.owner.teamName}`;
240249
this.statusBarItem.tooltip = undefined;
241250
this.statusBarItem.show();
251+
} else if (this.isConfigured === false) {
252+
this.statusBarItem.text = `$(info) Ownership: not configured`;
253+
this.statusBarItem.tooltip = 'This workspace is not configured for code ownership';
254+
this.statusBarItem.show();
242255
} else {
243256
this.statusBarItem.text = `$(warning) Owner: none`;
244-
this.statusBarItem.tooltip = undefined;
257+
this.statusBarItem.tooltip = 'This file has no assigned team ownership';
245258
this.statusBarItem.show();
246259
}
247260
}
@@ -265,6 +278,7 @@ class Worker implements vscode.Disposable {
265278
private async checkConfiguration(): Promise<void> {
266279
const binaryPath = resolve(this.workspace.uri.fsPath, 'bin/codeownership');
267280
this.isConfigured = existsSync(binaryPath);
281+
this.statusProvider.isConfigured = this.isConfigured;
268282

269283
if (!this.isConfigured) {
270284
log('info', `No code ownership binary found in workspace: ${this.workspace.name}`);

0 commit comments

Comments
 (0)