(cm)
| 4272 | // size for the current document size. Returns true when an update |
| 4273 | // is needed. |
| 4274 | function maybeUpdateLineNumberWidth(cm) { |
| 4275 | if (!cm.options.lineNumbers) { return false } |
| 4276 | var doc = cm.doc, last = lineNumberFor(cm.options, doc.first + doc.size - 1), display = cm.display; |
| 4277 | if (last.length != display.lineNumChars) { |
| 4278 | var test = display.measure.appendChild(elt("div", [elt("div", last)], |
| 4279 | "CodeMirror-linenumber CodeMirror-gutter-elt")); |
| 4280 | var innerW = test.firstChild.offsetWidth, padding = test.offsetWidth - innerW; |
| 4281 | display.lineGutter.style.width = ""; |
| 4282 | display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1; |
| 4283 | display.lineNumWidth = display.lineNumInnerWidth + padding; |
| 4284 | display.lineNumChars = display.lineNumInnerWidth ? last.length : -1; |
| 4285 | display.lineGutter.style.width = display.lineNumWidth + "px"; |
| 4286 | updateGutterSpace(cm.display); |
| 4287 | return true |
| 4288 | } |
| 4289 | return false |
| 4290 | } |
| 4291 | |
| 4292 | function getGutters(gutters, lineNumbers) { |
| 4293 | var result = [], sawLineNumbers = false; |
no test coverage detected