diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/background/actions/command.js | 17 | ||||
-rw-r--r-- | src/background/components/background.js | 11 |
2 files changed, 22 insertions, 6 deletions
diff --git a/src/background/actions/command.js b/src/background/actions/command.js index f11c61b..4c52bca 100644 --- a/src/background/actions/command.js +++ b/src/background/actions/command.js @@ -1,5 +1,7 @@ +import actions from '../actions'; import * as tabs from 'background/tabs'; import * as parsers from 'shared/commands/parsers'; +import * as properties from 'shared/settings/properties'; const openCommand = (url) => { return browser.tabs.query({ @@ -37,6 +39,19 @@ const bufferCommand = (keywords) => { }); }; +const setCommand = (args) => { + if (!args[0]) { + return Promise.resolve(); + } + + let [name, value] = parsers.parseSetOption(args[0], properties.types); + return { + type: actions.SETTING_SET_PROPERTY, + name, + value + }; +}; + const exec = (line, settings) => { let [name, args] = parsers.parseCommandLine(line); @@ -53,6 +68,8 @@ const exec = (line, settings) => { case 'b': case 'buffer': return bufferCommand(args); + case 'set': + return setCommand(args); case '': return Promise.resolve(); } diff --git a/src/background/components/background.js b/src/background/components/background.js index 19bf27f..9578e78 100644 --- a/src/background/components/background.js +++ b/src/background/components/background.js @@ -36,12 +36,11 @@ export default class BackgroundComponent { return this.store.dispatch( tabActions.openToTab(message.url, sender.tab), sender); case messages.CONSOLE_ENTER_COMMAND: - return commandActions.exec(message.text, settings.value).catch((e) => { - return browser.tabs.sendMessage(sender.tab.id, { - type: messages.CONSOLE_SHOW_ERROR, - text: e.message, - }); - }); + this.store.dispatch( + commandActions.exec(message.text, settings.value), + sender + ); + return this.broadcastSettingsChanged(); case messages.SETTINGS_QUERY: return Promise.resolve(this.store.getState().setting.value); case messages.CONSOLE_QUERY_COMPLETIONS: |