(cm, lineView, lineN, dims)
| 85 | } |
| 86 | |
| 87 | function updateLineGutter(cm, lineView, lineN, dims) { |
| 88 | if (lineView.gutter) { |
| 89 | lineView.node.removeChild(lineView.gutter) |
| 90 | lineView.gutter = null |
| 91 | } |
| 92 | if (lineView.gutterBackground) { |
| 93 | lineView.node.removeChild(lineView.gutterBackground) |
| 94 | lineView.gutterBackground = null |
| 95 | } |
| 96 | if (lineView.line.gutterClass) { |
| 97 | let wrap = ensureLineWrapped(lineView) |
| 98 | lineView.gutterBackground = elt("div", null, "CodeMirror-gutter-background " + lineView.line.gutterClass, |
| 99 | `left: ${cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth}px; width: ${dims.gutterTotalWidth}px`) |
| 100 | cm.display.input.setUneditable(lineView.gutterBackground) |
| 101 | wrap.insertBefore(lineView.gutterBackground, lineView.text) |
| 102 | } |
| 103 | let markers = lineView.line.gutterMarkers |
| 104 | if (cm.options.lineNumbers || markers) { |
| 105 | let wrap = ensureLineWrapped(lineView) |
| 106 | let gutterWrap = lineView.gutter = elt("div", null, "CodeMirror-gutter-wrapper", `left: ${cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth}px`) |
| 107 | cm.display.input.setUneditable(gutterWrap) |
| 108 | wrap.insertBefore(gutterWrap, lineView.text) |
| 109 | if (lineView.line.gutterClass) |
| 110 | gutterWrap.className += " " + lineView.line.gutterClass |
| 111 | if (cm.options.lineNumbers && (!markers || !markers["CodeMirror-linenumbers"])) |
| 112 | lineView.lineNumber = gutterWrap.appendChild( |
| 113 | elt("div", lineNumberFor(cm.options, lineN), |
| 114 | "CodeMirror-linenumber CodeMirror-gutter-elt", |
| 115 | `left: ${dims.gutterLeft["CodeMirror-linenumbers"]}px; width: ${cm.display.lineNumInnerWidth}px`)) |
| 116 | if (markers) for (let k = 0; k < cm.display.gutterSpecs.length; ++k) { |
| 117 | let id = cm.display.gutterSpecs[k].className, found = markers.hasOwnProperty(id) && markers[id] |
| 118 | if (found) |
| 119 | gutterWrap.appendChild(elt("div", [found], "CodeMirror-gutter-elt", |
| 120 | `left: ${dims.gutterLeft[id]}px; width: ${dims.gutterWidth[id]}px`)) |
| 121 | } |
| 122 | } |
| 123 | } |
| 124 | |
| 125 | function updateLineWidgets(cm, lineView, dims) { |
| 126 | if (lineView.alignable) lineView.alignable = null |
no test coverage detected