diff --git a/src/js/easymde.js b/src/js/easymde.js index 01dda28..a3e5ec3 100644 --- a/src/js/easymde.js +++ b/src/js/easymde.js @@ -1124,7 +1124,7 @@ function _toggleHeading(cm, direction, size) { var startPoint = cm.getCursor('start'); var endPoint = cm.getCursor('end'); - var sharpLevels = cm.options.backdrop.headingLevels || [], + var sharpLevels = cm.options.backdrop ? (cm.options.backdrop.headingLevels || []) : (cm.mode ? (cm.mode.headingLevels || []) : []), minLevel = sharpLevels.length ? sharpLevels[0] : 1, maxLevel = sharpLevels.length ? sharpLevels[sharpLevels.length-1] : 6; if (size && sharpLevels.length && sharpLevels.indexOf(size) === -1) { @@ -2318,7 +2318,7 @@ EasyMDE.prototype.render = function (el) { line: obj.to.line, ch: obj.to.ch, }); - var myLevels = headingNeedUpdate(currHeading, cm.options.backdrop.headingLevels); + var myLevels = headingNeedUpdate(currHeading, cm.options.backdrop ? cm.options.backdrop.headingLevels : cm.mode.headingLevels); if (!myLevels || !myLevels.from || !myLevels.to) { return false; } @@ -2380,7 +2380,7 @@ EasyMDE.prototype.render = function (el) { } else { myText = myText.replace(/#/, '##'); // Increment one sharp sign } - myLevels = headingNeedUpdate(myText, cm.options.backdrop.headingLevels); + myLevels = headingNeedUpdate(myText, cm.options.backdrop ? cm.options.backdrop.headingLevels : cm.mode.headingLevels); if (!myLevels) { return false; } @@ -2439,7 +2439,7 @@ EasyMDE.prototype.render = function (el) { ch: obj.to.ch + 8, }; } - myLevels = headingNeedUpdate(myText, cm.options.backdrop.headingLevels, searchDir); + myLevels = headingNeedUpdate(myText, cm.options.backdrop ? cm.options.backdrop.headingLevels : cm.mode.headingLevels, searchDir); if (!myLevels || !myLevels.diff) { return false; } @@ -2472,7 +2472,7 @@ EasyMDE.prototype.render = function (el) { return row; } row = row.replace(/^(\s*)#/, '#'); - var myLevels = headingNeedUpdate(row, cm.options.backdrop.headingLevels); + var myLevels = headingNeedUpdate(row, cm.mode.headingLevels || cm.options.backdrop.headingLevels); if (!myLevels || !myLevels.from || !myLevels.to) { return row; } else if (myLevels.from < myLevels.to) {