From 2d64cb75479954b979d336c0b8e1cb3e6529e0d2 Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Tue, 21 Jun 2011 08:43:13 +0000 Subject: [PATCH] add separate mode for json --- demo/demo.js | 11 ++++ index.html | 69 ++++++++++++++++++++++ lib/ace/mode/json.js | 85 +++++++++++++++++++++++++++ lib/ace/mode/json_highlight_rules.js | 87 ++++++++++++++++++++++++++++ 4 files changed, 252 insertions(+) create mode 100644 lib/ace/mode/json.js create mode 100644 lib/ace/mode/json_highlight_rules.js diff --git a/demo/demo.js b/demo/demo.js index 29068cd5..22e1cc59 100644 --- a/demo/demo.js +++ b/demo/demo.js @@ -61,6 +61,7 @@ exports.launch = function(env) { var RubyMode = require("ace/mode/ruby").Mode; var CCPPMode = require("ace/mode/c_cpp").Mode; var CoffeeMode = require("ace/mode/coffee").Mode; + var JsonMode = require("ace/mode/json").Mode; var PerlMode = require("ace/mode/perl").Mode; var ClojureMode = require("ace/mode/clojure").Mode; var OcamlMode = require("ace/mode/ocaml").Mode; @@ -142,6 +143,10 @@ exports.launch = function(env) { docs.coffee.setMode(new CoffeeMode()); docs.coffee.setUndoManager(new UndoManager()); + docs.json = new EditSession(document.getElementById("jsontext").innerHTML); + docs.json.setMode(new JsonMode()); + docs.json.setUndoManager(new UndoManager()); + docs.perl = new EditSession(document.getElementById("perltext").innerHTML); docs.perl.setMode(new PerlMode()); docs.perl.setUndoManager(new UndoManager()); @@ -197,6 +202,7 @@ exports.launch = function(env) { ruby: new RubyMode(), c_cpp: new CCPPMode(), coffee: new CoffeeMode(), + json: new JsonMode(), perl: new PerlMode(), clojure: new ClojureMode(), ocaml: new OcamlMode(), @@ -270,6 +276,9 @@ exports.launch = function(env) { else if (mode instanceof CoffeeMode) { modeEl.value = "coffee"; } + else if (mode instanceof JsonMode) { + modeEl.value = "json"; + } else if (mode instanceof PerlMode) { modeEl.value = "perl"; } @@ -482,6 +491,8 @@ exports.launch = function(env) { mode = "c_cpp"; } else if (/^.*\.coffee$/i.test(file.name)) { mode = "coffee"; + } else if (/^.*\.json$/i.test(file.name)) { + mode = "json"; } else if (/^.*\.(pl|pm)$/i.test(file.name)) { mode = "perl"; } else if (/^.*\.(ml|mli)$/i.test(file.name)) { diff --git a/index.html b/index.html index 2b33b31e..72b0609f 100644 --- a/index.html +++ b/index.html @@ -23,6 +23,7 @@ + @@ -54,6 +55,7 @@ + @@ -372,6 +374,73 @@ do -> this isnt: `just JavaScript` undefined + +