diff --git a/lib/ace/mode/text_highlight_rules.js b/lib/ace/mode/text_highlight_rules.js index 59d7c401..5ece4e00 100644 --- a/lib/ace/mode/text_highlight_rules.js +++ b/lib/ace/mode/text_highlight_rules.js @@ -131,7 +131,14 @@ var TextHighlightRules = function() { } var next = rule.next || rule.push; if (next && Array.isArray(next)) { - var stateName = rule.stateName || (rule.token + id++); + var stateName = rule.stateName; + if (!stateName) { + stateName = rule.token; + if (typeof stateName != "string") + stateName = stateName[0] || ""; + if (rules[stateName]) + stateName += id++; + } rules[stateName] = next; rule.next = stateName; processState(stateName);