aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/background/actions/command.js17
-rw-r--r--src/background/components/background.js11
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: