From 749eea5ecfd5b04547350820122ae7d491631577 Mon Sep 17 00:00:00 2001 From: Shin'ya Ueoka Date: Sun, 1 Oct 2017 08:57:20 +0900 Subject: [PATCH] completion in background --- src/actions/command.js | 10 +++++----- src/pages/console.js | 11 ++++++----- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/actions/command.js b/src/actions/command.js index 93c06b8..dd755dc 100644 --- a/src/actions/command.js +++ b/src/actions/command.js @@ -63,12 +63,12 @@ const bufferCommand = (keywords) => { }); }; -const getOpenCompletions = (keywords) => { +const getOpenCompletions = (command, keywords) => { return histories.getCompletions(keywords).then((pages) => { let historyItems = pages.map((page) => { return { caption: page.title, - content: page.url, + content: command + ' ' + page.url, url: page.url }; }); @@ -76,7 +76,7 @@ const getOpenCompletions = (keywords) => { let engineItems = engineNames.filter(name => name.startsWith(keywords)) .map(name => ({ caption: name, - content: name + content: command + ' ' + name })); let completions = []; @@ -118,14 +118,14 @@ const getCompletions = (command, keywords) => { case 'open': case 't': case 'tabopen': - return getOpenCompletions(keywords); + return getOpenCompletions(command, keywords); case 'b': case 'buffer': return tabs.getCompletions(keywords).then((gotTabs) => { let items = gotTabs.map((tab) => { return { caption: tab.title, - content: tab.title, + content: command + ' ' + tab.title, url: tab.url, icon: tab.favIconUrl }; diff --git a/src/pages/console.js b/src/pages/console.js index 40e713e..1e1b3fd 100644 --- a/src/pages/console.js +++ b/src/pages/console.js @@ -26,9 +26,9 @@ completionStore.subscribe(() => { if (state.groupSelection >= 0) { let item = state.groups[state.groupSelection].items[state.itemSelection]; - input.value = completionOrigin + ' ' + item.content; + input.value = item.content; } else if (state.groups.length > 0) { - input.value = completionOrigin + ' '; + input.value = completionOrigin; } }); @@ -68,6 +68,10 @@ const handleKeyup = (e) => { if (e.target.value === prevValue) { return; } + + let input = window.document.querySelector('#vimvixen-console-command-input'); + completionOrigin = input.value; + prevValue = e.target.value; return browser.runtime.sendMessage({ type: messages.CONSOLE_CHANGEED, @@ -84,9 +88,6 @@ window.addEventListener('load', () => { const updateCompletions = (completions) => { completionStore.dispatch(completionActions.setItems(completions)); - - let input = window.document.querySelector('#vimvixen-console-command-input'); - completionOrigin = input.value.split(' ')[0]; }; const update = (state) => {