From 17b6b68afb5183ed92f74304308f72487c53b8ef Mon Sep 17 00:00:00 2001 From: Wang Zhuochun Date: Sat, 20 Sep 2014 02:01:20 +0800 Subject: [PATCH] Add count support to tab closing/restoring commands The current tab and count-1 tabs to the right are closed. If the current tab is pinned, no tabs are closed at all. --- extension/packages/commands.coffee | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/extension/packages/commands.coffee b/extension/packages/commands.coffee index 9481d63..67eb687 100644 --- a/extension/packages/commands.coffee +++ b/extension/packages/commands.coffee @@ -199,13 +199,16 @@ command_tab_last = (vim) -> vim.rootWindow.gBrowser.selectTabAtIndex(-1) # Close current tab. -command_close_tab = (vim) -> - unless vim.rootWindow.gBrowser.selectedTab.pinned - vim.rootWindow.gBrowser.removeCurrentTab() +command_close_tab = (vim, event, count) -> + { gBrowser } = vim.rootWindow + return if gBrowser.selectedTab.pinned + currentIndex = gBrowser.visibleTabs.indexOf(gBrowser.selectedTab) + for tab in gBrowser.visibleTabs[currentIndex...(currentIndex + count)] + gBrowser.removeTab(tab) # Restore last closed tab. -command_restore_tab = (vim) -> - vim.rootWindow.undoCloseTab() +command_restore_tab = (vim, event, count) -> + vim.rootWindow.undoCloseTab() for [1..count] helper_follow = ({ inTab, multiple }, vim, event, count) -> callback = (matchedMarker, markers) -> -- 2.39.3