diff --git a/lib/ace/mode/text_highlight_rules.js b/lib/ace/mode/text_highlight_rules.js index d6dbd794..b63f6c08 100644 --- a/lib/ace/mode/text_highlight_rules.js +++ b/lib/ace/mode/text_highlight_rules.js @@ -56,10 +56,13 @@ var TextHighlightRules = function() { for (var i = 0; i < state.length; i++) { var rule = state[i]; if (rule.next) { - if (typeof rule.next != "string") - rule.nextState = prefix + rule.nextState; - else - rule.next = prefix + rule.next; + if (typeof rule.next != "string") { + if (rule.nextState && rule.nextState.indexOf(prefix) !== 0) + rule.nextState = prefix + rule.nextState; + } else { + if (rule.next.indexOf(prefix) !== 0) + rule.next = prefix + rule.next; + } } }