From 96e1618ec14c40e67ac7de25d2ddcec11372d73d Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Fri, 16 Apr 2010 17:30:08 +0200 Subject: [PATCH] syntax highlighting for CSS embedding in HTML --- src/mode/HtmlHighlightRules.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/mode/HtmlHighlightRules.js b/src/mode/HtmlHighlightRules.js index 2da964e7..5a0902b3 100644 --- a/src/mode/HtmlHighlightRules.js +++ b/src/mode/HtmlHighlightRules.js @@ -21,6 +21,10 @@ ace.mode.HtmlHighlightRules = function() { token : "text", regex : "<(?=\s*script)", next : "script" + }, { + token : "text", + regex : "<(?=\s*style)", + next : "css" }, { token : "text", // opening tag regex : "<\\/?", @@ -51,6 +55,24 @@ ace.mode.HtmlHighlightRules = function() { regex : "'.*?'" } ], + css : [ { + token : "text", + regex : ">", + next : "css-start" + }, { + token : "keyword", + regex : "[-_a-zA-Z0-9:]+" + }, { + token : "text", + regex : "\\s+" + }, { + token : "string", + regex : '".*?"' + }, { + token : "string", + regex : "'.*?'" + } ], + tag : [ { token : "text", regex : ">", @@ -98,6 +120,14 @@ ace.mode.HtmlHighlightRules = function() { regex: "<\\/(?=script)", next: "tag" }); + + var cssRules = new ace.mode.CssHighlightRules().getRules(); + this._addRules(cssRules, "css-"); + this._rules["css-start"].unshift({ + token: "text", + regex: "<\\/(?=style)", + next: "tag" + }); };