]> git.gir.st - VimFx.git/blob - extension/packages/hints.coffee
Closes 33. Now the container divs are appended directly to document.documentElement...
[VimFx.git] / extension / packages / hints.coffee
1 CONTAINER_ID = 'VimFxHintMarkerContainer'
2
3 { interfaces: Ci } = Components
4 HTMLDocument = Ci.nsIDOMHTMLDocument
5 { Marker } = require 'marker'
6
7 getHintsContainer = (document) ->
8 document.getElementById CONTAINER_ID
9
10 createHintsContainer = (document) ->
11 container = document.createElement 'div'
12 container.id = CONTAINER_ID
13 container.className = 'VimFxReset'
14 return container
15
16 injectHints = (document) ->
17 removeHints document
18
19 if document instanceof HTMLDocument and document.documentElement
20 markers = Marker.createMarkers document
21
22 container = createHintsContainer document
23
24 fragment = document.createDocumentFragment()
25 for marker in markers
26 fragment.appendChild marker.markerElement
27
28 container.appendChild fragment
29
30 document.documentElement.appendChild container
31
32 return markers
33
34 removeHints = (document, markers) ->
35 if container = getHintsContainer document
36 document.documentElement.removeChild container
37
38 handleHintChar = (markers, char) ->
39
40 exports.injectHints = injectHints
41 exports.removeHints = removeHints
42 exports.handleHintChar = handleHintChar
Imprint / Impressum