aboutsummaryrefslogtreecommitdiffstats
path: root/commands.js
blob: a2e53a18b468ed135c93ae7c43c3a07f63a86a2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
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');