Skip to content

Commit

Permalink
fix register view error handling (fixes #316)
Browse files Browse the repository at this point in the history
  • Loading branch information
71 committed Nov 1, 2023
1 parent e15330a commit 5fffe3b
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 4 deletions.
15 changes: 11 additions & 4 deletions src/state/registers-view.ts
Original file line number Diff line number Diff line change
Expand Up @@ -221,8 +221,15 @@ class RegisterTreeItem extends vscode.TreeItem implements vscode.Disposable {

public async values() {
if (this._values === undefined) {
this._values = this.register.get()
.then((values) => values?.map((v) => new ValueTreeItem(v)) ?? []);
this._values = (async () => {
try {
const values = await this.register.get();

return values?.map((v) => new ValueTreeItem(v)) ?? [];
} catch (e) {
return [new ValueTreeItem(`${e}`, "warning")];
}
})();
}

return await this._values;
Expand All @@ -234,10 +241,10 @@ class RegisterTreeItem extends vscode.TreeItem implements vscode.Disposable {
}

class ValueTreeItem extends vscode.TreeItem {
public constructor(label: string) {
public constructor(label: string, icon: string = "symbol-string") {
super(label, vscode.TreeItemCollapsibleState.None);

this.iconPath = new vscode.ThemeIcon("symbol-string");
this.iconPath = new vscode.ThemeIcon(icon);
}
}

Expand Down
13 changes: 13 additions & 0 deletions src/state/registers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -707,6 +707,19 @@ export abstract class RegisterSet implements vscode.Disposable {
* The set of all registers linked to a specific document.
*/
export class DocumentRegisters extends RegisterSet {
public override get registers(): Set<Register> {
const registers = super.registers;

// Remove special registers.
for (const register of registers) {
if (!(register instanceof GeneralPurposeRegister)) {
registers.delete(register);
}
}

return registers;
}

public constructor(
/**
* The document to which the registers are linked.
Expand Down

0 comments on commit 5fffe3b

Please sign in to comment.