A fork of https://github.com/ueokande/vim-vixen
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.1 KiB
98 lines
2.1 KiB
import * as messages from '../../shared/messages'; |
|
import * as actions from './index'; |
|
|
|
const hide = (): actions.ConsoleAction => { |
|
return { |
|
type: actions.CONSOLE_HIDE, |
|
}; |
|
}; |
|
|
|
const showCommand = (text: string): actions.ConsoleAction => { |
|
return { |
|
type: actions.CONSOLE_SHOW_COMMAND, |
|
text: text |
|
}; |
|
}; |
|
|
|
const showFind = (): actions.ConsoleAction => { |
|
return { |
|
type: actions.CONSOLE_SHOW_FIND, |
|
}; |
|
}; |
|
|
|
const showError = (text: string): actions.ConsoleAction => { |
|
return { |
|
type: actions.CONSOLE_SHOW_ERROR, |
|
text: text |
|
}; |
|
}; |
|
|
|
const showInfo = (text: string): actions.ConsoleAction => { |
|
return { |
|
type: actions.CONSOLE_SHOW_INFO, |
|
text: text |
|
}; |
|
}; |
|
|
|
const hideCommand = (): actions.ConsoleAction => { |
|
window.top.postMessage(JSON.stringify({ |
|
type: messages.CONSOLE_UNFOCUS, |
|
}), '*'); |
|
return { |
|
type: actions.CONSOLE_HIDE_COMMAND, |
|
}; |
|
}; |
|
|
|
const enterCommand = async( |
|
text: string, |
|
): Promise<actions.ConsoleAction> => { |
|
await browser.runtime.sendMessage({ |
|
type: messages.CONSOLE_ENTER_COMMAND, |
|
text, |
|
}); |
|
return hideCommand(); |
|
}; |
|
|
|
const enterFind = (text?: string): actions.ConsoleAction => { |
|
window.top.postMessage(JSON.stringify({ |
|
type: messages.CONSOLE_ENTER_FIND, |
|
text, |
|
}), '*'); |
|
return hideCommand(); |
|
}; |
|
|
|
const setConsoleText = (consoleText: string): actions.ConsoleAction => { |
|
return { |
|
type: actions.CONSOLE_SET_CONSOLE_TEXT, |
|
consoleText, |
|
}; |
|
}; |
|
|
|
const getCompletions = async(text: string): Promise<actions.ConsoleAction> => { |
|
let completions = await browser.runtime.sendMessage({ |
|
type: messages.CONSOLE_QUERY_COMPLETIONS, |
|
text, |
|
}); |
|
return { |
|
type: actions.CONSOLE_SET_COMPLETIONS, |
|
completions, |
|
completionSource: text, |
|
}; |
|
}; |
|
|
|
const completionNext = (): actions.ConsoleAction => { |
|
return { |
|
type: actions.CONSOLE_COMPLETION_NEXT, |
|
}; |
|
}; |
|
|
|
const completionPrev = (): actions.ConsoleAction => { |
|
return { |
|
type: actions.CONSOLE_COMPLETION_PREV, |
|
}; |
|
}; |
|
|
|
export { |
|
hide, showCommand, showFind, showError, showInfo, hideCommand, setConsoleText, |
|
enterCommand, enterFind, getCompletions, completionNext, completionPrev, |
|
};
|
|
|