]> git.gir.st - VimFx.git/blob - extension/packages/console.coffee
Minor clean ups
[VimFx.git] / extension / packages / console.coffee
1 { classes: Cc, interfaces: Ci } = Components
2
3 console = do ->
4 cs = Cc['@mozilla.org/consoleservice;1'].getService(Ci.nsIConsoleService)
5
6 stringify = (arg) ->
7 try
8 return String(arg)
9 catch error
10 return '<toString() error>'
11
12 message = (level, args) ->
13 str = "VimFx - #{ level }: #{ Array.map(args, stringify).join(' ') }\n"
14 dump(str)
15 cs.logStringMessage(str)
16
17 expand = (arg) ->
18 if typeof(arg) == 'object'
19 str = stringify(arg)
20 for key, value of arg
21 str += "\n-\t#{ key }: #{ value }"
22 return str
23 else
24 return arg
25
26 return {
27 log: -> message('log', arguments)
28 info: -> message('info', arguments)
29 error: -> message('error', arguments)
30 warning: -> message('warning', arguments)
31 expand: -> message('expand', Array.map(arguments, expand))
32 }
33
34 exports.console = console
Imprint / Impressum