]> git.gir.st - VimFx.git/blob - packages/commands.coffee
base for post recovert
[VimFx.git] / packages / commands.coffee
1 SCROLL_AMOUNT = 60
2
3 { classes: Cc, interfaces: Ci, utils: Cu } = Components
4
5 utils = require 'utils'
6
7 commands =
8 'g,g': (window) ->
9 window.scrollTo(0, 0)
10
11 'G': (window) ->
12 window.scrollTo(0, window.document.body.scrollHeight)
13
14 'j': (window) ->
15 window.scrollBy(0, SCROLL_AMOUNT)
16
17 'k': (window) ->
18 window.scrollBy(0, -SCROLL_AMOUNT)
19
20 'd': (window) ->
21 window.scrollBy(0, window.innerHeight)
22
23 'u': (window) ->
24 window.scrollBy(0, -window.innerHeight)
25
26 'J': (window) ->
27 if rootWindow = utils.getRootWindow window
28 rootWindow.gBrowser.tabContainer.advanceSelectedTab(1, true);
29
30 'K': (window) ->
31 if rootWindow = utils.getRootWindow window
32 rootWindow.gBrowser.tabContainer.advanceSelectedTab(-1, true);
33
34 'x': (window) ->
35 if rootWindow = utils.getRootWindow window
36 rootWindow.gBrowser.removeCurrentTab()
37
38 'X': (window) ->
39 if rootWindow = utils.getRootWindow window
40 ss = utils.getSessionStore()
41 if ss and ss.getClosedTabCount(rootWindow) > 0
42 ss.undoCloseTab rootWindow, 0
43
44 'f': (window) ->
45
46 'Esc': (window) ->
47 window.document.activeElement?.blur()
48
49
50 getCommand = (keys) ->
51 sequence = [key.toString() for key in keys].join(',')
52 if command = commands[sequence]
53 return command
54 else if keys.length > 0
55 return getCommand keys.slice(1)
56 else
57 undefined
58
59 maybeCommand = (keys) ->
60 if keys.length == 0
61 return false
62 else
63 sequence = [key.toString() for key in keys].join(',')
64 for s in Object.keys(commands)
65 if s.search(sequence) == 0
66 return true
67
68 return maybeCommand keys.slice(1)
69
70 exports.getCommand = getCommand
71 exports.maybeCommand = maybeCommand
Imprint / Impressum