]> git.gir.st - VimFx.git/blob - bootstrap.coffee
base for post recovert
[VimFx.git] / bootstrap.coffee
1 "use strict"
2
3 { classes: Cc, interfaces: Ci, utils: Cu } = Components
4
5 ((global) ->
6
7 tools = {}
8 Cu.import "resource://gre/modules/Services.jsm", tools
9 baseURI = tools.Services.io.newURI __SCRIPT_URI_SPEC__, null, null
10
11 include = (src, scope = {}) ->
12 try
13 uri = tools.Services.io.newURI "packages/#{ src }.js", null, baseURI
14 tools.Services.scriptloader.loadSubScript uri.spec, scope
15 catch error
16 uri = tools.Services.io.newURI src, null, baseURI
17 tools.Services.scriptloader.loadSubScript uri.spec, scope
18
19 return scope
20
21
22 modules = {}
23 require = (src) ->
24 if modules[src]
25 return modules[src]
26 else
27 scope =
28 require: require
29 include: include
30 exports: {}
31
32 include src, scope
33
34 return modules[src] = scope.exports;
35
36 Console = require("console").Console
37 global.console = new Console "vimroll"
38 global.include = include
39 global.require = require
40
41 )(this);
42
43 { WindowEventTracker } = require 'utils'
44 { handlers } = require 'event-handlers'
45
46 tracker = new WindowEventTracker handlers
47
48
49
50 startup = (data, reason) ->
51 tracker.start()
52
53 shutdown = (data, reason) ->
54 tracker.stop()
Imprint / Impressum