From 42a55663b8a400bc6453fb232b448ce3fb911ddb Mon Sep 17 00:00:00 2001 From: Zak Stroud Date: Sat, 22 Nov 2025 15:42:14 -0800 Subject: [PATCH 1/4] feat: warn users if they run tabonly with arguments tabonly can be destructive. The tabo alias looks like it could be for tabopen, and running tabonly with arguments still closed all other tabs. Fixes: #5239 --- src/excmds.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/excmds.ts b/src/excmds.ts index a3b5e3f0..3ffaaa5d 100644 --- a/src/excmds.ts +++ b/src/excmds.ts @@ -2963,7 +2963,12 @@ async function tabFromIndex(index?: number | "%" | "#" | string): Promise 0) { + fillcmdline_tmp(3000, "# tabonly doesn't accept arguments, did you mean tabopen?") + return + } + const tabs = await browser.tabs.query({ pinned: false, active: false, From 30ae6d7a799eb106aba6bcf188906ba9458dd0d2 Mon Sep 17 00:00:00 2001 From: Zak Stroud Date: Sun, 23 Nov 2025 13:24:44 -0800 Subject: [PATCH 2/4] feat: remove the tabo alias Since tabonly can be so destructive, remove it entirely with a note about how to add it back if someone needs it. --- src/lib/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/config.ts b/src/lib/config.ts index 3ea9dc0f..6376a5ac 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -658,7 +658,7 @@ export class default_config { tabgroupswitch: "tgroupswitch", tabnew: "tabopen", tabm: "tabmove", - tabo: "tabonly", + tabo: "fillcmdline_tmp 3000 The :tabo alias has been removed. You can add it back with :command tabo tabonly", tn: "tabnext_gt", bn: "tabnext_gt", tnext: "tabnext_gt", From b2e6bc62a681946bd2144f64aedd041b75f11263 Mon Sep 17 00:00:00 2001 From: Zak Stroud Date: Mon, 24 Nov 2025 20:20:30 -0800 Subject: [PATCH 3/4] refactor: remove reference to tabopen from tabonly error message The error made sense when tabo was a built in alias and could be confused with tabopen. With tabo removed, the warning is still useful but the mention in the error does not. --- src/excmds.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/excmds.ts b/src/excmds.ts index 3ffaaa5d..fc9a26fe 100644 --- a/src/excmds.ts +++ b/src/excmds.ts @@ -2965,7 +2965,7 @@ async function tabFromIndex(index?: number | "%" | "#" | string): Promise 0) { - fillcmdline_tmp(3000, "# tabonly doesn't accept arguments, did you mean tabopen?") + fillcmdline_tmp(3000, "# tabonly doesn't accept arguments, run without arguments to close all tabs in this window") return } From 0cd0e505fe2d4500c6db8daa24ac0a833f805795 Mon Sep 17 00:00:00 2001 From: Oliver Blanthorn Date: Sun, 30 Nov 2025 17:11:58 +0100 Subject: [PATCH 4/4] Bikeshed :tabo deprecation message --- src/excmds.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/excmds.ts b/src/excmds.ts index fc9a26fe..de108d59 100644 --- a/src/excmds.ts +++ b/src/excmds.ts @@ -2965,7 +2965,7 @@ async function tabFromIndex(index?: number | "%" | "#" | string): Promise 0) { - fillcmdline_tmp(3000, "# tabonly doesn't accept arguments, run without arguments to close all tabs in this window") + fillcmdline_tmp(3000, "# tabonly doesn't accept arguments, run without arguments to close all background tabs in this window") return }