From 4445309334e309c7ad74ec2011d40c6998fd4653 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Vitor=20Brand=C3=A3o?= Date: Thu, 24 May 2018 17:14:19 -0300 Subject: [PATCH] Adds command to close all tabs Type :qa or :quitall to close all tabs --- README.md | 6 +++++- src/background/actions/command.js | 11 +++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a4a7418..23d7e8d 100644 --- a/README.md +++ b/README.md @@ -86,10 +86,14 @@ To adjust the search engine default and add/remove search engines, see the [sear Open a URL or search keywords by search engine in new tab. -#### `:quit` command +#### `:quit` or `:q` command Close the current tab. +#### `:quitall` or `:qa` command + +Close all tabs. + #### `:bdelete` command Close a certain tab. diff --git a/src/background/actions/command.js b/src/background/actions/command.js index f1ee5b5..6d83450 100644 --- a/src/background/actions/command.js +++ b/src/background/actions/command.js @@ -27,6 +27,14 @@ const tabcloseCommand = () => { }); }; +const tabcloseAllCommand = () => { + return browser.tabs.query({ + currentWindow: true + }).then((tabList) => { + return browser.tabs.remove(tabList.map(tab => tab.id)); + }); +}; + const winopenCommand = (url) => { return browser.windows.create({ url }); }; @@ -117,6 +125,9 @@ const exec = (tab, line, settings) => { case 'q': case 'quit': return tabcloseCommand(); + case 'qa': + case 'quitall': + return tabcloseAllCommand() case '': return Promise.resolve(); }