diff --git a/app/views/play/level/tome/SpellView.coffee b/app/views/play/level/tome/SpellView.coffee index 2527c72a4..9331b20f9 100644 --- a/app/views/play/level/tome/SpellView.coffee +++ b/app/views/play/level/tome/SpellView.coffee @@ -215,7 +215,11 @@ module.exports = class SpellView extends CocoView addCommand name: 'disable-spaces' bindKey: 'Space' - exec: => @ace.execCommand 'insertstring', ' ' unless LevelOptions[@options.level.get('slug')]?.disableSpaces + exec: => + return @ace.execCommand 'insertstring', ' ' unless LevelOptions[@options.level.get('slug')]?.disableSpaces + line = @aceDoc.getLine @ace.getCursorPosition().row + return @ace.execCommand 'insertstring', ' ' if @singleLineCommentRegex().test line + addCommand name: 'throttle-backspaces' bindKey: 'Backspace' @@ -781,7 +785,9 @@ module.exports = class SpellView extends CocoView @recompile() singleLineCommentRegex: -> - return @_singleLineCommentRegex if @_singleLineCommentRegex + if @_singleLineCommentRegex + @_singleLineCommentRegex.lastIndex = 0 + return @_singleLineCommentRegex commentStarts = javascript: '//' python: '#' @@ -790,8 +796,8 @@ module.exports = class SpellView extends CocoView lua: '--' io: '//' commentStart = commentStarts[@spell.language] or '//' - @_singleLineCommentRegexp ?= new RegExp "[ \t]*#{commentStart}[^\"'\n]*", 'g' - @_singleLineCommentRegexp + @_singleLineCommentRegex = new RegExp "[ \t]*#{commentStart}[^\"'\n]*", 'g' + @_singleLineCommentRegex preload: -> # Send this code over to the God for preloading, but don't change the cast state.