MCPcopy Create free account
hub / github.com/breck7/scroll / getLineStyles

Function getLineStyles

external/.scrollLibs.js:2545–2565  ·  view source on GitHub ↗
(cm, line, updateFrontier)

Source from the content-addressed store, hash-verified

2543 }
2544
2545 function getLineStyles(cm, line, updateFrontier) {
2546 if (!line.styles || line.styles[0] != cm.state.modeGen) {
2547 var context = getContextBefore(cm, lineNo(line))
2548 var resetState = line.text.length > cm.options.maxHighlightLength && copyState(cm.doc.mode, context.state)
2549 var result = highlightLine(cm, line, context)
2550 if (resetState) {
2551 context.state = resetState
2552 }
2553 line.stateAfter = context.save(!resetState)
2554 line.styles = result.styles
2555 if (result.classes) {
2556 line.styleClasses = result.classes
2557 } else if (line.styleClasses) {
2558 line.styleClasses = null
2559 }
2560 if (updateFrontier === cm.doc.highlightFrontier) {
2561 cm.doc.modeFrontier = Math.max(cm.doc.modeFrontier, ++cm.doc.highlightFrontier)
2562 }
2563 }
2564 return line.styles
2565 }
2566
2567 function getContextBefore(cm, n, precise) {
2568 var doc = cm.doc,

Callers 2

buildLineContentFunction · 0.85
addEditorMethodsFunction · 0.85

Calls 5

getContextBeforeFunction · 0.85
lineNoFunction · 0.85
copyStateFunction · 0.85
highlightLineFunction · 0.85
maxMethod · 0.80

Tested by

no test coverage detected