MCPcopy Create free account
hub / github.com/OpenEndedGroup/Field2 / updateLineGutter

Function updateLineGutter

lib/web/CodeMirror/src/display/update_line.js:87–123  ·  view source on GitHub ↗
(cm, lineView, lineN, dims)

Source from the content-addressed store, hash-verified

85}
86
87function 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
125function updateLineWidgets(cm, lineView, dims) {
126 if (lineView.alignable) lineView.alignable = null

Callers 2

updateLineForChangesFunction · 0.70
buildLineElementFunction · 0.70

Calls 4

eltFunction · 0.90
lineNumberForFunction · 0.90
ensureLineWrappedFunction · 0.70
setUneditableMethod · 0.45

Tested by

no test coverage detected