From 7a9a2e4044df8d43ca89480bc180a27a8c41ef8a Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 2 Oct 2012 11:17:55 +0400 Subject: [PATCH] small cleanup --- lib/ace/mode/typescript_highlight_rules.js | 31 ++++++++++------------ 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/lib/ace/mode/typescript_highlight_rules.js b/lib/ace/mode/typescript_highlight_rules.js index 5065e473..8ac83f1c 100644 --- a/lib/ace/mode/typescript_highlight_rules.js +++ b/lib/ace/mode/typescript_highlight_rules.js @@ -17,7 +17,7 @@ * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; @@ -47,9 +47,7 @@ var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScrip var TypeScriptHighlightRules = function() { - this.$rules = - { - "start": [ + var tsRules = [ // Match stuff like: module name {...} { "token": ["keyword.operator.ts", "text", "variable.parameter.function.ts"], @@ -77,22 +75,21 @@ var TypeScriptHighlightRules = function() { { "token": ["storage.type.variable.ts"], "regex": "(?:\\b(this\\.|string\\b|bool\\b|number)\\b)" + }, + { + "token": ["keyword.operator.ts", "storage.type.variable.ts", "keyword.operator.ts", "storage.type.variable.ts"], + "regex": "(class)(\\s+[a-zA-Z0-9_?.$][\\w?.$]*\\s+)(extends)(\\s+[a-zA-Z0-9_?.$][\\w?.$]*\\s+)?" + }, + { + "token": "keyword", + "regex": "(?:super|export|class|extends|import)\\b" } - ] - } + ]; var JSRules = new JavaScriptHighlightRules().getRules(); - // copy in JS rules directly - for (var r in JSRules) { - if (r == "start") { - for (var key in JSRules[r]) { - this.$rules.start.push(JSRules[r][key]) - } - } - else { - this.$rules[r] = JSRules[r]; - } - } + + JSRules.start = tsRules.concat(JSRules.start); + this.$rules = JSRules; }; oop.inherits(TypeScriptHighlightRules, JavaScriptHighlightRules);