diff options
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/settings/default.js (renamed from src/shared/default-settings.js) | 38 | ||||
-rw-r--r-- | src/shared/settings/values.js | 35 |
2 files changed, 54 insertions, 19 deletions
diff --git a/src/shared/default-settings.js b/src/shared/settings/default.js index 218390b..fc259b8 100644 --- a/src/shared/default-settings.js +++ b/src/shared/settings/default.js @@ -66,29 +66,29 @@ export default { 'form': { 'keymaps': { - 'scroll.vertically?{count:-1}': 'j', - 'scroll.vertically?{count:1}': 'k', - 'scroll.horizonally?{count:-1}': 'h', - 'scroll.horizonally?{count:1}': 'l', + 'scroll.vertically?{"count":1}': 'j', + 'scroll.vertically?{"count":-1}': 'k', + 'scroll.horizonally?{"count":-1}': 'h', + 'scroll.horizonally?{"count":1}': 'l', 'scroll.home': '0', 'scroll.end': '$', - 'scroll.pages?{count:-0.5}': '<C-U>', - 'scroll.pages?{count:0.5}': '<C-D>', - 'scroll.pages?{count:-1}': '<C-B>', - 'scroll.pages?{count:1}': '<C-F>', + 'scroll.pages?{"count":-0.5}': '<C-U>', + 'scroll.pages?{"count":0.5}': '<C-D>', + 'scroll.pages?{"count":-1}': '<C-B>', + 'scroll.pages?{"count":1}': '<C-F>', 'tabs.close': 'd', 'tabs.reopen': 'u', - 'tabs.next?{count:1}': 'J', - 'tabs.prev?{count:1}': 'K', + 'tabs.next?{"count":1}': 'J', + 'tabs.prev?{"count":1}': 'K', 'tabs.first': 'g0', 'tabs.last': 'g$', - 'tabs.reload?{cache:true}': 'r', + 'tabs.reload?{"cache":true}': 'r', 'tabs.pin.toggle': 'zp', 'tabs.duplicate': 'zd', - 'follow.start?{newTab:false}': 'f', - 'follow.start?{newTab:true}': 'F', + 'follow.start?{"newTab":false}': 'f', + 'follow.start?{"newTab":true}': 'F', 'navigate.histories.prev': 'H', 'navigate.histories.next': 'L', 'navigate.link.next': ']]', @@ -101,12 +101,12 @@ export default { 'find.prev': 'N', 'command.show': ':', - 'command.show.open?{alter:false}': 'o', - 'command.show.open?{alter:true}': 'O', - 'command.show.tabopen?{alter:false}': 't', - 'command.show.tabopen?{alter:true}': 'T', - 'command.show.winopen?{alter:false}': 'w', - 'command.show.winopen?{alter:true}': 'W', + 'command.show.open?{"alter":false}': 'o', + 'command.show.open?{"alter":true}': 'O', + 'command.show.tabopen?{"alter":false}': 't', + 'command.show.tabopen?{"alter":true}': 'T', + 'command.show.winopen?{"alter":false}': 'w', + 'command.show.winopen?{"alter":true}': 'W', 'command.show.buffer': 'b', 'addon.toggle.enabled': '<S-Esc>', diff --git a/src/shared/settings/values.js b/src/shared/settings/values.js new file mode 100644 index 0000000..d86cfdc --- /dev/null +++ b/src/shared/settings/values.js @@ -0,0 +1,35 @@ +const operationFromName = (name) => { + let [type, argStr] = name.split('?'); + let args = {}; + if (argStr) { + args = JSON.parse(argStr); + } + return Object.assign({ type }, args); +}; + +const fromJson = (json) => { + return JSON.parse(json); +}; + +const fromForm = (form) => { + let keymaps = {}; + for (let name of Object.keys(form.keymaps)) { + let keys = form.keymaps[name]; + keymaps[keys] = operationFromName(name); + } + + let engines = {}; + for (let { name, url } of form.search.engines) { + engines[name] = url; + } + let search = { + default: form.search.default, + engines, + }; + + let blacklist = form.blacklist; + + return { keymaps, search, blacklist }; +}; + +export { fromJson, fromForm }; |