var view = ko.views.manager.currentView; var scimoz = view.scimoz; view.scintilla.focus(); view.setFocus(); var currentPos = scimoz.currentPos; var bmNum = ko.markers.MARKNUM_BOOKMARK; var bmmask = 1 << bmNum; var linesToDelete = []; var nextLine = -1; while (true) { nextLine = scimoz.markerNext(nextLine + 1, bmmask); if (nextLine == -1) { break; } linesToDelete.push(nextLine); } scimoz.beginUndoAction(); try { while (linesToDelete.length) { var lineToDelete = linesToDelete.pop(); scimoz.markerDelete(lineToDelete, bmNum); var startPos = scimoz.positionFromLine(lineToDelete); var endPos = scimoz.positionFromLine(lineToDelete + 1); var docLen = scimoz.length; if (endPos > docLen) endPos = docLen; scimoz.targetStart = startPos; scimoz.targetEnd = endPos; scimoz.replaceTarget(0, ""); } } catch(ex) { alert("Error removing lines: " + ex); } finally { scimoz.endUndoAction(); } scimoz.currentPos = scimoz.anchor = currentPos;