import { getMode } from "../modes.js" import { startWorker } from "./highlight_worker.js" import { regChange } from "./view_tracking.js" // Used to get the editor into a consistent state again when options change. export function loadMode(cm) { cm.doc.mode = getMode(cm.options, cm.doc.modeOption) resetModeState(cm) } export function resetModeState(cm) { cm.doc.iter(line => { if (line.stateAfter) line.stateAfter = null if (line.styles) line.styles = null }) cm.doc.modeFrontier = cm.doc.highlightFrontier = cm.doc.first startWorker(cm, 100) cm.state.modeGen++ if (cm.curOp) regChange(cm) }