diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2018-05-10 20:26:01 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-10 20:26:01 +0900 |
commit | 439c2a3df9c70c0baa26e2c9d597e109348e5499 (patch) | |
tree | a1a51e4643687635b0ad9bbc9af812cac953fd77 /src/background/actions | |
parent | d5116987760d6c43a4e0914537980bc93bf01fa3 (diff) | |
parent | 53c3ddab2e0efa656ab04726a85df04bb899f4d8 (diff) |
Merge pull request #388 from ueokande/create-bookmarks
addbookmark command
Diffstat (limited to 'src/background/actions')
-rw-r--r-- | src/background/actions/command.js | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/background/actions/command.js b/src/background/actions/command.js index 2f7305a..be742cd 100644 --- a/src/background/actions/command.js +++ b/src/background/actions/command.js @@ -1,5 +1,7 @@ +import messages from 'shared/messages'; import actions from '../actions'; import * as tabs from '../shared/tabs'; +import * as bookmarks from '../shared/bookmarks'; import * as parsers from 'shared/commands/parsers'; import * as properties from 'shared/settings/properties'; @@ -39,6 +41,14 @@ const bufferCommand = (keywords) => { }); }; +const addBookmarkCommand = (tab, args) => { + if (!args[0]) { + return Promise.resolve(); + } + + return bookmarks.create(args.join(' '), tab.url); +}; + const setCommand = (args) => { if (!args[0]) { return Promise.resolve(); @@ -52,7 +62,7 @@ const setCommand = (args) => { }; }; -const exec = (line, settings) => { +const exec = (tab, line, settings) => { let [name, args] = parsers.parseCommandLine(line); switch (name) { @@ -68,6 +78,19 @@ const exec = (line, settings) => { case 'b': case 'buffer': return bufferCommand(args); + case 'addbookmark': + return addBookmarkCommand(tab, args).then((item) => { + if (!item) { + return browser.tabs.sendMessage(tab.id, { + type: messages.CONSOLE_SHOW_ERROR, + text: 'Could not create a bookmark', + }); + } + return browser.tabs.sendMessage(tab.id, { + type: messages.CONSOLE_SHOW_INFO, + text: 'Saved current page: ' + item.url, + }); + }); case 'set': return setCommand(args); case '': |