diff options
| author | ilya | 2010-02-26 22:21:45 -0800 |
|---|---|---|
| committer | ilya | 2010-02-26 22:47:26 -0800 |
| commit | 7c2cb40b4ee49935910c6e0308df55aaf906256f (patch) | |
| tree | e4e9d1b029b3561d2f44a6206b7407cc24e19be0 /commands.js | |
| parent | 9286b8f61fe595ab37f8de2bf36d2f2e1d537e15 (diff) | |
| download | vimium-7c2cb40b4ee49935910c6e0308df55aaf906256f.tar.bz2 | |
Key Mapping - Create an available commands structure and factor out the key registry into commands.js
Diffstat (limited to 'commands.js')
| -rw-r--r-- | commands.js | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/commands.js b/commands.js new file mode 100644 index 00000000..a2e53a18 --- /dev/null +++ b/commands.js @@ -0,0 +1,99 @@ +var availableCommands = {}; +var keyToCommandRegistry = {}; + +function addCommand(command, description, isBackgroundCommand) { + if (availableCommands[command]) + { + console.log(command, "is already defined! Check commands.js for duplicates."); + return; + } + + availableCommands[command] = { description: description, isBackgroundCommand: isBackgroundCommand }; +} + +function mapKeyToCommand(key, command) +{ + if (!availableCommands[command]) + { + console.log(command, "doesn't exist!"); + return; + } + + keyToCommandRegistry[key] = { command: command, isBackgroundCommand: availableCommands[command].isBackgroundCommand }; +} + +addCommand('scrollDown', ''); +addCommand('scrollUp', ''); +addCommand('scrollLeft', ''); +addCommand('scrollRight', ''); +addCommand('scrollToTop', ''); +addCommand('scrollToBottom', ''); +addCommand('scrollPageDown', ''); +addCommand('scrollPageUp', ''); +addCommand('scrollFullPageDown', ''); +addCommand('scrollFullPageUp', ''); +addCommand('reload', ''); +addCommand('toggleViewSource', ''); +addCommand('enterInsertMode', ''); +addCommand('goBack', ''); +addCommand('goBack', ''); +addCommand('goForward', ''); +addCommand('goForward', ''); +addCommand('goForward', ''); +addCommand('zoomIn', ''); +addCommand('zoomOut', ''); +addCommand('activateLinkHintsMode', ''); +addCommand('activateLinkHintsModeToOpenInNewTab', ''); +addCommand('enterFindMode', ''); +addCommand('performFind', ''); +addCommand('performBackwardsFind', ''); +addCommand('copyCurrentUrl', ''); +addCommand('nextTab', '', true); +addCommand('previousTab', '', true); +addCommand('createTab', '', true); +addCommand('removeTab', '', true); +addCommand('restoreTab', '', true); + +mapKeyToCommand('j', 'scrollDown'); +mapKeyToCommand('k', 'scrollUp'); +mapKeyToCommand('h', 'scrollLeft'); +mapKeyToCommand('l', 'scrollRight'); +mapKeyToCommand('gg', 'scrollToTop'); +mapKeyToCommand('G', 'scrollToBottom'); +mapKeyToCommand('<c-e>', 'scrollDown'); +mapKeyToCommand('<c-y>', 'scrollUp'); +mapKeyToCommand('<c-d>', 'scrollPageDown'); +mapKeyToCommand('<c-u>', 'scrollPageUp'); +mapKeyToCommand('<c-f>', 'scrollFullPageDown'); +mapKeyToCommand('<c-b>', 'scrollFullPageUp'); +mapKeyToCommand('r', 'reload'); +mapKeyToCommand('gf', 'toggleViewSource'); + +mapKeyToCommand('i', 'enterInsertMode'); + +mapKeyToCommand('ba', 'goBack'); +mapKeyToCommand('H', 'goBack'); +mapKeyToCommand('fw', 'goForward'); +mapKeyToCommand('fo', 'goForward'); +mapKeyToCommand('L', 'goForward'); + +mapKeyToCommand('zi', 'zoomIn'); +mapKeyToCommand('zo', 'zoomOut'); + +mapKeyToCommand('f', 'activateLinkHintsMode'); +mapKeyToCommand('F', 'activateLinkHintsModeToOpenInNewTab'); + +mapKeyToCommand('/', 'enterFindMode'); +mapKeyToCommand('n', 'performFind'); +mapKeyToCommand('N', 'performBackwardsFind'); + +mapKeyToCommand('yy', 'copyCurrentUrl'); + +mapKeyToCommand('K', 'nextTab'); +mapKeyToCommand('J', 'previousTab'); +mapKeyToCommand('gt', 'nextTab'); +mapKeyToCommand('gT', 'previousTab'); + +mapKeyToCommand('t', 'createTab'); +mapKeyToCommand('d', 'removeTab'); +mapKeyToCommand('u', 'restoreTab'); |
