From 35ca4ea27de9956dcc8eebc60280b7d723594767 Mon Sep 17 00:00:00 2001 From: Ruben Daniels Date: Fri, 3 Apr 2015 19:33:22 +0000 Subject: [PATCH] parse mode correctly --- plugins/c9.ide.plugins/debug.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/plugins/c9.ide.plugins/debug.js b/plugins/c9.ide.plugins/debug.js index be29000e..9589b43d 100644 --- a/plugins/c9.ide.plugins/debug.js +++ b/plugins/c9.ide.plugins/debug.js @@ -261,13 +261,21 @@ define(function(require, exports, module) { services["preferences.keybindings"].addCustomKeymap(filename, data, placeholder); break; case "modes": - data = util.safeParseJson(data, next); - if (!data) return; + var mode = {}; + var firstLine = data.split("\n", 1)[0].replace(/\/\*|\*\//g, "").trim(); + firstLine.split(";").forEach(function(n){ + if (!n) return; + var info = n.split(":"); + mode[info[0].trim()] = info[1].trim(); + }); services.ace.defineSyntax({ name: join(path, "modes", data.name), - caption: data.caption, - extensions: (data.extensions || []).join("|") + caption: mode.caption, + extensions: (mode.extensions || "").trim() + .split(",") + .map(function(n){ return n.trim(); }) + .filter(function(n){ return n; }) }); break; case "outline":