From 42f274a42cd50c43cd13d261f18a29169865a0b2 Mon Sep 17 00:00:00 2001 From: nightwing Date: Wed, 5 Feb 2014 23:59:17 +0400 Subject: [PATCH] update smarty mode --- lib/ace/mode/smarty_highlight_rules.js | 11 +++++++---- lib/ace/mode/text_highlight_rules.js | 4 +++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/ace/mode/smarty_highlight_rules.js b/lib/ace/mode/smarty_highlight_rules.js index f67ee068..dfc1f593 100644 --- a/lib/ace/mode/smarty_highlight_rules.js +++ b/lib/ace/mode/smarty_highlight_rules.js @@ -113,13 +113,16 @@ var SmartyHighlightRules = function() { regex: '(->)([a-zA-Z_][a-zA-Z0-9_]*)(\\()(.*?)(\\))' } ] } var smartyStart = smartyRules.start; - + + ["start", "qqstring_inner", "qstring_inner", "attributes", "cdata"].forEach(function(x) { + this.$rules[x].unshift.apply(this.$rules[x], smartyStart); + }, this); + Object.keys(smartyRules).forEach(function(x) { - if (x == "start") - this.$rules[x].unshift.apply(this.$rules[x], smartyRules[x]); - else + if (!this.$rules[x]) this.$rules[x] = smartyRules[x]; }, this); + this.normalizeRules(); }; diff --git a/lib/ace/mode/text_highlight_rules.js b/lib/ace/mode/text_highlight_rules.js index 416e8182..c4fcf588 100644 --- a/lib/ace/mode/text_highlight_rules.js +++ b/lib/ace/mode/text_highlight_rules.js @@ -80,7 +80,9 @@ var TextHighlightRules = function() { }; this.embedRules = function (HighlightRules, prefix, escapeRules, states, append) { - var embedRules = new HighlightRules().getRules(); + var embedRules = typeof HighlightRules == "function" + ? new HighlightRules().getRules() + : HighlightRules; if (states) { for (var i = 0; i < states.length; i++) states[i] = prefix + states[i];