Add bdeletes! comand

jh-changes
Shin'ya Ueoka 7 years ago
parent c4fb6f0131
commit 9b3d12eb31
  1. 2
      src/background/actions/command.js
  2. 1
      src/background/shared/completions/index.js
  3. 10
      src/background/shared/tabs.js

@ -86,6 +86,8 @@ const exec = (tab, line, settings) => {
return bufferCommand(args); return bufferCommand(args);
case 'bdeletes': case 'bdeletes':
return tabs.closeTabsByKeywords(args.join(' ')); return tabs.closeTabsByKeywords(args.join(' '));
case 'bdeletes!':
return tabs.closeTabsByKeywordsForce(args.join(' '));
case 'addbookmark': case 'addbookmark':
return addBookmarkCommand(tab, args).then((item) => { return addBookmarkCommand(tab, args).then((item) => {
if (!item) { if (!item) {

@ -89,6 +89,7 @@ const getCompletions = (line, settings) => {
case 'b': case 'b':
case 'buffer': case 'buffer':
case 'bdeletes': case 'bdeletes':
case 'bdeletes!':
return tabs.getCompletions(keywords).then((gotTabs) => { return tabs.getCompletions(keywords).then((gotTabs) => {
let items = gotTabs.map((tab) => { let items = gotTabs.map((tab) => {
return { return {

@ -13,6 +13,13 @@ const closeTabForce = (id) => {
}; };
const closeTabsByKeywords = (keyword) => { const closeTabsByKeywords = (keyword) => {
tabCompletions.getCompletions(keyword).then((tabs) => {
let tabs2 = tabs.filter(tab => !tab.pinned);
browser.tabs.remove(tabs2.map(tab => tab.id));
});
};
const closeTabsByKeywordsForce = (keyword) => {
tabCompletions.getCompletions(keyword).then((tabs) => { tabCompletions.getCompletions(keyword).then((tabs) => {
browser.tabs.remove(tabs.map(tab => tab.id)); browser.tabs.remove(tabs.map(tab => tab.id));
}); });
@ -127,7 +134,8 @@ const duplicate = (id) => {
}; };
export { export {
closeTab, closeTabForce, closeTabsByKeywords, reopenTab, selectAt, selectByKeyword, closeTab, closeTabForce, closeTabsByKeywords, closeTabsByKeywordsForce,
reopenTab, selectAt, selectByKeyword,
selectPrevTab, selectNextTab, selectFirstTab, selectPrevTab, selectNextTab, selectFirstTab,
selectLastTab, selectTab, reload, updateTabPinned, selectLastTab, selectTab, reload, updateTabPinned,
toggleTabPinned, duplicate toggleTabPinned, duplicate