Skip to content

Commit 2c275b9

Browse files
committed
Add 'Remove from Recent' to context menu of Recent entry
1 parent aa69807 commit 2c275b9

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

package.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,10 @@
261261
"title": "Remove from Favorites",
262262
"icon": "$(star-empty)"
263263
},
264+
{
265+
"command": "intersystems-community.servermanager.removeFromRecent",
266+
"title": "Remove from Recent"
267+
},
264268
{
265269
"command": "intersystems-community.servermanager.openPortalExternal",
266270
"title": "Open Management Portal in External Browser",
@@ -411,6 +415,10 @@
411415
"command": "intersystems-community.servermanager.removeFromStarred",
412416
"when": "false"
413417
},
418+
{
419+
"command": "intersystems-community.servermanager.removeFromRecent",
420+
"when": "false"
421+
},
414422
{
415423
"command": "intersystems-community.servermanager.openPortalExternal",
416424
"when": "false"
@@ -592,6 +600,11 @@
592600
"command": "intersystems-community.servermanager.editSettings",
593601
"when": "view == intersystems-community_servermanager && viewItem =~ /\\.server\\./",
594602
"group": "1_edit@20"
603+
},
604+
{
605+
"command": "intersystems-community.servermanager.removeFromRecent",
606+
"when": "view == intersystems-community_servermanager && viewItem =~ /^recent.server./",
607+
"group": "2_manage@10"
595608
}
596609
]
597610
}

src/extension.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,13 @@ export function activate(context: vscode.ExtensionContext) {
8787
}
8888
}),
8989
);
90+
context.subscriptions.push(
91+
vscode.commands.registerCommand(`${extensionId}.removeFromRecent`, async (server?: ServerTreeItem) => {
92+
if (server?.name) {
93+
await view.removeFromRecents(server.name);
94+
}
95+
}),
96+
);
9097
context.subscriptions.push(
9198
vscode.commands.registerCommand(`${extensionId}.openPortalExternal`, (server?: ServerTreeItem) => {
9299
if (server?.contextValue?.match(/\.server\./) && server.name) {

src/ui/serverManagerView.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,12 @@ export class ServerManagerView {
6363
}
6464
}
6565

66+
public async removeFromRecents(name: string) {
67+
recentsArray = recentsArray.filter((n) => n !== name);
68+
this.refreshTree();
69+
await this._globalState.update(StorageIds.recents, recentsArray);
70+
}
71+
6672
public async addToFavorites(name: string) {
6773
if (!favoritesMap.has(name)) {
6874
favoritesMap.set(name, null);

0 commit comments

Comments
 (0)