MCPcopy
hub / github.com/witheve/Eve / maybeUpdateLineNumberWidth

Function maybeUpdateLineNumberWidth

src/codemirror.js:608–624  ·  view source on GitHub ↗
(cm)

Source from the content-addressed store, hash-verified

606 // size for the current document size. Returns true when an update
607 // is needed.
608 function maybeUpdateLineNumberWidth(cm) {
609 if (!cm.options.lineNumbers) return false;
610 var doc = cm.doc, last = lineNumberFor(cm.options, doc.first + doc.size - 1), display = cm.display;
611 if (last.length != display.lineNumChars) {
612 var test = display.measure.appendChild(elt("div", [elt("div", last)],
613 "CodeMirror-linenumber CodeMirror-gutter-elt"));
614 var innerW = test.firstChild.offsetWidth, padding = test.offsetWidth - innerW;
615 display.lineGutter.style.width = "";
616 display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1;
617 display.lineNumWidth = display.lineNumInnerWidth + padding;
618 display.lineNumChars = display.lineNumInnerWidth ? last.length : -1;
619 display.lineGutter.style.width = display.lineNumWidth + "px";
620 updateGutterSpace(cm);
621 return true;
622 }
623 return false;
624 }
625
626 function lineNumberFor(options, i) {
627 return String(options.lineNumberFormatter(i + options.firstLineNumber));

Callers 2

CodeMirrorFunction · 0.85
updateDisplayIfNeededFunction · 0.85

Calls 3

lineNumberForFunction · 0.85
eltFunction · 0.85
updateGutterSpaceFunction · 0.85

Tested by

no test coverage detected