From 63930b52d1ce8ca92db4a9f1f94faae7da9b8df7 Mon Sep 17 00:00:00 2001 From: Zef Hemel Date: Mon, 8 Apr 2013 12:13:18 +0200 Subject: [PATCH 1/5] Based Dart mode on C/C++ mode so that at least the indentation basics are acceptable (e.g. indentation after curly braces). --- lib/ace/mode/dart.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/ace/mode/dart.js b/lib/ace/mode/dart.js index 9fc58f3e..114c79ab 100644 --- a/lib/ace/mode/dart.js +++ b/lib/ace/mode/dart.js @@ -41,18 +41,19 @@ define(function(require, exports, module) { "use strict"; var oop = require("../lib/oop"); -var TextMode = require("./text").Mode; +var CMode = require("./c_cpp").Mode; var Tokenizer = require("../tokenizer").Tokenizer; var DartHighlightRules = require("./dart_highlight_rules").DartHighlightRules; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { + CMode.call(this); var highlighter = new DartHighlightRules(); this.foldingRules = new CStyleFoldMode(); this.$tokenizer = new Tokenizer(highlighter.getRules()); }; -oop.inherits(Mode, TextMode); +oop.inherits(Mode, CMode); (function() { // Extra logic goes here. From 835f2e36907e64407d2e2cc7c07f101e0a2c52dd Mon Sep 17 00:00:00 2001 From: Zef Hemel Date: Mon, 8 Apr 2013 13:22:02 +0200 Subject: [PATCH 2/5] Fixed some higlighting rules to match modern Dart. --- lib/ace/mode/dart_highlight_rules.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ace/mode/dart_highlight_rules.js b/lib/ace/mode/dart_highlight_rules.js index e79229da..0c2795c1 100644 --- a/lib/ace/mode/dart_highlight_rules.js +++ b/lib/ace/mode/dart_highlight_rules.js @@ -52,7 +52,7 @@ var DartHighlightRules = function() { }, { token: "keyword.other.import.dart", - regex: "#(?:\\b)(?:library|import|source|resource)(?:\\b)" + regex: "(?:\\b)(?:library|import|source|resource|part|part of)(?:\\b)" }, { token : ["keyword.other.import.dart", "text"], From 6d8c810581935e609a681b9d162c117cb5dde637 Mon Sep 17 00:00:00 2001 From: Zef Hemel Date: Mon, 8 Apr 2013 13:24:23 +0200 Subject: [PATCH 3/5] of keyword --- lib/ace/mode/dart_highlight_rules.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ace/mode/dart_highlight_rules.js b/lib/ace/mode/dart_highlight_rules.js index 0c2795c1..068f5382 100644 --- a/lib/ace/mode/dart_highlight_rules.js +++ b/lib/ace/mode/dart_highlight_rules.js @@ -52,7 +52,7 @@ var DartHighlightRules = function() { }, { token: "keyword.other.import.dart", - regex: "(?:\\b)(?:library|import|source|resource|part|part of)(?:\\b)" + regex: "(?:\\b)(?:library|import|source|resource|part|of)(?:\\b)" }, { token : ["keyword.other.import.dart", "text"], From 149bef7051de085e967ec35c197094ba979c35ed Mon Sep 17 00:00:00 2001 From: Zef Hemel Date: Mon, 8 Apr 2013 13:27:51 +0200 Subject: [PATCH 4/5] Fix Dart test --- lib/ace/mode/_test/tokens_dart.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ace/mode/_test/tokens_dart.json b/lib/ace/mode/_test/tokens_dart.json index 2faee981..5964791a 100644 --- a/lib/ace/mode/_test/tokens_dart.json +++ b/lib/ace/mode/_test/tokens_dart.json @@ -96,13 +96,13 @@ "start" ],[ "start", - ["keyword.other.import.dart","#import"], + ["keyword.other.import.dart","import"], ["text","("], ["string","\"http://dartwatch.com/myOtherLibrary.dart\""], ["text",");"] ],[ "start", - ["keyword.other.import.dart","#import"], + ["keyword.other.import.dart","import"], ["text","("], ["string","\"myOtherLibrary.dart\""], ["text",", "], From 712818b49e5c809b0e3a50188dc785bfbb01bb59 Mon Sep 17 00:00:00 2001 From: Zef Hemel Date: Mon, 8 Apr 2013 13:48:19 +0200 Subject: [PATCH 5/5] Removed outdated keywords --- lib/ace/mode/dart_highlight_rules.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ace/mode/dart_highlight_rules.js b/lib/ace/mode/dart_highlight_rules.js index 068f5382..a0851ef7 100644 --- a/lib/ace/mode/dart_highlight_rules.js +++ b/lib/ace/mode/dart_highlight_rules.js @@ -13,7 +13,7 @@ var DartHighlightRules = function() { var constantLanguage = "true|false|null"; var variableLanguage = "this|super"; var keywordControl = "try|catch|finally|throw|break|case|continue|default|do|else|for|if|in|return|switch|while|new"; - var keywordDeclaration = "abstract|class|extends|external|factory|implements|interface|get|native|operator|set|typedef"; + var keywordDeclaration = "abstract|class|extends|external|factory|implements|get|native|operator|set|typedef"; var storageModifier = "static|final|const"; var storageType = "void|bool|num|int|double|Dynamic|var|String"; @@ -52,7 +52,7 @@ var DartHighlightRules = function() { }, { token: "keyword.other.import.dart", - regex: "(?:\\b)(?:library|import|source|resource|part|of)(?:\\b)" + regex: "(?:\\b)(?:library|import|source|part|of)(?:\\b)" }, { token : ["keyword.other.import.dart", "text"],