diff --git a/lib/ace/commands/command_manager.js b/lib/ace/commands/command_manager.js
index ee7c8561..26863643 100644
--- a/lib/ace/commands/command_manager.js
+++ b/lib/ace/commands/command_manager.js
@@ -25,7 +25,7 @@ var EventEmitter = require("../lib/event_emitter").EventEmitter;
var CommandManager = function(platform, commands) {
this.platform = platform;
- this.commands = {};
+ this.commands = this.byName = {};
this.commmandKeyBinding = {};
this.addCommands(commands);
diff --git a/lib/ace/commands/multi_select_commands.js b/lib/ace/commands/multi_select_commands.js
index 735c930a..ff59f045 100644
--- a/lib/ace/commands/multi_select_commands.js
+++ b/lib/ace/commands/multi_select_commands.js
@@ -74,11 +74,15 @@ exports.defaultCommands = [{
}, {
name: "splitIntoLines",
exec: function(editor) { editor.multiSelect.splitIntoLines(); },
- bindKey: {win: "Ctrl-Shift-L", mac: "Ctrl-Shift-L"},
+ bindKey: {win: "Ctrl-Alt-L", mac: "Ctrl-Alt-L"},
readonly: true
+}, {
+ name: "alignCursors",
+ exec: function(editor) { editor.alignCursors(); },
+ bindKey: {win: "Ctrl-Alt-A", mac: "Ctrl-Alt-A"}
}];
-// commands active in multiselect mode
+// commands active only in multiselect mode
exports.multiSelectCommands = [{
name: "singleSelection",
bindKey: "esc",
diff --git a/lib/ace/css/editor.css b/lib/ace/css/editor.css
index b2117562..9891976a 100644
--- a/lib/ace/css/editor.css
+++ b/lib/ace/css/editor.css
@@ -262,9 +262,8 @@
margin: 0 -12px 0 1px;
display: inline-block;
- height: 100%;
width: 11px;
- vertical-align: bottom;
+ vertical-align: top;
background-image: url("data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%00%05%08%06%00%00%00%8Do%26%E5%00%00%004IDATx%DAe%8A%B1%0D%000%0C%C2%F2%2CK%96%BC%D0%8F9%81%88H%E9%D0%0E%96%C0%10%92%3E%02%80%5E%82%E4%A9*-%EEsw%C8%CC%11%EE%96w%D8%DC%E9*Eh%0C%151(%00%00%00%00IEND%AEB%60%82");
background-repeat: no-repeat;
diff --git a/lib/ace/editor.js b/lib/ace/editor.js
index ad86e803..d2e1725f 100644
--- a/lib/ace/editor.js
+++ b/lib/ace/editor.js
@@ -39,7 +39,6 @@ var useragent = require("./lib/useragent");
var TextInput = require("./keyboard/textinput").TextInput;
var MouseHandler = require("./mouse/mouse_handler").MouseHandler;
var FoldHandler = require("./mouse/fold_handler").FoldHandler;
-//var TouchHandler = require("./touch_handler").TouchHandler;
var KeyBinding = require("./keyboard/keybinding").KeyBinding;
var EditSession = require("./edit_session").EditSession;
var Search = require("./search").Search;
@@ -74,12 +73,8 @@ var Editor = function(renderer, session) {
this.keyBinding = new KeyBinding(this);
// TODO detect touch event support
- if (useragent.isIPad) {
- //this.$mouseHandler = new TouchHandler(this);
- } else {
- this.$mouseHandler = new MouseHandler(this);
- new FoldHandler(this);
- }
+ this.$mouseHandler = new MouseHandler(this);
+ new FoldHandler(this);
this.$blockScrolling = 0;
this.$search = new Search().set({
diff --git a/lib/ace/keyboard/emacs.js b/lib/ace/keyboard/emacs.js
index 5fa7a315..4c6173e9 100644
--- a/lib/ace/keyboard/emacs.js
+++ b/lib/ace/keyboard/emacs.js
@@ -212,7 +212,8 @@ exports.emacsKeys = {
"S-C-Home" : "selecttostart",
"S-C-End" : "selecttoend",
- "C-l|M-s" : "centerselection",
+ "C-l" : "recenterTopBottom",
+ "M-s" : "centerselection",
"M-g": "gotoline",
"C-x C-p": "selectall",
@@ -270,6 +271,20 @@ exports.emacsKeys = {
exports.handler.bindKeys(exports.emacsKeys);
exports.handler.addCommands({
+ recenterTopBottom: function(editor) {
+ var renderer = editor.renderer;
+ var pos = renderer.$cursorLayer.getPixelPosition();
+ var h = renderer.$size.scrollerHeight - renderer.lineHeight;
+ var scrollTop = renderer.scrollTop;
+ if (Math.abs(pos.top - scrollTop) < 2) {
+ scrollTop = pos.top - h;
+ } else if (Math.abs(pos.top - scrollTop - h * 0.5) < 2) {
+ scrollTop = pos.top;
+ } else {
+ scrollTop = pos.top - h * 0.5;
+ }
+ editor.session.setScrollTop(scrollTop);
+ },
selectRectangularRegion: function(editor) {
editor.multiSelect.toggleBlockSelection();
},
@@ -323,7 +338,7 @@ exports.handler.addCommands({
},
killRegion: function(editor) {
exports.killRing.add(editor.getCopyText());
- editor.cut();
+ editor.commands.byName.cut.exec(editor);
},
killRingSave: function(editor) {
exports.killRing.add(editor.getCopyText());
diff --git a/lib/ace/keyboard/vim.js b/lib/ace/keyboard/vim.js
index 0e358c86..5313e44c 100644
--- a/lib/ace/keyboard/vim.js
+++ b/lib/ace/keyboard/vim.js
@@ -88,7 +88,9 @@ exports.handler = {
if (hashId == 1)
key = "ctrl-" + key;
- if (data.state == "start") {
+ if ((key == "esc" && hashId == 0) || key == "ctrl-[") {
+ return {command: coreCommands.stop};
+ } else if (data.state == "start") {
if (useragent.isMac && this.handleMacRepeat(data, hashId, key)) {
hashId = -1;
key = data.inputChar;
@@ -109,10 +111,7 @@ exports.handler = {
return {command: coreCommands.stop};
}
} else {
- if (key == "esc" || key == "ctrl-[") {
- data.state = "start";
- return {command: coreCommands.stop};
- } else if (key == "ctrl-w") {
+ if (key == "ctrl-w") {
return {command: "removewordleft"};
}
}
diff --git a/lib/ace/keyboard/vim/maps/motions.js b/lib/ace/keyboard/vim/maps/motions.js
index d082e5ce..b8fb12aa 100644
--- a/lib/ace/keyboard/vim/maps/motions.js
+++ b/lib/ace/keyboard/vim/maps/motions.js
@@ -27,7 +27,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* ***** END LICENSE BLOCK ***** */
-
+
"use strict"
define(function(require, exports, module) {
@@ -598,6 +598,25 @@ module.exports = {
return match;
}),
+ "{": new Motion(function(ed) {
+ var session = ed.session;
+ var row = session.selection.lead.row;
+ while(row > 0 && !/\S/.test(session.getLine(row)))
+ row--;
+ while(/\S/.test(session.getLine(row)))
+ row--;
+ return {column: 0, row: row};
+ }),
+ "}": new Motion(function(ed) {
+ var session = ed.session;
+ var l = session.getLength();
+ var row = session.selection.lead.row;
+ while(row < l && !/\S/.test(session.getLine(row)))
+ row++;
+ while(/\S/.test(session.getLine(row)))
+ row++;
+ return {column: 0, row: row};
+ }),
"ctrl-d": {
nav: function(editor, range, count, param) {
editor.selection.clearSelection();
diff --git a/lib/ace/layer/cursor.js b/lib/ace/layer/cursor.js
index c88fdce7..eb36e745 100644
--- a/lib/ace/layer/cursor.js
+++ b/lib/ace/layer/cursor.js
@@ -148,6 +148,10 @@ var Cursor = function(parentEl) {
for (var i = selections.length; i--; ) {
sel = selections[i];
var pixelPos = this.getPixelPosition(sel.cursor, true);
+ if ((pixelPos.top > config.height + config.offset ||
+ pixelPos.top < -config.offset) && i > 1) {
+ continue;
+ }
var style = (this.cursors[cursorIndex++] || this.addCursor()).style;
diff --git a/lib/ace/layer/gutter.js b/lib/ace/layer/gutter.js
index 2d7e89d7..be34f3c9 100644
--- a/lib/ace/layer/gutter.js
+++ b/lib/ace/layer/gutter.js
@@ -131,6 +131,7 @@ var Gutter = function(parentEl) {
html.push(
""
);
}
diff --git a/lib/ace/lib/keys.js b/lib/ace/lib/keys.js
index 8ebfe542..9743ef88 100644
--- a/lib/ace/lib/keys.js
+++ b/lib/ace/lib/keys.js
@@ -122,6 +122,9 @@ var Keys = (function() {
ret.enter = ret["return"];
ret.escape = ret.esc;
ret.del = ret["delete"];
+
+ // workaround for firefox bug
+ ret[173] = '-';
return ret;
})();
diff --git a/lib/ace/mode/_test/test_highlight_rules.js b/lib/ace/mode/_test/test_highlight_rules.js
index 3286c125..6c28ba39 100644
--- a/lib/ace/mode/_test/test_highlight_rules.js
+++ b/lib/ace/mode/_test/test_highlight_rules.js
@@ -21,6 +21,8 @@ function generateTestData() {
docs.forEach(function(docName) {
var p = docName.toLowerCase().split(".");
+ if (!p[1])
+ return;
var modeName;
if (modes.indexOf(p[0]) != -1)
modeName = p[0];
@@ -35,7 +37,12 @@ function generateTestData() {
}
var text = fs.readFileSync(cwd + filePath, "utf8");
- var Mode = require("../" + modeName).Mode;
+ try {
+ var Mode = require("../" + modeName).Mode;
+ } catch(e) {
+ console.warn("Can't load mode :" + modeName, e);
+ return;
+ }
var tokenizer = new Mode().getTokenizer();
var state = "start";
@@ -45,12 +52,12 @@ function generateTestData() {
tokens = tokens.tokens;
return {
state: state,
- values: tokens.map(function(x) {return x.value;}),
- types: tokens.map(function(x) {return x.type;})
+ data: tokens.map(function(x) {return [x.type, x.value]})
};
});
-
- fs.writeFileSync(cwd + "tokens_" + modeName + ".json", JSON.stringify(data, null, 1), "utf8");
+ var jsonStr = JSON.stringify(data, null, 1);
+ jsonStr = jsonStr.replace(/\n {4}/g, " ").replace(/\n {3}]/g, " ]");
+ fs.writeFileSync(cwd + "tokens_" + modeName + ".json", jsonStr, "utf8");
});
}
@@ -58,8 +65,8 @@ function test(startAt) {
var docs = fs.readdirSync(cwd).filter(function(x) {
return /^tokens_\w+.json$/.test(x);
});
- if (startAt && startAt > 1)
- docs = docs.slice(startAt - 1);
+ if (startAt && startAt > 1)
+ docs = docs.slice(startAt - 1);
docs.forEach(function(x, i) {
var modeName = x.match(/tokens_(.*).json/)[1];
@@ -72,6 +79,13 @@ function test(startAt) {
var state = "start";
data.forEach(function(lineData) {
+ lineData.values = [];
+ lineData.types = [];
+ lineData.data.forEach(function(x) {
+ lineData.types.push(x[0]);
+ lineData.values.push(x[1]);
+ });
+
var line = lineData.values.join("");
var tokens = tokenizer.getLineTokens(line, state);
@@ -79,7 +93,6 @@ function test(startAt) {
var types = tokens.tokens.map(function(x) {return x.type;});
var success = true;
- var report =
testEqual([
lineData.state, tokens.state,
lineData.types, types,
diff --git a/lib/ace/mode/_test/text_javascript.txt b/lib/ace/mode/_test/text_javascript.txt
index 1e8d3676..0b284556 100644
--- a/lib/ace/mode/_test/text_javascript.txt
+++ b/lib/ace/mode/_test/text_javascript.txt
@@ -3,6 +3,9 @@ function foo(items, nada) {
alert(items[i] + "juhu\n");
} // Real Tab.
}
+
+r = /d{1,2}?f{e}++r*?\d+?[]r[^r-o\f\f[\f]?r{7}+r\{7}+rr--rr$^(?:d|s)(?=a|)(?!y)[]|$?|^*/ o
+a=/a/ jk = / / / / /
/************************************/
/** total mess, tricky to highlight**/
diff --git a/lib/ace/mode/_test/tokens_c9search.json b/lib/ace/mode/_test/tokens_c9search.json
index a72fb626..9aeee5be 100644
--- a/lib/ace/mode/_test/tokens_c9search.json
+++ b/lib/ace/mode/_test/tokens_c9search.json
@@ -1,273 +1,175 @@
[
{
"state": "start",
- "values": [
- "Searching for 'var' in /workspace/configs"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Searching for 'var' in /workspace/configs" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "configs/default.js",
- ":"
- ],
- "types": [
- "string",
- "text"
+ "data": [
+ [ "string", "configs/default.js" ],
+ [ "text", ":" ]
]
},
{
"state": "start",
- "values": [
- " 1",
- ": ",
- "var fs = require(\"fs\");"
- ],
- "types": [
- "c9searchresults.constant.numeric",
- "c9searchresults.text",
- "c9searchresults.text"
+ "data": [
+ [ "c9searchresults.constant.numeric", " 1" ],
+ [ "c9searchresults.text", ": " ],
+ [ "c9searchresults.text", "var fs = require(\"fs\");" ]
]
},
{
"state": "start",
- "values": [
- "\t2",
- ": ",
- "var argv = require('optimist').argv;"
- ],
- "types": [
- "c9searchresults.constant.numeric",
- "c9searchresults.text",
- "c9searchresults.text"
+ "data": [
+ [ "c9searchresults.constant.numeric", "\t2" ],
+ [ "c9searchresults.text", ": " ],
+ [ "c9searchresults.text", "var argv = require('optimist').argv;" ]
]
},
{
"state": "start",
- "values": [
- "\t3",
- ": ",
- "var path = require(\"path\");"
- ],
- "types": [
- "c9searchresults.constant.numeric",
- "c9searchresults.text",
- "c9searchresults.text"
+ "data": [
+ [ "c9searchresults.constant.numeric", "\t3" ],
+ [ "c9searchresults.text", ": " ],
+ [ "c9searchresults.text", "var path = require(\"path\");" ]
]
},
{
"state": "start",
- "values": [
- "\t5",
- ": ",
- "var clientExtensions = {};"
- ],
- "types": [
- "c9searchresults.constant.numeric",
- "c9searchresults.text",
- "c9searchresults.text"
+ "data": [
+ [ "c9searchresults.constant.numeric", "\t5" ],
+ [ "c9searchresults.text", ": " ],
+ [ "c9searchresults.text", "var clientExtensions = {};" ]
]
},
{
"state": "start",
- "values": [
- "\t6",
- ": ",
- "var clientDirs = fs.readdirSync(__dirname + \"/../plugins-client\");"
- ],
- "types": [
- "c9searchresults.constant.numeric",
- "c9searchresults.text",
- "c9searchresults.text"
+ "data": [
+ [ "c9searchresults.constant.numeric", "\t6" ],
+ [ "c9searchresults.text", ": " ],
+ [ "c9searchresults.text", "var clientDirs = fs.readdirSync(__dirname + \"/../plugins-client\");" ]
]
},
{
"state": "start",
- "values": [
- "\t7",
- ": ",
- "for (var i = 0; i < clientDirs.length; i++) {"
- ],
- "types": [
- "c9searchresults.constant.numeric",
- "c9searchresults.text",
- "c9searchresults.text"
+ "data": [
+ [ "c9searchresults.constant.numeric", "\t7" ],
+ [ "c9searchresults.text", ": " ],
+ [ "c9searchresults.text", "for (var i = 0; i < clientDirs.length; i++) {" ]
]
},
{
"state": "start",
- "values": [
- "\t8",
- ": ",
- "var dir = clientDirs[i];"
- ],
- "types": [
- "c9searchresults.constant.numeric",
- "c9searchresults.text",
- "c9searchresults.text"
+ "data": [
+ [ "c9searchresults.constant.numeric", "\t8" ],
+ [ "c9searchresults.text", ": " ],
+ [ "c9searchresults.text", "var dir = clientDirs[i];" ]
]
},
{
"state": "start",
- "values": [
- "\t12",
- ": ",
- "var name = dir.split(\".\")[1];"
- ],
- "types": [
- "c9searchresults.constant.numeric",
- "c9searchresults.text",
- "c9searchresults.text"
+ "data": [
+ [ "c9searchresults.constant.numeric", "\t12" ],
+ [ "c9searchresults.text", ": " ],
+ [ "c9searchresults.text", "var name = dir.split(\".\")[1];" ]
]
},
{
"state": "start",
- "values": [
- "\t16",
- ": ",
- "var projectDir = (argv.w && path.resolve(process.cwd(), argv.w)) || process.cwd();"
- ],
- "types": [
- "c9searchresults.constant.numeric",
- "c9searchresults.text",
- "c9searchresults.text"
+ "data": [
+ [ "c9searchresults.constant.numeric", "\t16" ],
+ [ "c9searchresults.text", ": " ],
+ [ "c9searchresults.text", "var projectDir = (argv.w && path.resolve(process.cwd(), argv.w)) || process.cwd();" ]
]
},
{
"state": "start",
- "values": [
- "\t17",
- ": ",
- "var fsUrl = \"/workspace\";"
- ],
- "types": [
- "c9searchresults.constant.numeric",
- "c9searchresults.text",
- "c9searchresults.text"
+ "data": [
+ [ "c9searchresults.constant.numeric", "\t17" ],
+ [ "c9searchresults.text", ": " ],
+ [ "c9searchresults.text", "var fsUrl = \"/workspace\";" ]
]
},
{
"state": "start",
- "values": [
- "\t19",
- ": ",
- "var port = argv.p || process.env.PORT || 3131;"
- ],
- "types": [
- "c9searchresults.constant.numeric",
- "c9searchresults.text",
- "c9searchresults.text"
+ "data": [
+ [ "c9searchresults.constant.numeric", "\t19" ],
+ [ "c9searchresults.text", ": " ],
+ [ "c9searchresults.text", "var port = argv.p || process.env.PORT || 3131;" ]
]
},
{
"state": "start",
- "values": [
- "\t20",
- ": ",
- "var host = argv.l || \"localhost\";"
- ],
- "types": [
- "c9searchresults.constant.numeric",
- "c9searchresults.text",
- "c9searchresults.text"
+ "data": [
+ [ "c9searchresults.constant.numeric", "\t20" ],
+ [ "c9searchresults.text", ": " ],
+ [ "c9searchresults.text", "var host = argv.l || \"localhost\";" ]
]
},
{
"state": "start",
- "values": [
- "\t22",
- ": ",
- "var config = {"
- ],
- "types": [
- "c9searchresults.constant.numeric",
- "c9searchresults.text",
- "c9searchresults.text"
+ "data": [
+ [ "c9searchresults.constant.numeric", "\t22" ],
+ [ "c9searchresults.text", ": " ],
+ [ "c9searchresults.text", "var config = {" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "configs/local.js",
- ":"
- ],
- "types": [
- "string",
- "text"
+ "data": [
+ [ "string", "configs/local.js" ],
+ [ "text", ":" ]
]
},
{
"state": "start",
- "values": [
- "\t2",
- ": ",
- "var config = require(\"./default\");"
- ],
- "types": [
- "c9searchresults.constant.numeric",
- "c9searchresults.text",
- "c9searchresults.text"
+ "data": [
+ [ "c9searchresults.constant.numeric", "\t2" ],
+ [ "c9searchresults.text", ": " ],
+ [ "c9searchresults.text", "var config = require(\"./default\");" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "configs/packed.js",
- ":"
- ],
- "types": [
- "string",
- "text"
+ "data": [
+ [ "string", "configs/packed.js" ],
+ [ "text", ":" ]
]
},
{
"state": "start",
- "values": [
- "\t1",
- ": ",
- "var config = require(\"./default\");"
- ],
- "types": [
- "c9searchresults.constant.numeric",
- "c9searchresults.text",
- "c9searchresults.text"
+ "data": [
+ [ "c9searchresults.constant.numeric", "\t1" ],
+ [ "c9searchresults.text", ": " ],
+ [ "c9searchresults.text", "var config = require(\"./default\");" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Found 15 matches in 3 files"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Found 15 matches in 3 files" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_c_cpp.json b/lib/ace/mode/_test/tokens_c_cpp.json
index 08627627..c623e66d 100644
--- a/lib/ace/mode/_test/tokens_c_cpp.json
+++ b/lib/ace/mode/_test/tokens_c_cpp.json
@@ -1,207 +1,124 @@
[
{
"state": "start",
- "values": [
- "// compound assignment operators"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "// compound assignment operators" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "#include",
- " ",
- ""
- ],
- "types": [
- "keyword",
- "text",
- "constant"
+ "data": [
+ [ "keyword", "#include" ],
+ [ "text", " " ],
+ [ "constant", "" ]
]
},
{
"state": "start",
- "values": [
- "using",
- " ",
- "namespace",
- " ",
- "std",
- ";"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "punctuation.operator"
+ "data": [
+ [ "keyword", "using" ],
+ [ "text", " " ],
+ [ "keyword", "namespace" ],
+ [ "text", " " ],
+ [ "identifier", "std" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "int",
- " ",
- "main",
- " ",
- "(",
- ")"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen",
- "paren.rparen"
+ "data": [
+ [ "keyword", "int" ],
+ [ "text", " " ],
+ [ "identifier", "main" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "{"
- ],
- "types": [
- "paren.lparen"
+ "data": [
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "int",
- " ",
- "a",
- ",",
- " ",
- "b",
- "=",
- "3",
- ";",
- " ",
- "/*",
- " foobar */"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "punctuation.operator",
- "text",
- "identifier",
- "keyword.operator",
- "constant.numeric",
- "punctuation.operator",
- "text",
- "comment",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "int" ],
+ [ "text", " " ],
+ [ "identifier", "a" ],
+ [ "punctuation.operator", "," ],
+ [ "text", " " ],
+ [ "identifier", "b" ],
+ [ "keyword.operator", "=" ],
+ [ "constant.numeric", "3" ],
+ [ "punctuation.operator", ";" ],
+ [ "text", " " ],
+ [ "comment", "/*" ],
+ [ "comment", " foobar */" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "a",
- " ",
- "=",
- " ",
- "b",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "a" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "b" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "a",
- "+",
- "=",
- "2",
- ";",
- " ",
- "// equivalent to a=a+2"
- ],
- "types": [
- "text",
- "identifier",
- "keyword.operator",
- "keyword.operator",
- "constant.numeric",
- "punctuation.operator",
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "a" ],
+ [ "keyword.operator", "+" ],
+ [ "keyword.operator", "=" ],
+ [ "constant.numeric", "2" ],
+ [ "punctuation.operator", ";" ],
+ [ "text", " " ],
+ [ "comment", "// equivalent to a=a+2" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "cout",
- " ",
- "<",
- "<",
- " ",
- "a",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "identifier",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "cout" ],
+ [ "text", " " ],
+ [ "keyword.operator", "<" ],
+ [ "keyword.operator", "<" ],
+ [ "text", " " ],
+ [ "identifier", "a" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "return",
- " ",
- "0",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "constant.numeric",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "return" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_clojure.json b/lib/ace/mode/_test/tokens_clojure.json
index 20831bf5..e83b3d89 100644
--- a/lib/ace/mode/_test/tokens_clojure.json
+++ b/lib/ace/mode/_test/tokens_clojure.json
@@ -1,437 +1,248 @@
[
{
"state": "start",
- "values": [
- "(",
- "defn",
- " ",
- "parting"
- ],
- "types": [
- "keyword",
- "support.function",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "(" ],
+ [ "support.function", "defn" ],
+ [ "text", " " ],
+ [ "identifier", "parting" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"returns a String parting in a given language",
- "\""
- ],
- "types": [
- "text",
- "string",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "string", "\"returns a String parting in a given language" ],
+ [ "string", "\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "(",
- "[",
- "]",
- " ",
- "(",
- "parting",
- " ",
- "\"World",
- "\"",
- ")",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "keyword",
- "keyword",
- "text",
- "keyword",
- "identifier",
- "text",
- "string",
- "string",
- "keyword",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "(" ],
+ [ "keyword", "[" ],
+ [ "keyword", "]" ],
+ [ "text", " " ],
+ [ "keyword", "(" ],
+ [ "identifier", "parting" ],
+ [ "text", " " ],
+ [ "string", "\"World" ],
+ [ "string", "\"" ],
+ [ "keyword", ")" ],
+ [ "keyword", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "(",
- "[",
- "name",
- "]",
- " ",
- "(",
- "parting",
- " ",
- "name",
- " ",
- "\"en",
- "\"",
- ")",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "keyword",
- "support.function",
- "keyword",
- "text",
- "keyword",
- "identifier",
- "text",
- "support.function",
- "text",
- "string",
- "string",
- "keyword",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "(" ],
+ [ "keyword", "[" ],
+ [ "support.function", "name" ],
+ [ "keyword", "]" ],
+ [ "text", " " ],
+ [ "keyword", "(" ],
+ [ "identifier", "parting" ],
+ [ "text", " " ],
+ [ "support.function", "name" ],
+ [ "text", " " ],
+ [ "string", "\"en" ],
+ [ "string", "\"" ],
+ [ "keyword", ")" ],
+ [ "keyword", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "(",
- "[",
- "name",
- " ",
- "language",
- "]"
- ],
- "types": [
- "text",
- "keyword",
- "keyword",
- "support.function",
- "text",
- "identifier",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "(" ],
+ [ "keyword", "[" ],
+ [ "support.function", "name" ],
+ [ "text", " " ],
+ [ "identifier", "language" ],
+ [ "keyword", "]" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "; condp is similar to a case statement in other languages."
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "; condp is similar to a case statement in other languages." ]
]
},
{
"state": "start",
- "values": [
- " ",
- "; It is described in more detail later."
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "; It is described in more detail later." ]
]
},
{
"state": "start",
- "values": [
- " ",
- "; It is used here to take different actions based on whether the"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "; It is used here to take different actions based on whether the" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "; parameter \"language\" is set to \"en\", \"es\" or something else."
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "; parameter \"language\" is set to \"en\", \"es\" or something else." ]
]
},
{
"state": "start",
- "values": [
- " ",
- "(",
- "condp",
- " ",
- "=",
- " ",
- "language"
- ],
- "types": [
- "text",
- "keyword",
- "support.function",
- "text",
- "constant.language",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "(" ],
+ [ "support.function", "condp" ],
+ [ "text", " " ],
+ [ "constant.language", "=" ],
+ [ "text", " " ],
+ [ "identifier", "language" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"en",
- "\"",
- " ",
- "(",
- "str",
- " ",
- "\"Goodbye, ",
- "\"",
- " ",
- "name",
- ")"
- ],
- "types": [
- "text",
- "string",
- "string",
- "text",
- "keyword",
- "support.function",
- "text",
- "string",
- "string",
- "text",
- "support.function",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "string", "\"en" ],
+ [ "string", "\"" ],
+ [ "text", " " ],
+ [ "keyword", "(" ],
+ [ "support.function", "str" ],
+ [ "text", " " ],
+ [ "string", "\"Goodbye, " ],
+ [ "string", "\"" ],
+ [ "text", " " ],
+ [ "support.function", "name" ],
+ [ "keyword", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"es",
- "\"",
- " ",
- "(",
- "str",
- " ",
- "\"Adios, ",
- "\"",
- " ",
- "name",
- ")"
- ],
- "types": [
- "text",
- "string",
- "string",
- "text",
- "keyword",
- "support.function",
- "text",
- "string",
- "string",
- "text",
- "support.function",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "string", "\"es" ],
+ [ "string", "\"" ],
+ [ "text", " " ],
+ [ "keyword", "(" ],
+ [ "support.function", "str" ],
+ [ "text", " " ],
+ [ "string", "\"Adios, " ],
+ [ "string", "\"" ],
+ [ "text", " " ],
+ [ "support.function", "name" ],
+ [ "keyword", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "(",
- "throw",
- " ",
- "(",
- "IllegalArgumentException",
- "."
- ],
- "types": [
- "text",
- "keyword",
- "keyword",
- "text",
- "keyword",
- "identifier",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "(" ],
+ [ "keyword", "throw" ],
+ [ "text", " " ],
+ [ "keyword", "(" ],
+ [ "identifier", "IllegalArgumentException" ],
+ [ "text", "." ]
]
},
{
"state": "start",
- "values": [
- " ",
- "(",
- "str",
- " ",
- "\"unsupported language ",
- "\"",
- " ",
- "language",
- ")",
- ")",
- ")",
- ")",
- ")",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "support.function",
- "text",
- "string",
- "string",
- "text",
- "identifier",
- "keyword",
- "keyword",
- "keyword",
- "keyword",
- "keyword",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "(" ],
+ [ "support.function", "str" ],
+ [ "text", " " ],
+ [ "string", "\"unsupported language " ],
+ [ "string", "\"" ],
+ [ "text", " " ],
+ [ "identifier", "language" ],
+ [ "keyword", ")" ],
+ [ "keyword", ")" ],
+ [ "keyword", ")" ],
+ [ "keyword", ")" ],
+ [ "keyword", ")" ],
+ [ "keyword", ")" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "(",
- "println",
- " ",
- "(",
- "parting",
- ")",
- ")",
- " ",
- "; -> Goodbye, World"
- ],
- "types": [
- "keyword",
- "support.function",
- "text",
- "keyword",
- "identifier",
- "keyword",
- "keyword",
- "text",
- "comment"
+ "data": [
+ [ "keyword", "(" ],
+ [ "support.function", "println" ],
+ [ "text", " " ],
+ [ "keyword", "(" ],
+ [ "identifier", "parting" ],
+ [ "keyword", ")" ],
+ [ "keyword", ")" ],
+ [ "text", " " ],
+ [ "comment", "; -> Goodbye, World" ]
]
},
{
"state": "start",
- "values": [
- "(",
- "println",
- " ",
- "(",
- "parting",
- " ",
- "\"Mark",
- "\"",
- ")",
- ")",
- " ",
- "; -> Goodbye, Mark"
- ],
- "types": [
- "keyword",
- "support.function",
- "text",
- "keyword",
- "identifier",
- "text",
- "string",
- "string",
- "keyword",
- "keyword",
- "text",
- "comment"
+ "data": [
+ [ "keyword", "(" ],
+ [ "support.function", "println" ],
+ [ "text", " " ],
+ [ "keyword", "(" ],
+ [ "identifier", "parting" ],
+ [ "text", " " ],
+ [ "string", "\"Mark" ],
+ [ "string", "\"" ],
+ [ "keyword", ")" ],
+ [ "keyword", ")" ],
+ [ "text", " " ],
+ [ "comment", "; -> Goodbye, Mark" ]
]
},
{
"state": "start",
- "values": [
- "(",
- "println",
- " ",
- "(",
- "parting",
- " ",
- "\"Mark",
- "\"",
- " ",
- "\"es",
- "\"",
- ")",
- ")",
- " ",
- "; -> Adios, Mark"
- ],
- "types": [
- "keyword",
- "support.function",
- "text",
- "keyword",
- "identifier",
- "text",
- "string",
- "string",
- "text",
- "string",
- "string",
- "keyword",
- "keyword",
- "text",
- "comment"
+ "data": [
+ [ "keyword", "(" ],
+ [ "support.function", "println" ],
+ [ "text", " " ],
+ [ "keyword", "(" ],
+ [ "identifier", "parting" ],
+ [ "text", " " ],
+ [ "string", "\"Mark" ],
+ [ "string", "\"" ],
+ [ "text", " " ],
+ [ "string", "\"es" ],
+ [ "string", "\"" ],
+ [ "keyword", ")" ],
+ [ "keyword", ")" ],
+ [ "text", " " ],
+ [ "comment", "; -> Adios, Mark" ]
]
},
{
"state": "start",
- "values": [
- "(",
- "println",
- " ",
- "(",
- "parting",
- " ",
- "\"Mark",
- "\"",
- ", ",
- "\"xy",
- "\"",
- ")",
- ")",
- " ",
- "; -> java.lang.IllegalArgumentException: unsupported language xy"
- ],
- "types": [
- "keyword",
- "support.function",
- "text",
- "keyword",
- "identifier",
- "text",
- "string",
- "string",
- "text",
- "string",
- "string",
- "keyword",
- "keyword",
- "text",
- "comment"
+ "data": [
+ [ "keyword", "(" ],
+ [ "support.function", "println" ],
+ [ "text", " " ],
+ [ "keyword", "(" ],
+ [ "identifier", "parting" ],
+ [ "text", " " ],
+ [ "string", "\"Mark" ],
+ [ "string", "\"" ],
+ [ "text", ", " ],
+ [ "string", "\"xy" ],
+ [ "string", "\"" ],
+ [ "keyword", ")" ],
+ [ "keyword", ")" ],
+ [ "text", " " ],
+ [ "comment", "; -> java.lang.IllegalArgumentException: unsupported language xy" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_coffee.json b/lib/ace/mode/_test/tokens_coffee.json
index 6d3aa160..e8c97baa 100644
--- a/lib/ace/mode/_test/tokens_coffee.json
+++ b/lib/ace/mode/_test/tokens_coffee.json
@@ -1,308 +1,188 @@
[
{
"state": "start",
- "values": [
- "#!/usr/bin/env coffee"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "#!/usr/bin/env coffee" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "try"
- ],
- "types": [
- "keyword"
+ "data": [
+ [ "keyword", "try" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "throw",
- " ",
- "URIError",
- " ",
- "decodeURI",
- "(",
- "0xC0ffee",
- " ",
- "*",
- " ",
- "123456.7e-8",
- " ",
- "/",
- " ",
- ".9",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "language.support.class",
- "text",
- "language.support.function",
- "paren.lparen",
- "constant.numeric",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "throw" ],
+ [ "text", " " ],
+ [ "language.support.class", "URIError" ],
+ [ "text", " " ],
+ [ "language.support.function", "decodeURI" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "0xC0ffee" ],
+ [ "text", " " ],
+ [ "keyword.operator", "*" ],
+ [ "text", " " ],
+ [ "constant.numeric", "123456.7e-8" ],
+ [ "text", " " ],
+ [ "keyword.operator", "/" ],
+ [ "text", " " ],
+ [ "constant.numeric", ".9" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "catch",
- " ",
- "e"
- ],
- "types": [
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "catch" ],
+ [ "text", " " ],
+ [ "identifier", "e" ]
]
},
{
"state": "qdoc",
- "values": [
- " ",
- "console",
- ".log",
- " ",
- "'qstring'",
- " ",
- "+",
- " ",
- "\"qqstring\"",
- " ",
- "+",
- " ",
- "'''"
- ],
- "types": [
- "text",
- "identifier",
- "identifier",
- "text",
- "string",
- "text",
- "keyword.operator",
- "text",
- "string",
- "text",
- "keyword.operator",
- "text",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "console" ],
+ [ "identifier", ".log" ],
+ [ "text", " " ],
+ [ "string", "'qstring'" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "string", "\"qqstring\"" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "string", "'''" ]
]
},
{
"state": "qdoc",
- "values": [
- " qdoc"
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", " qdoc" ]
]
},
{
"state": "qqdoc",
- "values": [
- " '''",
- " ",
- "+",
- " ",
- "\"\"\""
- ],
- "types": [
- "string",
- "text",
- "keyword.operator",
- "text",
- "string"
+ "data": [
+ [ "string", " '''" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "string", "\"\"\"" ]
]
},
{
"state": "qqdoc",
- "values": [
- " qqdoc"
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", " qqdoc" ]
]
},
{
"state": "start",
- "values": [
- " \"\"\""
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", " \"\"\"" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "do",
- " ",
- "->"
- ],
- "types": [
- "keyword",
- "text",
- "keyword.operator"
+ "data": [
+ [ "keyword", "do" ],
+ [ "text", " " ],
+ [ "keyword.operator", "->" ]
]
},
{
"state": "comment",
- "values": [
- " ",
- "###"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "###" ]
]
},
{
"state": "comment",
- "values": [
- " herecomment"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", " herecomment" ]
]
},
{
"state": "start",
- "values": [
- " ###"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", " ###" ]
]
},
{
"state": "heregex",
- "values": [
- " ",
- "re",
- " ",
- "=",
- " ",
- "/regex/imgy",
- ".test",
- " ",
- "///"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "string.regex",
- "identifier",
- "text",
- "string.regex"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "re" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "string.regex", "/regex/imgy" ],
+ [ "identifier", ".test" ],
+ [ "text", " " ],
+ [ "string.regex", "///" ]
]
},
{
"state": "heregex",
- "values": [
- " ",
- "heregex",
- " # comment"
- ],
- "types": [
- "comment.regex",
- "string.regex",
- "comment.regex"
+ "data": [
+ [ "comment.regex", " " ],
+ [ "string.regex", "heregex" ],
+ [ "comment.regex", " # comment" ]
]
},
{
"state": "start",
- "values": [
- " ///imgy"
- ],
- "types": [
- "string.regex"
+ "data": [
+ [ "string.regex", " ///imgy" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "this",
- " ",
- "isnt",
- ":",
- " ",
- "`just JavaScript`"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "keyword",
- "punctuation.operator",
- "text",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "this" ],
+ [ "text", " " ],
+ [ "keyword", "isnt" ],
+ [ "punctuation.operator", ":" ],
+ [ "text", " " ],
+ [ "string", "`just JavaScript`" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "undefined"
- ],
- "types": [
- "text",
- "constant.language"
+ "data": [
+ [ "text", " " ],
+ [ "constant.language", "undefined" ]
]
},
{
"state": "start",
- "values": [
- " "
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- "sentence",
- " ",
- "=",
- " ",
- "\"#{ 22 / 7 } is a decent approximation of π\""
- ],
- "types": [
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "string"
+ "data": [
+ [ "identifier", "sentence" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "string", "\"#{ 22 / 7 } is a decent approximation of π\"" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_coldfusion.json b/lib/ace/mode/_test/tokens_coldfusion.json
index 7e443910..2c2a602c 100644
--- a/lib/ace/mode/_test/tokens_coldfusion.json
+++ b/lib/ace/mode/_test/tokens_coldfusion.json
@@ -1,65 +1,41 @@
[
{
"state": "start",
- "values": [
- ""
- ],
- "types": [
- "comment",
- "comment"
+ "data": [
+ [ "comment", "" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "<",
- "cfset",
- " ",
- "welcome",
- "=",
- "\"Hello World!\"",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "cfset" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "welcome" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"Hello World!\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "<",
- "cfoutput",
- ">",
- "#welcome#",
- "",
- "cfoutput",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "cfoutput" ],
+ [ "meta.tag", ">" ],
+ [ "text", "#welcome#" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "cfoutput" ],
+ [ "meta.tag", ">" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_csharp.json b/lib/ace/mode/_test/tokens_csharp.json
index 6c23838d..167fdbe8 100644
--- a/lib/ace/mode/_test/tokens_csharp.json
+++ b/lib/ace/mode/_test/tokens_csharp.json
@@ -1,70 +1,42 @@
[
{
"state": "start",
- "values": [
- "public",
- " ",
- "void",
- " ",
- "HelloWorld",
- "(",
- ")",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "keyword", "public" ],
+ [ "text", " " ],
+ [ "keyword", "void" ],
+ [ "text", " " ],
+ [ "identifier", "HelloWorld" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "//Say Hello!"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "//Say Hello!" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "Console",
- ".",
- "WriteLine",
- "(",
- "\"Hello World\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "punctuation.operator",
- "identifier",
- "paren.lparen",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "Console" ],
+ [ "punctuation.operator", "." ],
+ [ "identifier", "WriteLine" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"Hello World\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_css.json b/lib/ace/mode/_test/tokens_css.json
index c872bad4..a7b607cc 100644
--- a/lib/ace/mode/_test/tokens_css.json
+++ b/lib/ace/mode/_test/tokens_css.json
@@ -1,376 +1,231 @@
[
{
"state": "ruleset",
- "values": [
- ".text-layer",
- " ",
- "{"
- ],
- "types": [
- "variable",
- "text",
- "paren.lparen"
+ "data": [
+ [ "variable", ".text-layer" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "ruleset",
- "values": [
- " ",
- "font-family",
- ": Monaco, ",
- "\"Courier New\"",
- ", ",
- "monospace",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "string",
- "text",
- "support.constant.fonts",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "font-family" ],
+ [ "text", ": Monaco, " ],
+ [ "string", "\"Courier New\"" ],
+ [ "text", ", " ],
+ [ "support.constant.fonts", "monospace" ],
+ [ "text", ";" ]
]
},
{
"state": "ruleset",
- "values": [
- " ",
- "font-size",
- ": ",
- "12",
- "px",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "constant.numeric",
- "keyword",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "font-size" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "12" ],
+ [ "keyword", "px" ],
+ [ "text", ";" ]
]
},
{
"state": "ruleset",
- "values": [
- " ",
- "cursor",
- ": ",
- "text",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "support.constant",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "cursor" ],
+ [ "text", ": " ],
+ [ "support.constant", "text" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "ruleset",
- "values": [
- ".blinker",
- " ",
- "{"
- ],
- "types": [
- "variable",
- "text",
- "paren.lparen"
+ "data": [
+ [ "variable", ".blinker" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "ruleset",
- "values": [
- " ",
- "animation-duration",
- ": ",
- "1",
- "s",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "constant.numeric",
- "keyword",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "animation-duration" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "1" ],
+ [ "keyword", "s" ],
+ [ "text", ";" ]
]
},
{
"state": "ruleset",
- "values": [
- " ",
- "animation-name",
- ": blink;"
- ],
- "types": [
- "text",
- "support.type",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "animation-name" ],
+ [ "text", ": blink;" ]
]
},
{
"state": "ruleset",
- "values": [
- " ",
- "animation-iteration-count",
- ": infinite;"
- ],
- "types": [
- "text",
- "support.type",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "animation-iteration-count" ],
+ [ "text", ": infinite;" ]
]
},
{
"state": "ruleset",
- "values": [
- " ",
- "animation-direction",
- ": alternate;"
- ],
- "types": [
- "text",
- "support.type",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "animation-direction" ],
+ [ "text", ": alternate;" ]
]
},
{
"state": "ruleset",
- "values": [
- " ",
- "animation-timing-function",
- ": ",
- "linear",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "support.constant",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "animation-timing-function" ],
+ [ "text", ": " ],
+ [ "support.constant", "linear" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "media",
- "values": [
- "@keyframes blink {"
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", "@keyframes blink {" ]
]
},
{
"state": "media_ruleset",
- "values": [
- " ",
- "0",
- "% ",
- "{"
- ],
- "types": [
- "text",
- "constant",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "constant", "0" ],
+ [ "text", "% " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "media_ruleset",
- "values": [
- " ",
- "opacity",
- ": ",
- "0",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "constant.numeric",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "opacity" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "0" ],
+ [ "text", ";" ]
]
},
{
"state": "media",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "media_ruleset",
- "values": [
- " ",
- "40",
- "% ",
- "{"
- ],
- "types": [
- "text",
- "constant",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "constant", "40" ],
+ [ "text", "% " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "media_ruleset",
- "values": [
- " ",
- "opacity",
- ": ",
- "0",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "constant.numeric",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "opacity" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "0" ],
+ [ "text", ";" ]
]
},
{
"state": "media",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "media_ruleset",
- "values": [
- " ",
- "40",
- ".5",
- "% ",
- "{"
- ],
- "types": [
- "text",
- "constant",
- "variable",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "constant", "40" ],
+ [ "variable", ".5" ],
+ [ "text", "% " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "media_ruleset",
- "values": [
- " ",
- "opacity",
- ": ",
- "1"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "opacity" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "1" ]
]
},
{
"state": "media",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "media_ruleset",
- "values": [
- " ",
- "100",
- "% ",
- "{"
- ],
- "types": [
- "text",
- "constant",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "constant", "100" ],
+ [ "text", "% " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "media_ruleset",
- "values": [
- " ",
- "opacity",
- ": ",
- "1"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "opacity" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "1" ]
]
},
{
"state": "media",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", "}" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_diff.json b/lib/ace/mode/_test/tokens_diff.json
index 5ec5f694..6e7f99c3 100644
--- a/lib/ace/mode/_test/tokens_diff.json
+++ b/lib/ace/mode/_test/tokens_diff.json
@@ -1,1051 +1,732 @@
[
{
"state": "start",
- "values": [
- "diff",
- " --git",
- " a/lib/ace/edit_session.js",
- " b/lib/ace/edit_session.js"
- ],
- "types": [
- "variable",
- "variable",
- "keyword",
- "variable"
+ "data": [
+ [ "variable", "diff" ],
+ [ "variable", " --git" ],
+ [ "keyword", " a/lib/ace/edit_session.js" ],
+ [ "variable", " b/lib/ace/edit_session.js" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "index 23fc3fc..ed3b273 100644"
- ],
- "types": [
- "variable"
+ "data": [
+ [ "variable", "index 23fc3fc..ed3b273 100644" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "---",
- " a/lib/ace/edit_session.js"
- ],
- "types": [
- "constant.numeric",
- "meta.tag"
+ "data": [
+ [ "constant.numeric", "---" ],
+ [ "meta.tag", " a/lib/ace/edit_session.js" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+++",
- " b/lib/ace/edit_session.js"
- ],
- "types": [
- "constant.numeric",
- "meta.tag"
+ "data": [
+ [ "constant.numeric", "+++" ],
+ [ "meta.tag", " b/lib/ace/edit_session.js" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "@@",
- " -51,6 +51,7 ",
- "@@",
- " var TextMode = require(\"./mode/text\").Mode;"
- ],
- "types": [
- "constant",
- "constant.numeric",
- "constant",
- "comment.doc.tag"
+ "data": [
+ [ "constant", "@@" ],
+ [ "constant.numeric", " -51,6 +51,7 " ],
+ [ "constant", "@@" ],
+ [ "comment.doc.tag", " var TextMode = require(\"./mode/text\").Mode;" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " var Range = require(\"./range\").Range;"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " var Range = require(\"./range\").Range;" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " var Document = require(\"./document\").Document;"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " var Document = require(\"./document\").Document;" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " var BackgroundTokenizer = require(\"./background_tokenizer\").BackgroundTokenizer;"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " var BackgroundTokenizer = require(\"./background_tokenizer\").BackgroundTokenizer;" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+",
- "var SearchHighlight = require(\"./search_highlight\").SearchHighlight;"
- ],
- "types": [
- "support.constant",
- "text"
+ "data": [
+ [ "support.constant", "+" ],
+ [ "text", "var SearchHighlight = require(\"./search_highlight\").SearchHighlight;" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " /**"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " /**" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " * class EditSession"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " * class EditSession" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "@@",
- " -307,6 +308,13 ",
- "@@",
- " var EditSession = function(text, mode) {"
- ],
- "types": [
- "constant",
- "constant.numeric",
- "constant",
- "comment.doc.tag"
+ "data": [
+ [ "constant", "@@" ],
+ [ "constant.numeric", " -307,6 +308,13 " ],
+ [ "constant", "@@" ],
+ [ "comment.doc.tag", " var EditSession = function(text, mode) {" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " return token;"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " return token;" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " };"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " };" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+",
- " this.highlight = function(re) {"
- ],
- "types": [
- "support.constant",
- "text"
+ "data": [
+ [ "support.constant", "+" ],
+ [ "text", " this.highlight = function(re) {" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+",
- " if (!this.$searchHighlight) {"
- ],
- "types": [
- "support.constant",
- "text"
+ "data": [
+ [ "support.constant", "+" ],
+ [ "text", " if (!this.$searchHighlight) {" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+",
- " var highlight = new SearchHighlight(null, \"ace_selected_word\", \"text\");"
- ],
- "types": [
- "support.constant",
- "text"
+ "data": [
+ [ "support.constant", "+" ],
+ [ "text", " var highlight = new SearchHighlight(null, \"ace_selected_word\", \"text\");" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+",
- " this.$searchHighlight = this.addDynamicMarker(highlight);"
- ],
- "types": [
- "support.constant",
- "text"
+ "data": [
+ [ "support.constant", "+" ],
+ [ "text", " this.$searchHighlight = this.addDynamicMarker(highlight);" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+",
- " }"
- ],
- "types": [
- "support.constant",
- "text"
+ "data": [
+ [ "support.constant", "+" ],
+ [ "text", " }" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+",
- " this.$searchHighlight.setRegexp(re);"
- ],
- "types": [
- "support.constant",
- "text"
+ "data": [
+ [ "support.constant", "+" ],
+ [ "text", " this.$searchHighlight.setRegexp(re);" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+",
- " }"
- ],
- "types": [
- "support.constant",
- "text"
+ "data": [
+ [ "support.constant", "+" ],
+ [ "text", " }" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " /**"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " /**" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " * EditSession.setUndoManager(undoManager)"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " * EditSession.setUndoManager(undoManager)" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " * - undoManager (UndoManager): The new undo manager"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " * - undoManager (UndoManager): The new undo manager" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "@@",
- " -556,7 +564,8 ",
- "@@",
- " var EditSession = function(text, mode) {"
- ],
- "types": [
- "constant",
- "constant.numeric",
- "constant",
- "comment.doc.tag"
+ "data": [
+ [ "constant", "@@" ],
+ [ "constant.numeric", " -556,7 +564,8 " ],
+ [ "constant", "@@" ],
+ [ "comment.doc.tag", " var EditSession = function(text, mode) {" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " type : type || \"line\","
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " type : type || \"line\"," ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " renderer: typeof type == \"function\" ? type : null,"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " renderer: typeof type == \"function\" ? type : null," ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " clazz : clazz,"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " clazz : clazz," ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "-",
- " inFront: !!inFront"
- ],
- "types": [
- "support.function",
- "string"
+ "data": [
+ [ "support.function", "-" ],
+ [ "string", " inFront: !!inFront" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+",
- " inFront: !!inFront,"
- ],
- "types": [
- "support.constant",
- "text"
+ "data": [
+ [ "support.constant", "+" ],
+ [ "text", " inFront: !!inFront," ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+",
- " id: id"
- ],
- "types": [
- "support.constant",
- "text"
+ "data": [
+ [ "support.constant", "+" ],
+ [ "text", " id: id" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " }"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " }" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " if (inFront) {"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " if (inFront) {" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "diff",
- " --git",
- " a/lib/ace/editor.js",
- " b/lib/ace/editor.js"
- ],
- "types": [
- "variable",
- "variable",
- "keyword",
- "variable"
+ "data": [
+ [ "variable", "diff" ],
+ [ "variable", " --git" ],
+ [ "keyword", " a/lib/ace/editor.js" ],
+ [ "variable", " b/lib/ace/editor.js" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "index 834e603..b27ec73 100644"
- ],
- "types": [
- "variable"
+ "data": [
+ [ "variable", "index 834e603..b27ec73 100644" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "---",
- " a/lib/ace/editor.js"
- ],
- "types": [
- "constant.numeric",
- "meta.tag"
+ "data": [
+ [ "constant.numeric", "---" ],
+ [ "meta.tag", " a/lib/ace/editor.js" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+++",
- " b/lib/ace/editor.js"
- ],
- "types": [
- "constant.numeric",
- "meta.tag"
+ "data": [
+ [ "constant.numeric", "+++" ],
+ [ "meta.tag", " b/lib/ace/editor.js" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "@@",
- " -494,7 +494,7 ",
- "@@",
- " var Editor = function(renderer, session) {"
- ],
- "types": [
- "constant",
- "constant.numeric",
- "constant",
- "comment.doc.tag"
+ "data": [
+ [ "constant", "@@" ],
+ [ "constant.numeric", " -494,7 +494,7 " ],
+ [ "constant", "@@" ],
+ [ "comment.doc.tag", " var Editor = function(renderer, session) {" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " * Emitted when a selection has changed."
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " * Emitted when a selection has changed." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " **/"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " **/" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " this.onSelectionChange = function(e) {"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " this.onSelectionChange = function(e) {" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "-",
- " var session = this.getSession();"
- ],
- "types": [
- "support.function",
- "string"
+ "data": [
+ [ "support.function", "-" ],
+ [ "string", " var session = this.getSession();" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+",
- " var session = this.session;"
- ],
- "types": [
- "support.constant",
- "text"
+ "data": [
+ [ "support.constant", "+" ],
+ [ "text", " var session = this.session;" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " if (session.$selectionMarker) {"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " if (session.$selectionMarker) {" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " session.removeMarker(session.$selectionMarker);"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " session.removeMarker(session.$selectionMarker);" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "@@",
- " -509,12 +509,40 ",
- "@@",
- " var Editor = function(renderer, session) {"
- ],
- "types": [
- "constant",
- "constant.numeric",
- "constant",
- "comment.doc.tag"
+ "data": [
+ [ "constant", "@@" ],
+ [ "constant.numeric", " -509,12 +509,40 " ],
+ [ "constant", "@@" ],
+ [ "comment.doc.tag", " var Editor = function(renderer, session) {" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " this.$updateHighlightActiveLine();"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " this.$updateHighlightActiveLine();" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " }"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " }" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "-",
- " var self = this;"
- ],
- "types": [
- "support.function",
- "string"
+ "data": [
+ [ "support.function", "-" ],
+ [ "string", " var self = this;" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "-",
- " if (this.$highlightSelectedWord && !this.$wordHighlightTimer)"
- ],
- "types": [
- "support.function",
- "string"
+ "data": [
+ [ "support.function", "-" ],
+ [ "string", " if (this.$highlightSelectedWord && !this.$wordHighlightTimer)" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "-",
- " this.$wordHighlightTimer = setTimeout(function() {"
- ],
- "types": [
- "support.function",
- "string"
+ "data": [
+ [ "support.function", "-" ],
+ [ "string", " this.$wordHighlightTimer = setTimeout(function() {" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "-",
- " self.session.$mode.highlightSelection(self);"
- ],
- "types": [
- "support.function",
- "string"
+ "data": [
+ [ "support.function", "-" ],
+ [ "string", " self.session.$mode.highlightSelection(self);" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "-",
- " self.$wordHighlightTimer = null;"
- ],
- "types": [
- "support.function",
- "string"
+ "data": [
+ [ "support.function", "-" ],
+ [ "string", " self.$wordHighlightTimer = null;" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "-",
- " }, 30, this);"
- ],
- "types": [
- "support.function",
- "string"
+ "data": [
+ [ "support.function", "-" ],
+ [ "string", " }, 30, this);" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+",
- " var re = this.$highlightSelectedWord && this.$getSelectionHighLightRegexp()"
- ],
- "types": [
- "support.constant",
- "text"
+ "data": [
+ [ "support.constant", "+" ],
+ [ "text", " var re = this.$highlightSelectedWord && this.$getSelectionHighLightRegexp()" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " };"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", " };" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "diff",
- " --git",
- " a/lib/ace/search_highlight.js",
- " b/lib/ace/search_highlight.js"
- ],
- "types": [
- "variable",
- "variable",
- "keyword",
- "variable"
+ "data": [
+ [ "variable", "diff" ],
+ [ "variable", " --git" ],
+ [ "keyword", " a/lib/ace/search_highlight.js" ],
+ [ "variable", " b/lib/ace/search_highlight.js" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "new file mode 100644"
- ],
- "types": [
- "invisible"
+ "data": [
+ [ "invisible", "new file mode 100644" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "index 0000000..b2df779"
- ],
- "types": [
- "variable"
+ "data": [
+ [ "variable", "index 0000000..b2df779" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "---",
- " /dev/null"
- ],
- "types": [
- "constant.numeric",
- "meta.tag"
+ "data": [
+ [ "constant.numeric", "---" ],
+ [ "meta.tag", " /dev/null" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+++",
- " b/lib/ace/search_highlight.js"
- ],
- "types": [
- "constant.numeric",
- "meta.tag"
+ "data": [
+ [ "constant.numeric", "+++" ],
+ [ "meta.tag", " b/lib/ace/search_highlight.js" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "@@",
- " -0,0 +1,3 ",
- "@@"
- ],
- "types": [
- "constant",
- "constant.numeric",
- "constant"
+ "data": [
+ [ "constant", "@@" ],
+ [ "constant.numeric", " -0,0 +1,3 " ],
+ [ "constant", "@@" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+",
- "new"
- ],
- "types": [
- "support.constant",
- "text"
+ "data": [
+ [ "support.constant", "+" ],
+ [ "text", "new" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "+",
- "empty file"
- ],
- "types": [
- "support.constant",
- "text"
+ "data": [
+ [ "support.constant", "+" ],
+ [ "text", "empty file" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_glsl.json b/lib/ace/mode/_test/tokens_glsl.json
index d0f06dea..5f825707 100644
--- a/lib/ace/mode/_test/tokens_glsl.json
+++ b/lib/ace/mode/_test/tokens_glsl.json
@@ -1,308 +1,185 @@
[
{
"state": "start",
- "values": [
- "uniform",
- " ",
- "float",
- " ",
- "amplitude",
- ";"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "punctuation.operator"
+ "data": [
+ [ "keyword", "uniform" ],
+ [ "text", " " ],
+ [ "keyword", "float" ],
+ [ "text", " " ],
+ [ "identifier", "amplitude" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- "attribute",
- " ",
- "float",
- " ",
- "displacement",
- ";"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "punctuation.operator"
+ "data": [
+ [ "keyword", "attribute" ],
+ [ "text", " " ],
+ [ "keyword", "float" ],
+ [ "text", " " ],
+ [ "identifier", "displacement" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- "varying",
- " ",
- "vec3",
- " ",
- "vNormal",
- ";"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "punctuation.operator"
+ "data": [
+ [ "keyword", "varying" ],
+ [ "text", " " ],
+ [ "keyword", "vec3" ],
+ [ "text", " " ],
+ [ "identifier", "vNormal" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "void",
- " ",
- "main",
- "(",
- ")",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "keyword", "void" ],
+ [ "text", " " ],
+ [ "identifier", "main" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " ",
- "vNormal",
- " ",
- "=",
- " ",
- "normal",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "vNormal" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "normal" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- " "
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- " ",
- "// multiply our displacement by the"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "// multiply our displacement by the" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "// amplitude. The amp will get animated"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "// amplitude. The amp will get animated" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "// so we'll have animated displacement"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "// so we'll have animated displacement" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "vec3",
- " ",
- "newPosition",
- " ",
- "=",
- " ",
- "position",
- " ",
- "+",
- " "
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "vec3" ],
+ [ "text", " " ],
+ [ "identifier", "newPosition" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "position" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- " ",
- "normal",
- " ",
- "*",
- " "
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "normal" ],
+ [ "text", " " ],
+ [ "keyword.operator", "*" ],
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- " ",
- "vec3",
- "(",
- "displacement",
- " ",
- "*"
- ],
- "types": [
- "text",
- "keyword",
- "paren.lparen",
- "identifier",
- "text",
- "keyword.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "vec3" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "displacement" ],
+ [ "text", " " ],
+ [ "keyword.operator", "*" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "amplitude",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "amplitude" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " ",
- "gl_Position",
- " ",
- "=",
- " ",
- "projectionMatrix",
- " ",
- "*"
- ],
- "types": [
- "text",
- "constant.language",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "keyword.operator"
+ "data": [
+ [ "text", " " ],
+ [ "constant.language", "gl_Position" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "projectionMatrix" ],
+ [ "text", " " ],
+ [ "keyword.operator", "*" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "modelViewMatrix",
- " ",
- "*"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "modelViewMatrix" ],
+ [ "text", " " ],
+ [ "keyword.operator", "*" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "vec4",
- "(",
- "newPosition",
- ",",
- "1.0",
- ")",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "paren.lparen",
- "identifier",
- "punctuation.operator",
- "constant.numeric",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "vec4" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "newPosition" ],
+ [ "punctuation.operator", "," ],
+ [ "constant.numeric", "1.0" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_golang.json b/lib/ace/mode/_test/tokens_golang.json
index 4ac7fc96..edfb232a 100644
--- a/lib/ace/mode/_test/tokens_golang.json
+++ b/lib/ace/mode/_test/tokens_golang.json
@@ -1,617 +1,362 @@
[
{
"state": "start",
- "values": [
- "// Concurrent computation of pi."
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "// Concurrent computation of pi." ]
]
},
{
"state": "start",
- "values": [
- "// See http://goo.gl/ZuTZM."
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "// See http://goo.gl/ZuTZM." ]
]
},
{
"state": "start",
- "values": [
- "//"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "//" ]
]
},
{
"state": "start",
- "values": [
- "// This demonstrates Go's ability to handle"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "// This demonstrates Go's ability to handle" ]
]
},
{
"state": "start",
- "values": [
- "// large numbers of concurrent processes."
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "// large numbers of concurrent processes." ]
]
},
{
"state": "start",
- "values": [
- "// It is an unreasonable way to calculate pi."
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "// It is an unreasonable way to calculate pi." ]
]
},
{
"state": "start",
- "values": [
- "package",
- " ",
- "main"
- ],
- "types": [
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "package" ],
+ [ "text", " " ],
+ [ "identifier", "main" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "import",
- " ",
- "("
- ],
- "types": [
- "keyword",
- "text",
- "paren.lparen"
+ "data": [
+ [ "keyword", "import" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"fmt\""
- ],
- "types": [
- "text",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "string", "\"fmt\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"math\""
- ],
- "types": [
- "text",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "string", "\"math\"" ]
]
},
{
"state": "start",
- "values": [
- ")"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "func",
- " ",
- "main",
- "(",
- ")",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "keyword", "func" ],
+ [ "text", " " ],
+ [ "identifier", "main" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "fmt",
- ".",
- "Println",
- "(",
- "pi",
- "(",
- "5000",
- ")",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "punctuation.operator",
- "identifier",
- "paren.lparen",
- "identifier",
- "paren.lparen",
- "constant.numeric",
- "paren.rparen",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "fmt" ],
+ [ "punctuation.operator", "." ],
+ [ "identifier", "Println" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "pi" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "5000" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "// pi launches n goroutines to compute an"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "// pi launches n goroutines to compute an" ]
]
},
{
"state": "start",
- "values": [
- "// approximation of pi."
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "// approximation of pi." ]
]
},
{
"state": "start",
- "values": [
- "func",
- " ",
- "pi",
- "(",
- "n",
- " ",
- "int",
- ")",
- " ",
- "float64",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "identifier",
- "text",
- "identifier",
- "paren.rparen",
- "text",
- "identifier",
- "text",
- "paren.lparen"
+ "data": [
+ [ "keyword", "func" ],
+ [ "text", " " ],
+ [ "identifier", "pi" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "n" ],
+ [ "text", " " ],
+ [ "identifier", "int" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "identifier", "float64" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "ch",
- " ",
- ":",
- "=",
- " ",
- "make",
- "(",
- "chan",
- " ",
- "float64",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "punctuation.operator",
- "keyword.operator",
- "text",
- "identifier",
- "paren.lparen",
- "keyword",
- "text",
- "identifier",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "ch" ],
+ [ "text", " " ],
+ [ "punctuation.operator", ":" ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "make" ],
+ [ "paren.lparen", "(" ],
+ [ "keyword", "chan" ],
+ [ "text", " " ],
+ [ "identifier", "float64" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "for",
- " ",
- "k",
- " ",
- ":",
- "=",
- " ",
- "0",
- ";",
- " ",
- "k",
- " ",
- "<=",
- " ",
- "n",
- ";",
- " ",
- "k",
- "++",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "punctuation.operator",
- "keyword.operator",
- "text",
- "constant.numeric",
- "punctuation.operator",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "punctuation.operator",
- "text",
- "identifier",
- "keyword.operator",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "identifier", "k" ],
+ [ "text", " " ],
+ [ "punctuation.operator", ":" ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ],
+ [ "punctuation.operator", ";" ],
+ [ "text", " " ],
+ [ "identifier", "k" ],
+ [ "text", " " ],
+ [ "keyword.operator", "<=" ],
+ [ "text", " " ],
+ [ "identifier", "n" ],
+ [ "punctuation.operator", ";" ],
+ [ "text", " " ],
+ [ "identifier", "k" ],
+ [ "keyword.operator", "++" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "go",
- " ",
- "term",
- "(",
- "ch",
- ",",
- " ",
- "float64",
- "(",
- "k",
- ")",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "identifier",
- "punctuation.operator",
- "text",
- "identifier",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "go" ],
+ [ "text", " " ],
+ [ "identifier", "term" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "ch" ],
+ [ "punctuation.operator", "," ],
+ [ "text", " " ],
+ [ "identifier", "float64" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "k" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "f",
- " ",
- ":",
- "=",
- " ",
- "0.0"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "punctuation.operator",
- "keyword.operator",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "f" ],
+ [ "text", " " ],
+ [ "punctuation.operator", ":" ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0.0" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "for",
- " ",
- "k",
- " ",
- ":",
- "=",
- " ",
- "0",
- ";",
- " ",
- "k",
- " ",
- "<=",
- " ",
- "n",
- ";",
- " ",
- "k",
- "++",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "punctuation.operator",
- "keyword.operator",
- "text",
- "constant.numeric",
- "punctuation.operator",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "punctuation.operator",
- "text",
- "identifier",
- "keyword.operator",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "identifier", "k" ],
+ [ "text", " " ],
+ [ "punctuation.operator", ":" ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ],
+ [ "punctuation.operator", ";" ],
+ [ "text", " " ],
+ [ "identifier", "k" ],
+ [ "text", " " ],
+ [ "keyword.operator", "<=" ],
+ [ "text", " " ],
+ [ "identifier", "n" ],
+ [ "punctuation.operator", ";" ],
+ [ "text", " " ],
+ [ "identifier", "k" ],
+ [ "keyword.operator", "++" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "f",
- " ",
- "+",
- "=",
- " ",
- "<",
- "-",
- "ch"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "keyword.operator",
- "keyword.operator",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "f" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "keyword.operator", "<" ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "ch" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "return",
- " ",
- "f"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "return" ],
+ [ "text", " " ],
+ [ "identifier", "f" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "func",
- " ",
- "term",
- "(",
- "ch",
- " ",
- "chan",
- " ",
- "float64",
- ",",
- " ",
- "k",
- " ",
- "float64",
- ")",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier",
- "punctuation.operator",
- "text",
- "identifier",
- "text",
- "identifier",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "keyword", "func" ],
+ [ "text", " " ],
+ [ "identifier", "term" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "ch" ],
+ [ "text", " " ],
+ [ "keyword", "chan" ],
+ [ "text", " " ],
+ [ "identifier", "float64" ],
+ [ "punctuation.operator", "," ],
+ [ "text", " " ],
+ [ "identifier", "k" ],
+ [ "text", " " ],
+ [ "identifier", "float64" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "ch",
- " ",
- "<",
- "-",
- " ",
- "4",
- " ",
- "*",
- " ",
- "math",
- ".",
- "Pow",
- "(",
- "-1",
- ",",
- " ",
- "k",
- ")",
- " / ",
- "(",
- "2",
- "*",
- "k",
- " ",
- "+",
- " ",
- "1",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "constant.numeric",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "punctuation.operator",
- "identifier",
- "paren.lparen",
- "constant.numeric",
- "punctuation.operator",
- "text",
- "identifier",
- "paren.rparen",
- "text",
- "paren.lparen",
- "constant.numeric",
- "keyword.operator",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "ch" ],
+ [ "text", " " ],
+ [ "keyword.operator", "<" ],
+ [ "keyword.operator", "-" ],
+ [ "text", " " ],
+ [ "constant.numeric", "4" ],
+ [ "text", " " ],
+ [ "keyword.operator", "*" ],
+ [ "text", " " ],
+ [ "identifier", "math" ],
+ [ "punctuation.operator", "." ],
+ [ "identifier", "Pow" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "-1" ],
+ [ "punctuation.operator", "," ],
+ [ "text", " " ],
+ [ "identifier", "k" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " / " ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "2" ],
+ [ "keyword.operator", "*" ],
+ [ "identifier", "k" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_groovy.json b/lib/ace/mode/_test/tokens_groovy.json
index 8df0b304..2c73f16b 100644
--- a/lib/ace/mode/_test/tokens_groovy.json
+++ b/lib/ace/mode/_test/tokens_groovy.json
@@ -1,933 +1,529 @@
[
{
"state": "start",
- "values": [
- "//http://groovy.codehaus.org/Martin+Fowler%27s+closure+examples+in+Groovy"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "//http://groovy.codehaus.org/Martin+Fowler%27s+closure+examples+in+Groovy" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "class",
- " ",
- "Employee",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "lparen"
+ "data": [
+ [ "keyword", "class" ],
+ [ "text", " " ],
+ [ "identifier", "Employee" ],
+ [ "text", " " ],
+ [ "lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "def",
- " ",
- "name",
- ", ",
- "salary"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "def" ],
+ [ "text", " " ],
+ [ "identifier", "name" ],
+ [ "text", ", " ],
+ [ "identifier", "salary" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "boolean",
- " ",
- "manager"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "boolean" ],
+ [ "text", " " ],
+ [ "identifier", "manager" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "String",
- " ",
- "toString",
- "(",
- ")",
- " ",
- "{",
- " ",
- "return",
- " ",
- "name",
- " ",
- "}"
- ],
- "types": [
- "text",
- "support.function",
- "text",
- "identifier",
- "lparen",
- "rparen",
- "text",
- "lparen",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "support.function", "String" ],
+ [ "text", " " ],
+ [ "identifier", "toString" ],
+ [ "lparen", "(" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "lparen", "{" ],
+ [ "text", " " ],
+ [ "keyword", "return" ],
+ [ "text", " " ],
+ [ "identifier", "name" ],
+ [ "text", " " ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "rparen"
+ "data": [
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "def",
- " ",
- "emps",
- " ",
- "=",
- " ",
- "[",
- "new",
- " ",
- "Employee",
- "(",
- "name",
- ":",
- "'Guillaume'",
- ", ",
- "manager",
- ":",
- "true",
- ", ",
- "salary",
- ":",
- "200",
- ")",
- ","
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "lparen",
- "keyword",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "text",
- "string",
- "text",
- "identifier",
- "text",
- "constant.language.boolean",
- "text",
- "identifier",
- "text",
- "constant.numeric",
- "rparen",
- "text"
+ "data": [
+ [ "keyword", "def" ],
+ [ "text", " " ],
+ [ "identifier", "emps" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "lparen", "[" ],
+ [ "keyword", "new" ],
+ [ "text", " " ],
+ [ "identifier", "Employee" ],
+ [ "lparen", "(" ],
+ [ "identifier", "name" ],
+ [ "text", ":" ],
+ [ "string", "'Guillaume'" ],
+ [ "text", ", " ],
+ [ "identifier", "manager" ],
+ [ "text", ":" ],
+ [ "constant.language.boolean", "true" ],
+ [ "text", ", " ],
+ [ "identifier", "salary" ],
+ [ "text", ":" ],
+ [ "constant.numeric", "200" ],
+ [ "rparen", ")" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "new",
- " ",
- "Employee",
- "(",
- "name",
- ":",
- "'Graeme'",
- ", ",
- "manager",
- ":",
- "true",
- ", ",
- "salary",
- ":",
- "200",
- ")",
- ","
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "text",
- "string",
- "text",
- "identifier",
- "text",
- "constant.language.boolean",
- "text",
- "identifier",
- "text",
- "constant.numeric",
- "rparen",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "new" ],
+ [ "text", " " ],
+ [ "identifier", "Employee" ],
+ [ "lparen", "(" ],
+ [ "identifier", "name" ],
+ [ "text", ":" ],
+ [ "string", "'Graeme'" ],
+ [ "text", ", " ],
+ [ "identifier", "manager" ],
+ [ "text", ":" ],
+ [ "constant.language.boolean", "true" ],
+ [ "text", ", " ],
+ [ "identifier", "salary" ],
+ [ "text", ":" ],
+ [ "constant.numeric", "200" ],
+ [ "rparen", ")" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "new",
- " ",
- "Employee",
- "(",
- "name",
- ":",
- "'Dierk'",
- ", ",
- "manager",
- ":",
- "false",
- ", ",
- "salary",
- ":",
- "151",
- ")",
- ","
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "text",
- "string",
- "text",
- "identifier",
- "text",
- "constant.language.boolean",
- "text",
- "identifier",
- "text",
- "constant.numeric",
- "rparen",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "new" ],
+ [ "text", " " ],
+ [ "identifier", "Employee" ],
+ [ "lparen", "(" ],
+ [ "identifier", "name" ],
+ [ "text", ":" ],
+ [ "string", "'Dierk'" ],
+ [ "text", ", " ],
+ [ "identifier", "manager" ],
+ [ "text", ":" ],
+ [ "constant.language.boolean", "false" ],
+ [ "text", ", " ],
+ [ "identifier", "salary" ],
+ [ "text", ":" ],
+ [ "constant.numeric", "151" ],
+ [ "rparen", ")" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "new",
- " ",
- "Employee",
- "(",
- "name",
- ":",
- "'Bernd'",
- ", ",
- "manager",
- ":",
- "false",
- ", ",
- "salary",
- ":",
- "50",
- ")",
- "]"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "text",
- "string",
- "text",
- "identifier",
- "text",
- "constant.language.boolean",
- "text",
- "identifier",
- "text",
- "constant.numeric",
- "rparen",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "new" ],
+ [ "text", " " ],
+ [ "identifier", "Employee" ],
+ [ "lparen", "(" ],
+ [ "identifier", "name" ],
+ [ "text", ":" ],
+ [ "string", "'Bernd'" ],
+ [ "text", ", " ],
+ [ "identifier", "manager" ],
+ [ "text", ":" ],
+ [ "constant.language.boolean", "false" ],
+ [ "text", ", " ],
+ [ "identifier", "salary" ],
+ [ "text", ":" ],
+ [ "constant.numeric", "50" ],
+ [ "rparen", ")" ],
+ [ "rparen", "]" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "def",
- " ",
- "managers",
- "(",
- "emps",
- ")",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "rparen",
- "text",
- "lparen"
+ "data": [
+ [ "keyword", "def" ],
+ [ "text", " " ],
+ [ "identifier", "managers" ],
+ [ "lparen", "(" ],
+ [ "identifier", "emps" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "emps",
- ".",
- "findAll",
- " ",
- "{",
- " ",
- "e",
- " ",
- "-",
- ">",
- " ",
- "e",
- ".",
- "isManager",
- "(",
- ")",
- " ",
- "}"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "lparen",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "identifier",
- "lparen",
- "rparen",
- "text",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "emps" ],
+ [ "text", "." ],
+ [ "identifier", "findAll" ],
+ [ "text", " " ],
+ [ "lparen", "{" ],
+ [ "text", " " ],
+ [ "identifier", "e" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "identifier", "e" ],
+ [ "text", "." ],
+ [ "identifier", "isManager" ],
+ [ "lparen", "(" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "rparen"
+ "data": [
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "assert",
- " ",
- "emps",
- "[",
- "0",
- "..",
- "1",
- "]",
- " ",
- "==",
- " ",
- "managers",
- "(",
- "emps",
- ")",
- " ",
- "// [Guillaume, Graeme]"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "lparen",
- "constant.numeric",
- "text",
- "constant.numeric",
- "rparen",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "rparen",
- "text",
- "comment"
+ "data": [
+ [ "keyword", "assert" ],
+ [ "text", " " ],
+ [ "identifier", "emps" ],
+ [ "lparen", "[" ],
+ [ "constant.numeric", "0" ],
+ [ "text", ".." ],
+ [ "constant.numeric", "1" ],
+ [ "rparen", "]" ],
+ [ "text", " " ],
+ [ "keyword.operator", "==" ],
+ [ "text", " " ],
+ [ "identifier", "managers" ],
+ [ "lparen", "(" ],
+ [ "identifier", "emps" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "comment", "// [Guillaume, Graeme]" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "def",
- " ",
- "highPaid",
- "(",
- "emps",
- ")",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "rparen",
- "text",
- "lparen"
+ "data": [
+ [ "keyword", "def" ],
+ [ "text", " " ],
+ [ "identifier", "highPaid" ],
+ [ "lparen", "(" ],
+ [ "identifier", "emps" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "threshold",
- " ",
- "=",
- " ",
- "150"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "threshold" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.numeric", "150" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "emps",
- ".",
- "findAll",
- " ",
- "{",
- " ",
- "e",
- " ",
- "-",
- ">",
- " ",
- "e",
- ".",
- "salary",
- " ",
- ">",
- " ",
- "threshold",
- " ",
- "}"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "lparen",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "emps" ],
+ [ "text", "." ],
+ [ "identifier", "findAll" ],
+ [ "text", " " ],
+ [ "lparen", "{" ],
+ [ "text", " " ],
+ [ "identifier", "e" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "identifier", "e" ],
+ [ "text", "." ],
+ [ "identifier", "salary" ],
+ [ "text", " " ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "identifier", "threshold" ],
+ [ "text", " " ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "rparen"
+ "data": [
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "assert",
- " ",
- "emps",
- "[",
- "0",
- "..",
- "2",
- "]",
- " ",
- "==",
- " ",
- "highPaid",
- "(",
- "emps",
- ")",
- " ",
- "// [Guillaume, Graeme, Dierk]"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "lparen",
- "constant.numeric",
- "text",
- "constant.numeric",
- "rparen",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "rparen",
- "text",
- "comment"
+ "data": [
+ [ "keyword", "assert" ],
+ [ "text", " " ],
+ [ "identifier", "emps" ],
+ [ "lparen", "[" ],
+ [ "constant.numeric", "0" ],
+ [ "text", ".." ],
+ [ "constant.numeric", "2" ],
+ [ "rparen", "]" ],
+ [ "text", " " ],
+ [ "keyword.operator", "==" ],
+ [ "text", " " ],
+ [ "identifier", "highPaid" ],
+ [ "lparen", "(" ],
+ [ "identifier", "emps" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "comment", "// [Guillaume, Graeme, Dierk]" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "def",
- " ",
- "paidMore",
- "(",
- "amount",
- ")",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "rparen",
- "text",
- "lparen"
+ "data": [
+ [ "keyword", "def" ],
+ [ "text", " " ],
+ [ "identifier", "paidMore" ],
+ [ "lparen", "(" ],
+ [ "identifier", "amount" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{",
- " ",
- "e",
- " ",
- "-",
- ">",
- " ",
- "e",
- ".",
- "salary",
- " ",
- ">",
- " ",
- "amount",
- "}"
- ],
- "types": [
- "text",
- "lparen",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "lparen", "{" ],
+ [ "text", " " ],
+ [ "identifier", "e" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "identifier", "e" ],
+ [ "text", "." ],
+ [ "identifier", "salary" ],
+ [ "text", " " ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "identifier", "amount" ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "rparen"
+ "data": [
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "def",
- " ",
- "highPaid",
- " ",
- "=",
- " ",
- "paidMore",
- "(",
- "150",
- ")"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "lparen",
- "constant.numeric",
- "rparen"
+ "data": [
+ [ "keyword", "def" ],
+ [ "text", " " ],
+ [ "identifier", "highPaid" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "paidMore" ],
+ [ "lparen", "(" ],
+ [ "constant.numeric", "150" ],
+ [ "rparen", ")" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "assert",
- " ",
- "highPaid",
- "(",
- "emps",
- "[",
- "0",
- "]",
- ")",
- " ",
- "// true"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "lparen",
- "constant.numeric",
- "rparen",
- "rparen",
- "text",
- "comment"
+ "data": [
+ [ "keyword", "assert" ],
+ [ "text", " " ],
+ [ "identifier", "highPaid" ],
+ [ "lparen", "(" ],
+ [ "identifier", "emps" ],
+ [ "lparen", "[" ],
+ [ "constant.numeric", "0" ],
+ [ "rparen", "]" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "comment", "// true" ]
]
},
{
"state": "start",
- "values": [
- "assert",
- " ",
- "emps",
- "[",
- "0",
- "..",
- "2",
- "]",
- " ",
- "==",
- " ",
- "emps",
- ".",
- "findAll",
- "(",
- "highPaid",
- ")"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "lparen",
- "constant.numeric",
- "text",
- "constant.numeric",
- "rparen",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "rparen"
+ "data": [
+ [ "keyword", "assert" ],
+ [ "text", " " ],
+ [ "identifier", "emps" ],
+ [ "lparen", "[" ],
+ [ "constant.numeric", "0" ],
+ [ "text", ".." ],
+ [ "constant.numeric", "2" ],
+ [ "rparen", "]" ],
+ [ "text", " " ],
+ [ "keyword.operator", "==" ],
+ [ "text", " " ],
+ [ "identifier", "emps" ],
+ [ "text", "." ],
+ [ "identifier", "findAll" ],
+ [ "lparen", "(" ],
+ [ "identifier", "highPaid" ],
+ [ "rparen", ")" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "def",
- " ",
- "filename",
- " ",
- "=",
- " ",
- "'test.txt'"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "string"
+ "data": [
+ [ "keyword", "def" ],
+ [ "text", " " ],
+ [ "identifier", "filename" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "string", "'test.txt'" ]
]
},
{
"state": "start",
- "values": [
- "new",
- " ",
- "File",
- "(",
- "filename",
- ")",
- ".",
- "withReader",
- "{",
- " ",
- "reader",
- " ",
- "-",
- ">",
- " ",
- "doSomethingWith",
- "(",
- "reader",
- ")",
- " ",
- "}"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "rparen",
- "text",
- "identifier",
- "lparen",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "rparen",
- "text",
- "rparen"
+ "data": [
+ [ "keyword", "new" ],
+ [ "text", " " ],
+ [ "identifier", "File" ],
+ [ "lparen", "(" ],
+ [ "identifier", "filename" ],
+ [ "rparen", ")" ],
+ [ "text", "." ],
+ [ "identifier", "withReader" ],
+ [ "lparen", "{" ],
+ [ "text", " " ],
+ [ "identifier", "reader" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "identifier", "doSomethingWith" ],
+ [ "lparen", "(" ],
+ [ "identifier", "reader" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "def",
- " ",
- "readersText"
- ],
- "types": [
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "def" ],
+ [ "text", " " ],
+ [ "identifier", "readersText" ]
]
},
{
"state": "start",
- "values": [
- "def",
- " ",
- "doSomethingWith",
- "(",
- "reader",
- ")",
- " ",
- "{",
- " ",
- "readersText",
- " ",
- "=",
- " ",
- "reader",
- ".",
- "text",
- " ",
- "}"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "rparen",
- "text",
- "lparen",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "rparen"
+ "data": [
+ [ "keyword", "def" ],
+ [ "text", " " ],
+ [ "identifier", "doSomethingWith" ],
+ [ "lparen", "(" ],
+ [ "identifier", "reader" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "lparen", "{" ],
+ [ "text", " " ],
+ [ "identifier", "readersText" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "reader" ],
+ [ "text", "." ],
+ [ "identifier", "text" ],
+ [ "text", " " ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "assert",
- " ",
- "new",
- " ",
- "File",
- "(",
- "filename",
- ")",
- ".",
- "text",
- " ",
- "==",
- " ",
- "readersText"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "rparen",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "assert" ],
+ [ "text", " " ],
+ [ "keyword", "new" ],
+ [ "text", " " ],
+ [ "identifier", "File" ],
+ [ "lparen", "(" ],
+ [ "identifier", "filename" ],
+ [ "rparen", ")" ],
+ [ "text", "." ],
+ [ "identifier", "text" ],
+ [ "text", " " ],
+ [ "keyword.operator", "==" ],
+ [ "text", " " ],
+ [ "identifier", "readersText" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_haxe.json b/lib/ace/mode/_test/tokens_haxe.json
index 0b5b0b69..bec79d5c 100644
--- a/lib/ace/mode/_test/tokens_haxe.json
+++ b/lib/ace/mode/_test/tokens_haxe.json
@@ -1,337 +1,195 @@
[
{
"state": "start",
- "values": [
- "class",
- " ",
- "Haxe",
- " "
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "keyword", "class" ],
+ [ "text", " " ],
+ [ "identifier", "Haxe" ],
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- "{"
- ],
- "types": [
- "paren.lparen"
+ "data": [
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "public",
- " ",
- "static",
- " ",
- "function",
- " ",
- "main",
- "(",
- ")",
- " "
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "public" ],
+ [ "text", " " ],
+ [ "keyword", "static" ],
+ [ "text", " " ],
+ [ "keyword", "function" ],
+ [ "text", " " ],
+ [ "identifier", "main" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{"
- ],
- "types": [
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "// Say Hello!"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "// Say Hello!" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "var",
- " ",
- "greeting",
- ":",
- "String",
- " ",
- "=",
- " ",
- "\"Hello World\"",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "punctuation.operator",
- "keyword",
- "text",
- "keyword.operator",
- "text",
- "string",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "var" ],
+ [ "text", " " ],
+ [ "identifier", "greeting" ],
+ [ "punctuation.operator", ":" ],
+ [ "keyword", "String" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "string", "\"Hello World\"" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "trace",
- "(",
- "greeting",
- ")",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "trace" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "greeting" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- " "
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- " ",
- "var",
- " ",
- "targets",
- ":",
- "Array",
- "<",
- "String",
- ">",
- " ",
- "=",
- " ",
- "[",
- "\"Flash\"",
- ",",
- "\"Javascript\"",
- ",",
- "\"PHP\"",
- ",",
- "\"Neko\"",
- ",",
- "\"C++\"",
- ",",
- "\"iOS\"",
- ",",
- "\"Android\"",
- ",",
- "\"webOS\"",
- "]",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "punctuation.operator",
- "keyword",
- "keyword.operator",
- "keyword",
- "keyword.operator",
- "text",
- "keyword.operator",
- "text",
- "paren.lparen",
- "string",
- "punctuation.operator",
- "string",
- "punctuation.operator",
- "string",
- "punctuation.operator",
- "string",
- "punctuation.operator",
- "string",
- "punctuation.operator",
- "string",
- "punctuation.operator",
- "string",
- "punctuation.operator",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "var" ],
+ [ "text", " " ],
+ [ "identifier", "targets" ],
+ [ "punctuation.operator", ":" ],
+ [ "keyword", "Array" ],
+ [ "keyword.operator", "<" ],
+ [ "keyword", "String" ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "paren.lparen", "[" ],
+ [ "string", "\"Flash\"" ],
+ [ "punctuation.operator", "," ],
+ [ "string", "\"Javascript\"" ],
+ [ "punctuation.operator", "," ],
+ [ "string", "\"PHP\"" ],
+ [ "punctuation.operator", "," ],
+ [ "string", "\"Neko\"" ],
+ [ "punctuation.operator", "," ],
+ [ "string", "\"C++\"" ],
+ [ "punctuation.operator", "," ],
+ [ "string", "\"iOS\"" ],
+ [ "punctuation.operator", "," ],
+ [ "string", "\"Android\"" ],
+ [ "punctuation.operator", "," ],
+ [ "string", "\"webOS\"" ],
+ [ "paren.rparen", "]" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "trace",
- "(",
- "\"Haxe is a great language that can target:\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "paren.lparen",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "trace" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"Haxe is a great language that can target:\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "for",
- " ",
- "(",
- "target",
- " ",
- "in",
- " ",
- "targets",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "target" ],
+ [ "text", " " ],
+ [ "keyword", "in" ],
+ [ "text", " " ],
+ [ "identifier", "targets" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{"
- ],
- "types": [
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "trace",
- " ",
- "(",
- "\" - \"",
- " ",
- "+",
- " ",
- "target",
- ")",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "string",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "trace" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\" - \"" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "identifier", "target" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "trace",
- "(",
- "\"And many more!\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "paren.lparen",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "trace" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"And many more!\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_html.json b/lib/ace/mode/_test/tokens_html.json
index 3acbb7f2..9b031aaf 100644
--- a/lib/ace/mode/_test/tokens_html.json
+++ b/lib/ace/mode/_test/tokens_html.json
@@ -1,250 +1,150 @@
[
{
"state": "start",
- "values": [
- "<",
- "html",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "html" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "head",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "head" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "css-start",
- "values": [
- " ",
- "<",
- "style",
- " ",
- "type",
- "=",
- "\"text/css\"",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name.style",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.style", "style" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "type" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"text/css\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "css-ruleset",
- "values": [
- " ",
- ".text-layer",
- " ",
- "{"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "variable", ".text-layer" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "css-ruleset",
- "values": [
- " ",
- "font-family",
- ": Monaco, ",
- "\"Courier New\"",
- ", ",
- "monospace",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "string",
- "text",
- "support.constant.fonts",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "font-family" ],
+ [ "text", ": Monaco, " ],
+ [ "string", "\"Courier New\"" ],
+ [ "text", ", " ],
+ [ "support.constant.fonts", "monospace" ],
+ [ "text", ";" ]
]
},
{
"state": "css-ruleset",
- "values": [
- " ",
- "font-size",
- ": ",
- "12",
- "px",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "constant.numeric",
- "keyword",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "font-size" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "12" ],
+ [ "keyword", "px" ],
+ [ "text", ";" ]
]
},
{
"state": "css-ruleset",
- "values": [
- " ",
- "cursor",
- ": ",
- "text",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "support.constant",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "cursor" ],
+ [ "text", ": " ],
+ [ "support.constant", "text" ],
+ [ "text", ";" ]
]
},
{
"state": "css-start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "",
- "style",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name.style",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.style", "style" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " ",
- "",
- "head",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "head" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "body",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "body" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "h1",
- " ",
- "style",
- "=",
- "\"color:red\"",
- ">",
- "Juhu Kinners",
- "",
- "h1",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "h1" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "style" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"color:red\"" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Juhu Kinners" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "h1" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "",
- "body",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "body" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "",
- "html",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "html" ],
+ [ "meta.tag", ">" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_java.json b/lib/ace/mode/_test/tokens_java.json
index 56ad4fc1..376bdc7e 100644
--- a/lib/ace/mode/_test/tokens_java.json
+++ b/lib/ace/mode/_test/tokens_java.json
@@ -1,231 +1,139 @@
[
{
"state": "start",
- "values": [
- "public",
- " ",
- "class",
- " ",
- "InfiniteLoop",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "lparen"
+ "data": [
+ [ "keyword", "public" ],
+ [ "text", " " ],
+ [ "keyword", "class" ],
+ [ "text", " " ],
+ [ "identifier", "InfiniteLoop" ],
+ [ "text", " " ],
+ [ "lparen", "{" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "comment",
- "values": [
- " ",
- "/*"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "/*" ]
]
},
{
"state": "comment",
- "values": [
- " * This will cause the program to hang..."
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", " * This will cause the program to hang..." ]
]
},
{
"state": "comment",
- "values": [
- " *"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", " *" ]
]
},
{
"state": "comment",
- "values": [
- " * Taken from:"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", " * Taken from:" ]
]
},
{
"state": "comment",
- "values": [
- " * http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", " * http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/" ]
]
},
{
"state": "start",
- "values": [
- " */"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", " */" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "public",
- " ",
- "static",
- " ",
- "void",
- " ",
- "main",
- "(",
- "String",
- "[",
- "]",
- " ",
- "args",
- ")",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "lparen",
- "support.function",
- "lparen",
- "rparen",
- "text",
- "identifier",
- "rparen",
- "text",
- "lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "public" ],
+ [ "text", " " ],
+ [ "keyword", "static" ],
+ [ "text", " " ],
+ [ "keyword", "void" ],
+ [ "text", " " ],
+ [ "identifier", "main" ],
+ [ "lparen", "(" ],
+ [ "support.function", "String" ],
+ [ "lparen", "[" ],
+ [ "rparen", "]" ],
+ [ "text", " " ],
+ [ "identifier", "args" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "double",
- " ",
- "d",
- " ",
- "=",
- " ",
- "Double",
- ".",
- "parseDouble",
- "(",
- "\"2.2250738585072012e-308\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "support.function",
- "text",
- "identifier",
- "lparen",
- "string",
- "rparen",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "double" ],
+ [ "text", " " ],
+ [ "identifier", "d" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "support.function", "Double" ],
+ [ "text", "." ],
+ [ "identifier", "parseDouble" ],
+ [ "lparen", "(" ],
+ [ "string", "\"2.2250738585072012e-308\"" ],
+ [ "rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " ",
- "// unreachable code"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "// unreachable code" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "System",
- ".",
- "out",
- ".",
- "println",
- "(",
- "\"Value: \"",
- " ",
- "+",
- " ",
- "d",
- ")",
- ";"
- ],
- "types": [
- "text",
- "support.function",
- "text",
- "identifier",
- "text",
- "identifier",
- "lparen",
- "string",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "rparen",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.function", "System" ],
+ [ "text", "." ],
+ [ "identifier", "out" ],
+ [ "text", "." ],
+ [ "identifier", "println" ],
+ [ "lparen", "(" ],
+ [ "string", "\"Value: \"" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "identifier", "d" ],
+ [ "rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "rparen"
+ "data": [
+ [ "rparen", "}" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_javascript.json b/lib/ace/mode/_test/tokens_javascript.json
index fc012829..d875f225 100644
--- a/lib/ace/mode/_test/tokens_javascript.json
+++ b/lib/ace/mode/_test/tokens_javascript.json
@@ -1,766 +1,534 @@
[
{
"state": "regex_allowed",
- "values": [
- "function",
- " ",
- "foo",
- "(",
- "items",
- ", ",
- "nada",
- ")",
- " ",
- "{"
- ],
- "types": [
- "storage.type",
- "text",
- "entity.name.function",
- "paren.lparen",
- "variable.parameter",
- "punctuation.operator",
- "variable.parameter",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "storage.type", "function" ],
+ [ "text", " " ],
+ [ "entity.name.function", "foo" ],
+ [ "paren.lparen", "(" ],
+ [ "variable.parameter", "items" ],
+ [ "punctuation.operator", ", " ],
+ [ "variable.parameter", "nada" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "regex_allowed",
- "values": [
- " ",
- "for",
- " ",
- "(",
- "var",
- " ",
- "i",
- "=",
- "0",
- ";",
- " ",
- "i",
- "<",
- "items",
- ".",
- "length",
- ";",
- " ",
- "i",
- "++",
- ")",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "storage.type",
- "text",
- "identifier",
- "keyword.operator",
- "constant.numeric",
- "punctuation.operator",
- "text",
- "identifier",
- "keyword.operator",
- "identifier",
- "punctuation.operator",
- "support.constant",
- "punctuation.operator",
- "text",
- "identifier",
- "keyword.operator",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "storage.type", "var" ],
+ [ "text", " " ],
+ [ "identifier", "i" ],
+ [ "keyword.operator", "=" ],
+ [ "constant.numeric", "0" ],
+ [ "punctuation.operator", ";" ],
+ [ "text", " " ],
+ [ "identifier", "i" ],
+ [ "keyword.operator", "<" ],
+ [ "identifier", "items" ],
+ [ "punctuation.operator", "." ],
+ [ "support.constant", "length" ],
+ [ "punctuation.operator", ";" ],
+ [ "text", " " ],
+ [ "identifier", "i" ],
+ [ "keyword.operator", "++" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "regex_allowed",
- "values": [
- " ",
- "alert",
- "(",
- "items",
- "[",
- "i",
- "]",
- " ",
- "+",
- " ",
- "\"juhu",
- "\\n",
- "\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "identifier",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "text",
- "keyword.operator",
- "text",
- "string",
- "constant.language.escape",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "alert" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "items" ],
+ [ "paren.lparen", "[" ],
+ [ "identifier", "i" ],
+ [ "paren.rparen", "]" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "string", "\"juhu" ],
+ [ "constant.language.escape", "\\n" ],
+ [ "string", "\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}",
- "\t",
- "// Real Tab."
- ],
- "types": [
- "text",
- "paren.rparen",
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ],
+ [ "text", "\t" ],
+ [ "comment", "// Real Tab." ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "/************************************/"
- ],
- "types": [
- "text",
- "comment.doc"
+ "data": []
+ },
+ {
+ "state": "start",
+ "data": [
+ [ "identifier", "r" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "string.regexp", "/d" ],
+ [ "constant.language.escape", "{1,2}" ],
+ [ "constant.language.escape", "?" ],
+ [ "string.regexp", "f{e}" ],
+ [ "invalid", "++" ],
+ [ "string.regexp", "r" ],
+ [ "constant.language.escape", "*?" ],
+ [ "regexp.keyword.operator", "\\d" ],
+ [ "constant.language.escape", "+?[]" ],
+ [ "string.regexp", "r" ],
+ [ "constant.language.escape", "[^" ],
+ [ "string.regexp.charachterclass", "r" ],
+ [ "constant.language.escape", "-" ],
+ [ "string.regexp.charachterclass", "o" ],
+ [ "regexp.keyword.operator", "\\f" ],
+ [ "regexp.keyword.operator", "\\f" ],
+ [ "string.regexp.charachterclass", "[" ],
+ [ "regexp.keyword.operator", "\\f" ],
+ [ "constant.language.escape", "]" ],
+ [ "constant.language.escape", "?" ],
+ [ "string.regexp", "r" ],
+ [ "invalid", "{7}+" ],
+ [ "string.regexp", "r" ],
+ [ "regexp.keyword.operator", "\\{" ],
+ [ "string.regexp", "7}" ],
+ [ "constant.language.escape", "+" ],
+ [ "string.regexp", "rr--rr" ],
+ [ "constant.language.escape", "$" ],
+ [ "constant.language.escape", "^" ],
+ [ "constant.language.escape", "(?:" ],
+ [ "string.regexp", "d|s" ],
+ [ "constant.language.escape", ")" ],
+ [ "constant.language.escape", "(?=" ],
+ [ "string.regexp", "a|" ],
+ [ "constant.language.escape", ")" ],
+ [ "constant.language.escape", "(?!" ],
+ [ "string.regexp", "y" ],
+ [ "constant.language.escape", ")[]" ],
+ [ "constant.language.escape", "|" ],
+ [ "constant.language.escape", "$" ],
+ [ "constant.language.escape", "?" ],
+ [ "constant.language.escape", "|" ],
+ [ "invalid", "^*" ],
+ [ "string.regexp", "/" ],
+ [ "text", " " ],
+ [ "identifier", "o" ]
]
},
{
"state": "start",
- "values": [
- "/** total mess, tricky to highlight**/"
- ],
- "types": [
- "comment.doc"
+ "data": [
+ [ "identifier", "a" ],
+ [ "keyword.operator", "=" ],
+ [ "string.regexp", "/a/" ],
+ [ "text", " " ],
+ [ "identifier", "jk" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "string.regexp", "/ /" ],
+ [ "text", " " ],
+ [ "keyword.operator", "/" ],
+ [ "text", " " ],
+ [ "string.regexp", "/ /" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": [
+ [ "text", " " ],
+ [ "comment.doc", "/************************************/" ]
+ ]
+ },
+ {
+ "state": "start",
+ "data": [
+ [ "comment.doc", "/** total mess, tricky to highlight**/" ]
+ ]
+ },
+ {
+ "state": "start",
+ "data": []
},
{
"state": "regex_allowed",
- "values": [
- "function",
- " ",
- "(",
- ")",
- " ",
- "{"
- ],
- "types": [
- "storage.type",
- "text",
- "paren.lparen",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "storage.type", "function" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "doc-start",
- "values": [
- "\t",
- "/**"
- ],
- "types": [
- "text",
- "comment.doc"
+ "data": [
+ [ "text", "\t" ],
+ [ "comment.doc", "/**" ]
]
},
{
"state": "doc-start",
- "values": [
- "\t * docComment"
- ],
- "types": [
- "comment.doc"
+ "data": [
+ [ "comment.doc", "\t * docComment" ]
]
},
{
"state": "start",
- "values": [
- "\t **/"
- ],
- "types": [
- "comment.doc"
+ "data": [
+ [ "comment.doc", "\t **/" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "r",
- " ",
- "=",
- " ",
- "/u",
- "\\t",
- "*/"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "string.regexp",
- "regexp.keyword.operator",
- "string.regexp"
+ "data": [
+ [ "text", "\t" ],
+ [ "identifier", "r" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "string.regexp", "/u" ],
+ [ "regexp.keyword.operator", "\\t" ],
+ [ "constant.language.escape", "*" ],
+ [ "string.regexp", "/" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "g",
- " ",
- "=",
- " ",
- "1.",
- "00",
- "E",
- "^",
- "1",
- ",",
- " ",
- "y",
- " ",
- "=",
- " ",
- "1.2",
- " ",
- "+",
- " ",
- ".",
- "2",
- " ",
- "+",
- " ",
- "052",
- " ",
- "+",
- " ",
- "0x25"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "text",
- "identifier",
- "text",
- "constant.numeric",
- "punctuation.operator",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "text",
- "keyword.operator",
- "text",
- "punctuation.operator",
- "constant.numeric",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", "\t" ],
+ [ "identifier", "g" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1." ],
+ [ "text", "00" ],
+ [ "identifier", "E" ],
+ [ "text", "^" ],
+ [ "constant.numeric", "1" ],
+ [ "punctuation.operator", "," ],
+ [ "text", " " ],
+ [ "identifier", "y" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1.2" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "punctuation.operator", "." ],
+ [ "constant.numeric", "2" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "constant.numeric", "052" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0x25" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "t",
- " ",
- "=",
- " ",
- "[",
- "'d'",
- ",",
- " ",
- "''",
- "]"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "paren.lparen",
- "string",
- "punctuation.operator",
- "text",
- "string",
- "paren.rparen"
+ "data": [
+ [ "text", "\t" ],
+ [ "identifier", "t" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "paren.lparen", "[" ],
+ [ "string", "'d'" ],
+ [ "punctuation.operator", "," ],
+ [ "text", " " ],
+ [ "string", "''" ],
+ [ "paren.rparen", "]" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "regex_allowed",
- "values": [
- "function",
- " ",
- "(",
- ")",
- " ",
- "{"
- ],
- "types": [
- "storage.type",
- "text",
- "paren.lparen",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "storage.type", "function" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "regex_allowed",
- "values": [
- "\t",
- "/* eee */"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", "\t" ],
+ [ "comment", "/* eee */" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "qqstring",
- "values": [
- "\"s\\"
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", "\"s\\" ]
]
},
{
"state": "start",
- "values": [
- "s",
- "\\u7824",
- "sss",
- "\\u",
- "1\""
- ],
- "types": [
- "string",
- "constant.language.escape",
- "string",
- "constant.language.escape",
- "string"
+ "data": [
+ [ "string", "s" ],
+ [ "constant.language.escape", "\\u7824" ],
+ [ "string", "sss" ],
+ [ "constant.language.escape", "\\u" ],
+ [ "string", "1\"" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "qstring",
- "values": [
- "'\\"
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", "'\\" ]
]
},
{
"state": "start",
- "values": [
- "string'"
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", "string'" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "'"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "'" ]
]
},
{
"state": "start",
- "values": [
- "string",
- "'"
- ],
- "types": [
- "identifier",
- "text"
+ "data": [
+ [ "identifier", "string" ],
+ [ "text", "'" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "\"trailing space",
- "\\ ",
- " "
- ],
- "types": [
- "string",
- "constant.language.escape",
- "string"
+ "data": [
+ [ "string", "\"trailing space" ],
+ [ "constant.language.escape", "\\ " ],
+ [ "string", " " ]
]
},
{
"state": "start",
- "values": [
- "\" \"",
- " ",
- "/",
- "not",
- " ",
- "a",
- " ",
- "regexp",
- "/",
- "g"
- ],
- "types": [
- "string",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "keyword.operator",
- "identifier"
+ "data": [
+ [ "string", "\" \"" ],
+ [ "text", " " ],
+ [ "keyword.operator", "/" ],
+ [ "identifier", "not" ],
+ [ "text", " " ],
+ [ "identifier", "a" ],
+ [ "text", " " ],
+ [ "identifier", "regexp" ],
+ [ "keyword.operator", "/" ],
+ [ "identifier", "g" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "doc-start",
- "values": [
- "/**"
- ],
- "types": [
- "comment.doc"
+ "data": [
+ [ "comment.doc", "/**" ]
]
},
{
"state": "doc-start",
- "values": [
- " *doc"
- ],
- "types": [
- "comment.doc"
+ "data": [
+ [ "comment.doc", " *doc" ]
]
},
{
"state": "start",
- "values": [
- " */"
- ],
- "types": [
- "comment.doc"
+ "data": [
+ [ "comment.doc", " */" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "regex_allowed",
- "values": [
- "a",
- " ",
- "=",
- " ",
- "{"
- ],
- "types": [
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "paren.lparen"
+ "data": [
+ [ "identifier", "a" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "regex_allowed",
- "values": [
- "\t",
- "'a'",
- ":",
- " ",
- "b",
- ","
- ],
- "types": [
- "text",
- "string",
- "punctuation.operator",
- "text",
- "identifier",
- "punctuation.operator"
+ "data": [
+ [ "text", "\t" ],
+ [ "string", "'a'" ],
+ [ "punctuation.operator", ":" ],
+ [ "text", " " ],
+ [ "identifier", "b" ],
+ [ "punctuation.operator", "," ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "'g'",
- ": ",
- "function",
- "(",
- "t",
- ")"
- ],
- "types": [
- "text",
- "string",
- "text",
- "storage.type",
- "paren.lparen",
- "variable.parameter",
- "paren.rparen"
+ "data": [
+ [ "text", "\t" ],
+ [ "string", "'g'" ],
+ [ "text", ": " ],
+ [ "storage.type", "function" ],
+ [ "paren.lparen", "(" ],
+ [ "variable.parameter", "t" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "gta",
- ":",
- "function",
- "(",
- "a",
- ",",
- "b",
- ")"
- ],
- "types": [
- "text",
- "entity.name.function",
- "punctuation.operator",
- "storage.type",
- "paren.lparen",
- "variable.parameter",
- "punctuation.operator",
- "variable.parameter",
- "paren.rparen"
+ "data": [
+ [ "text", "\t" ],
+ [ "entity.name.function", "gta" ],
+ [ "punctuation.operator", ":" ],
+ [ "storage.type", "function" ],
+ [ "paren.lparen", "(" ],
+ [ "variable.parameter", "a" ],
+ [ "punctuation.operator", "," ],
+ [ "variable.parameter", "b" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "function_arguments",
- "values": [
- "foo",
- ".",
- "protoype",
- ".",
- "d",
- " ",
- "=",
- " ",
- "function",
- "(",
- "a",
- ", ",
- "b",
- ","
- ],
- "types": [
- "identifier",
- "punctuation.operator",
- "storage.type",
- "punctuation.operator",
- "entity.name.function",
- "text",
- "keyword.operator",
- "text",
- "storage.type",
- "paren.lparen",
- "variable.parameter",
- "punctuation.operator",
- "variable.parameter",
- "punctuation.operator"
+ "data": [
+ [ "identifier", "foo" ],
+ [ "punctuation.operator", "." ],
+ [ "storage.type", "protoype" ],
+ [ "punctuation.operator", "." ],
+ [ "entity.name.function", "d" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "storage.type", "function" ],
+ [ "paren.lparen", "(" ],
+ [ "variable.parameter", "a" ],
+ [ "punctuation.operator", ", " ],
+ [ "variable.parameter", "b" ],
+ [ "punctuation.operator", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "c",
- ", ",
- "d",
- ")"
- ],
- "types": [
- "punctuation.operator",
- "variable.parameter",
- "punctuation.operator",
- "variable.parameter",
- "paren.rparen"
+ "data": [
+ [ "punctuation.operator", " " ],
+ [ "variable.parameter", "c" ],
+ [ "punctuation.operator", ", " ],
+ [ "variable.parameter", "d" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "foo",
- ".",
- "d",
- " ",
- "=",
- "function",
- "(",
- "a",
- ", ",
- "b",
- ")"
- ],
- "types": [
- "storage.type",
- "punctuation.operator",
- "entity.name.function",
- "text",
- "keyword.operator",
- "storage.type",
- "paren.lparen",
- "variable.parameter",
- "punctuation.operator",
- "variable.parameter",
- "paren.rparen"
+ "data": [
+ [ "storage.type", "foo" ],
+ [ "punctuation.operator", "." ],
+ [ "entity.name.function", "d" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "storage.type", "function" ],
+ [ "paren.lparen", "(" ],
+ [ "variable.parameter", "a" ],
+ [ "punctuation.operator", ", " ],
+ [ "variable.parameter", "b" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "foo",
- ".",
- "d",
- " ",
- "=",
- "function",
- "(",
- "a",
- ", ",
- "/*****/",
- " ",
- "d",
- "\"string\"",
- " "
- ],
- "types": [
- "storage.type",
- "punctuation.operator",
- "entity.name.function",
- "text",
- "keyword.operator",
- "storage.type",
- "paren.lparen",
- "variable.parameter",
- "punctuation.operator",
- "comment.doc",
- "text",
- "identifier",
- "string",
- "text"
+ "data": [
+ [ "storage.type", "foo" ],
+ [ "punctuation.operator", "." ],
+ [ "entity.name.function", "d" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "storage.type", "function" ],
+ [ "paren.lparen", "(" ],
+ [ "variable.parameter", "a" ],
+ [ "punctuation.operator", ", " ],
+ [ "comment.doc", "/*****/" ],
+ [ "text", " " ],
+ [ "identifier", "d" ],
+ [ "string", "\"string\"" ],
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_json.json b/lib/ace/mode/_test/tokens_json.json
index f90f0870..22dc2db7 100644
--- a/lib/ace/mode/_test/tokens_json.json
+++ b/lib/ace/mode/_test/tokens_json.json
@@ -1,1022 +1,611 @@
[
{
"state": "start",
- "values": [
- "{"
- ],
- "types": [
- "paren.lparen"
+ "data": [
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"query\"",
- ": ",
- "{"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"query\"" ],
+ [ "text", ": " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"count\"",
- ": ",
- "10",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "constant.numeric",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"count\"" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "10" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"created\"",
- ": ",
- "\"2011-06-21T08:10:46Z\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"created\"" ],
+ [ "text", ": " ],
+ [ "string", "\"2011-06-21T08:10:46Z\"" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"lang\"",
- ": ",
- "\"en-US\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"lang\"" ],
+ [ "text", ": " ],
+ [ "string", "\"en-US\"" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"results\"",
- ": ",
- "{"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"results\"" ],
+ [ "text", ": " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"photo\"",
- ": ",
- "["
- ],
- "types": [
- "text",
- "variable",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"photo\"" ],
+ [ "text", ": " ],
+ [ "paren.lparen", "[" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{"
- ],
- "types": [
- "text",
- "paren.lparen"
- ]
- },
- {
+ "data": [
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
+ ]
+ },
+ {
"state": "start",
- "values": [
- " ",
- "\"farm\"",
- ": ",
- "\"6\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
- ]
- },
- {
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"farm\"" ],
+ [ "text", ": " ],
+ [ "string", "\"6\"" ],
+ [ "text", "," ]
+ ]
+ },
+ {
"state": "start",
- "values": [
- " ",
- "\"id\"",
- ": ",
- "\"5855620975\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
- ]
- },
- {
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"id\"" ],
+ [ "text", ": " ],
+ [ "string", "\"5855620975\"" ],
+ [ "text", "," ]
+ ]
+ },
+ {
"state": "start",
- "values": [
- " ",
- "\"isfamily\"",
- ": ",
- "\"0\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
- ]
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"isfamily\"" ],
+ [ "text", ": " ],
+ [ "string", "\"0\"" ],
+ [ "text", "," ]
+ ]
},
{
"state": "start",
- "values": [
- " ",
- "\"isfriend\"",
- ": ",
- "\"0\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"isfriend\"" ],
+ [ "text", ": " ],
+ [ "string", "\"0\"" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"ispublic\"",
- ": ",
- "\"1\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"ispublic\"" ],
+ [ "text", ": " ],
+ [ "string", "\"1\"" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"owner\"",
- ": ",
- "\"32021554@N04\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"owner\"" ],
+ [ "text", ": " ],
+ [ "string", "\"32021554@N04\"" ],
+ [ "text", "," ]
]
- },
- {
- "state": "start",
- "values": [
- " ",
- "\"secret\"",
- ": ",
- "\"f1f5e8515d\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ },
+ {
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"secret\"" ],
+ [ "text", ": " ],
+ [ "string", "\"f1f5e8515d\"" ],
+ [ "text", "," ]
]
- },
- {
- "state": "start",
- "values": [
- " ",
- "\"server\"",
- ": ",
- "\"5110\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ },
+ {
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"server\"" ],
+ [ "text", ": " ],
+ [ "string", "\"5110\"" ],
+ [ "text", "," ]
]
- },
- {
- "state": "start",
- "values": [
- " ",
- "\"title\"",
- ": ",
- "\"7087 bandit cat\""
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string"
+ },
+ {
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"title\"" ],
+ [ "text", ": " ],
+ [ "string", "\"7087 bandit cat\"" ]
]
},
{
- "state": "start",
- "values": [
- " ",
- "}",
- ","
- ],
- "types": [
- "text",
- "paren.rparen",
- "text"
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{"
- ],
- "types": [
- "text",
- "paren.lparen"
- ]
- },
- {
+ "data": [
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
+ ]
+ },
+ {
"state": "start",
- "values": [
- " ",
- "\"farm\"",
- ": ",
- "\"4\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
- ]
- },
- {
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"farm\"" ],
+ [ "text", ": " ],
+ [ "string", "\"4\"" ],
+ [ "text", "," ]
+ ]
+ },
+ {
"state": "start",
- "values": [
- " ",
- "\"id\"",
- ": ",
- "\"5856170534\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
- ]
- },
- {
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"id\"" ],
+ [ "text", ": " ],
+ [ "string", "\"5856170534\"" ],
+ [ "text", "," ]
+ ]
+ },
+ {
"state": "start",
- "values": [
- " ",
- "\"isfamily\"",
- ": ",
- "\"0\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
- ]
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"isfamily\"" ],
+ [ "text", ": " ],
+ [ "string", "\"0\"" ],
+ [ "text", "," ]
+ ]
},
{
"state": "start",
- "values": [
- " ",
- "\"isfriend\"",
- ": ",
- "\"0\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"isfriend\"" ],
+ [ "text", ": " ],
+ [ "string", "\"0\"" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"ispublic\"",
- ": ",
- "\"1\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"ispublic\"" ],
+ [ "text", ": " ],
+ [ "string", "\"1\"" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"owner\"",
- ": ",
- "\"32021554@N04\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"owner\"" ],
+ [ "text", ": " ],
+ [ "string", "\"32021554@N04\"" ],
+ [ "text", "," ]
]
- },
- {
- "state": "start",
- "values": [
- " ",
- "\"secret\"",
- ": ",
- "\"ff1efb2a6f\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ },
+ {
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"secret\"" ],
+ [ "text", ": " ],
+ [ "string", "\"ff1efb2a6f\"" ],
+ [ "text", "," ]
]
- },
- {
- "state": "start",
- "values": [
- " ",
- "\"server\"",
- ": ",
- "\"3217\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ },
+ {
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"server\"" ],
+ [ "text", ": " ],
+ [ "string", "\"3217\"" ],
+ [ "text", "," ]
]
- },
- {
- "state": "start",
- "values": [
- " ",
- "\"title\"",
- ": ",
- "\"6975 rusty cat\""
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string"
+ },
+ {
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"title\"" ],
+ [ "text", ": " ],
+ [ "string", "\"6975 rusty cat\"" ]
]
},
{
- "state": "start",
- "values": [
- " ",
- "}",
- ","
- ],
- "types": [
- "text",
- "paren.rparen",
- "text"
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{"
- ],
- "types": [
- "text",
- "paren.lparen"
- ]
- },
- {
+ "data": [
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
+ ]
+ },
+ {
"state": "start",
- "values": [
- " ",
- "\"farm\"",
- ": ",
- "\"6\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
- ]
- },
- {
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"farm\"" ],
+ [ "text", ": " ],
+ [ "string", "\"6\"" ],
+ [ "text", "," ]
+ ]
+ },
+ {
"state": "start",
- "values": [
- " ",
- "\"id\"",
- ": ",
- "\"5856172972\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
- ]
- },
- {
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"id\"" ],
+ [ "text", ": " ],
+ [ "string", "\"5856172972\"" ],
+ [ "text", "," ]
+ ]
+ },
+ {
"state": "start",
- "values": [
- " ",
- "\"isfamily\"",
- ": ",
- "\"0\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
- ]
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"isfamily\"" ],
+ [ "text", ": " ],
+ [ "string", "\"0\"" ],
+ [ "text", "," ]
+ ]
},
{
"state": "start",
- "values": [
- " ",
- "\"isfriend\"",
- ": ",
- "\"0\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"isfriend\"" ],
+ [ "text", ": " ],
+ [ "string", "\"0\"" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"ispublic\"",
- ": ",
- "\"1\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"ispublic\"" ],
+ [ "text", ": " ],
+ [ "string", "\"1\"" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"owner\"",
- ": ",
- "\"51249875@N03\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"owner\"" ],
+ [ "text", ": " ],
+ [ "string", "\"51249875@N03\"" ],
+ [ "text", "," ]
]
- },
- {
- "state": "start",
- "values": [
- " ",
- "\"secret\"",
- ": ",
- "\"6c6887347c\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ },
+ {
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"secret\"" ],
+ [ "text", ": " ],
+ [ "string", "\"6c6887347c\"" ],
+ [ "text", "," ]
]
- },
- {
- "state": "start",
- "values": [
- " ",
- "\"server\"",
- ": ",
- "\"5192\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ },
+ {
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"server\"" ],
+ [ "text", ": " ],
+ [ "string", "\"5192\"" ],
+ [ "text", "," ]
]
- },
- {
- "state": "start",
- "values": [
- " ",
- "\"title\"",
- ": ",
- "\"watermarked-cats\""
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string"
+ },
+ {
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"title\"" ],
+ [ "text", ": " ],
+ [ "string", "\"watermarked-cats\"" ]
]
},
{
- "state": "start",
- "values": [
- " ",
- "}",
- ","
- ],
- "types": [
- "text",
- "paren.rparen",
- "text"
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{"
- ],
- "types": [
- "text",
- "paren.lparen"
- ]
- },
- {
+ "data": [
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
+ ]
+ },
+ {
"state": "start",
- "values": [
- " ",
- "\"farm\"",
- ": ",
- "\"6\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
- ]
- },
- {
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"farm\"" ],
+ [ "text", ": " ],
+ [ "string", "\"6\"" ],
+ [ "text", "," ]
+ ]
+ },
+ {
"state": "start",
- "values": [
- " ",
- "\"id\"",
- ": ",
- "\"5856168328\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
- ]
- },
- {
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"id\"" ],
+ [ "text", ": " ],
+ [ "string", "\"5856168328\"" ],
+ [ "text", "," ]
+ ]
+ },
+ {
"state": "start",
- "values": [
- " ",
- "\"isfamily\"",
- ": ",
- "\"0\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
- ]
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"isfamily\"" ],
+ [ "text", ": " ],
+ [ "string", "\"0\"" ],
+ [ "text", "," ]
+ ]
},
{
"state": "start",
- "values": [
- " ",
- "\"isfriend\"",
- ": ",
- "\"0\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"isfriend\"" ],
+ [ "text", ": " ],
+ [ "string", "\"0\"" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"ispublic\"",
- ": ",
- "\"1\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"ispublic\"" ],
+ [ "text", ": " ],
+ [ "string", "\"1\"" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"owner\"",
- ": ",
- "\"32021554@N04\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"owner\"" ],
+ [ "text", ": " ],
+ [ "string", "\"32021554@N04\"" ],
+ [ "text", "," ]
]
- },
- {
- "state": "start",
- "values": [
- " ",
- "\"secret\"",
- ": ",
- "\"0c1cfdf64c\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ },
+ {
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"secret\"" ],
+ [ "text", ": " ],
+ [ "string", "\"0c1cfdf64c\"" ],
+ [ "text", "," ]
]
- },
- {
- "state": "start",
- "values": [
- " ",
- "\"server\"",
- ": ",
- "\"5078\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ },
+ {
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"server\"" ],
+ [ "text", ": " ],
+ [ "string", "\"5078\"" ],
+ [ "text", "," ]
]
- },
- {
- "state": "start",
- "values": [
- " ",
- "\"title\"",
- ": ",
- "\"7020 mandy cat\""
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string"
+ },
+ {
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"title\"" ],
+ [ "text", ": " ],
+ [ "string", "\"7020 mandy cat\"" ]
]
},
{
- "state": "start",
- "values": [
- " ",
- "}",
- ","
- ],
- "types": [
- "text",
- "paren.rparen",
- "text"
+ "state": "start",
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{"
- ],
- "types": [
- "text",
- "paren.lparen"
- ]
- },
- {
+ "data": [
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
+ ]
+ },
+ {
"state": "start",
- "values": [
- " ",
- "\"farm\"",
- ": ",
- "\"3\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
- ]
- },
- {
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"farm\"" ],
+ [ "text", ": " ],
+ [ "string", "\"3\"" ],
+ [ "text", "," ]
+ ]
+ },
+ {
"state": "start",
- "values": [
- " ",
- "\"id\"",
- ": ",
- "\"5856171774\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
- ]
- },
- {
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"id\"" ],
+ [ "text", ": " ],
+ [ "string", "\"5856171774\"" ],
+ [ "text", "," ]
+ ]
+ },
+ {
"state": "start",
- "values": [
- " ",
- "\"isfamily\"",
- ": ",
- "\"0\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
- ]
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"isfamily\"" ],
+ [ "text", ": " ],
+ [ "string", "\"0\"" ],
+ [ "text", "," ]
+ ]
},
{
"state": "start",
- "values": [
- " ",
- "\"isfriend\"",
- ": ",
- "\"0\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"isfriend\"" ],
+ [ "text", ": " ],
+ [ "string", "\"0\"" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"ispublic\"",
- ": ",
- "\"1\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"ispublic\"" ],
+ [ "text", ": " ],
+ [ "string", "\"1\"" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"owner\"",
- ": ",
- "\"32021554@N04\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"owner\"" ],
+ [ "text", ": " ],
+ [ "string", "\"32021554@N04\"" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"secret\"",
- ": ",
- "\"7f5a3180ab\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"secret\"" ],
+ [ "text", ": " ],
+ [ "string", "\"7f5a3180ab\"" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"server\"",
- ": ",
- "\"2696\"",
- ","
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"server\"" ],
+ [ "text", ": " ],
+ [ "string", "\"2696\"" ],
+ [ "text", "," ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"title\"",
- ": ",
- "\"7448 bobby cat\""
- ],
- "types": [
- "text",
- "variable",
- "text",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "\"title\"" ],
+ [ "text", ": " ],
+ [ "string", "\"7448 bobby cat\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "]"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "]" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_jsx.json b/lib/ace/mode/_test/tokens_jsx.json
index 30d5945a..d7a227c9 100644
--- a/lib/ace/mode/_test/tokens_jsx.json
+++ b/lib/ace/mode/_test/tokens_jsx.json
@@ -1,129 +1,79 @@
[
{
"state": "comment",
- "values": [
- "/*EXPECTED"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "/*EXPECTED" ]
]
},
{
"state": "comment",
- "values": [
- "hello world!"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "hello world!" ]
]
},
{
"state": "start",
- "values": [
- "*/"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "*/" ]
]
},
{
"state": "start",
- "values": [
- "class",
- " ",
- "Test",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "language.support.class",
- "text",
- "paren.lparen"
+ "data": [
+ [ "keyword", "class" ],
+ [ "text", " " ],
+ [ "language.support.class", "Test" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "static",
- " ",
- "function",
- " ",
- "run",
- "(",
- ")",
- " ",
- ":",
- " ",
- "void",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "storage.type",
- "text",
- "entity.name.function",
- "paren.lparen",
- "paren.rparen",
- "text",
- "punctuation.operator",
- "text",
- "keyword",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "static" ],
+ [ "text", " " ],
+ [ "storage.type", "function" ],
+ [ "text", " " ],
+ [ "entity.name.function", "run" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "punctuation.operator", ":" ],
+ [ "text", " " ],
+ [ "keyword", "void" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "// console.log(\"hello world!\");"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "// console.log(\"hello world!\");" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "log",
- " ",
- "\"hello world!\"",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "string",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "log" ],
+ [ "text", " " ],
+ [ "string", "\"hello world!\"" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_latex.json b/lib/ace/mode/_test/tokens_latex.json
index 5ee56b23..0abe75ed 100644
--- a/lib/ace/mode/_test/tokens_latex.json
+++ b/lib/ace/mode/_test/tokens_latex.json
@@ -1,324 +1,196 @@
[
{
"state": "start",
- "values": [
- "\\usepackage",
- "{",
- "amsmath",
- "}"
- ],
- "types": [
- "keyword",
- "lparen",
- "text",
- "rparen"
+ "data": [
+ [ "keyword", "\\usepackage" ],
+ [ "lparen", "{" ],
+ [ "text", "amsmath" ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "\\title",
- "{",
- "\\LaTeX",
- "}"
- ],
- "types": [
- "keyword",
- "lparen",
- "keyword",
- "rparen"
+ "data": [
+ [ "keyword", "\\title" ],
+ [ "lparen", "{" ],
+ [ "keyword", "\\LaTeX" ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "\\date",
- "{",
- "}"
- ],
- "types": [
- "keyword",
- "lparen",
- "rparen"
+ "data": [
+ [ "keyword", "\\date" ],
+ [ "lparen", "{" ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "\\begin",
- "{",
- "document",
- "}"
- ],
- "types": [
- "keyword",
- "lparen",
- "text",
- "rparen"
+ "data": [
+ [ "keyword", "\\begin" ],
+ [ "lparen", "{" ],
+ [ "text", "document" ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\\maketitle"
- ],
- "types": [
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "\\maketitle" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\\LaTeX",
- "{",
- "}",
- " is a document preparation system for the ",
- "\\TeX",
- "{",
- "}"
- ],
- "types": [
- "text",
- "keyword",
- "lparen",
- "rparen",
- "text",
- "keyword",
- "lparen",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "\\LaTeX" ],
+ [ "lparen", "{" ],
+ [ "rparen", "}" ],
+ [ "text", " is a document preparation system for the " ],
+ [ "keyword", "\\TeX" ],
+ [ "lparen", "{" ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " typesetting program. It offers programmable desktop publishing"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " typesetting program. It offers programmable desktop publishing" ]
]
},
{
"state": "start",
- "values": [
- " features and extensive facilities for automating most aspects of"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " features and extensive facilities for automating most aspects of" ]
]
},
{
"state": "start",
- "values": [
- " typesetting and desktop publishing, including numbering and"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " typesetting and desktop publishing, including numbering and" ]
]
},
{
"state": "start",
- "values": [
- " cross-referencing, tables and figures, page layout, bibliographies,"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " cross-referencing, tables and figures, page layout, bibliographies," ]
]
},
{
"state": "start",
- "values": [
- " and much more. ",
- "\\LaTeX",
- "{",
- "}",
- " was originally written in 1984 by Leslie"
- ],
- "types": [
- "text",
- "keyword",
- "lparen",
- "rparen",
- "text"
+ "data": [
+ [ "text", " and much more. " ],
+ [ "keyword", "\\LaTeX" ],
+ [ "lparen", "{" ],
+ [ "rparen", "}" ],
+ [ "text", " was originally written in 1984 by Leslie" ]
]
},
{
"state": "start",
- "values": [
- " Lamport and has become the dominant method for using ",
- "\\TeX",
- "; few"
- ],
- "types": [
- "text",
- "keyword",
- "text"
+ "data": [
+ [ "text", " Lamport and has become the dominant method for using " ],
+ [ "keyword", "\\TeX" ],
+ [ "text", "; few" ]
]
},
{
"state": "start",
- "values": [
- " people write in plain ",
- "\\TeX",
- "{",
- "}",
- " anymore. The current version is"
- ],
- "types": [
- "text",
- "keyword",
- "lparen",
- "rparen",
- "text"
+ "data": [
+ [ "text", " people write in plain " ],
+ [ "keyword", "\\TeX" ],
+ [ "lparen", "{" ],
+ [ "rparen", "}" ],
+ [ "text", " anymore. The current version is" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\\LaTeXe",
- "."
- ],
- "types": [
- "text",
- "keyword",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "\\LaTeXe" ],
+ [ "text", "." ]
]
},
{
"state": "start",
- "values": [
- " "
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- " ",
- "% This is a comment; it will not be shown in the final output."
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "% This is a comment; it will not be shown in the final output." ]
]
},
{
"state": "start",
- "values": [
- " ",
- "% The following shows a little of the typesetting power of LaTeX:"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "% The following shows a little of the typesetting power of LaTeX:" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\\begin",
- "{",
- "align",
- "}"
- ],
- "types": [
- "text",
- "keyword",
- "lparen",
- "text",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "\\begin" ],
+ [ "lparen", "{" ],
+ [ "text", "align" ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " E &= mc^2 ",
- "\\\\"
- ],
- "types": [
- "text",
- "keyword"
+ "data": [
+ [ "text", " E &= mc^2 " ],
+ [ "keyword", "\\\\" ]
]
},
{
"state": "start",
- "values": [
- " m &= ",
- "\\frac",
- "{",
- "m_0",
- "}",
- "{",
- "\\sqrt",
- "{",
- "1-",
- "\\frac",
- "{",
- "v^2",
- "}",
- "{",
- "c^2",
- "}",
- "}",
- "}"
- ],
- "types": [
- "text",
- "keyword",
- "lparen",
- "text",
- "rparen",
- "lparen",
- "keyword",
- "lparen",
- "text",
- "keyword",
- "lparen",
- "text",
- "rparen",
- "lparen",
- "text",
- "rparen",
- "rparen",
- "rparen"
+ "data": [
+ [ "text", " m &= " ],
+ [ "keyword", "\\frac" ],
+ [ "lparen", "{" ],
+ [ "text", "m_0" ],
+ [ "rparen", "}" ],
+ [ "lparen", "{" ],
+ [ "keyword", "\\sqrt" ],
+ [ "lparen", "{" ],
+ [ "text", "1-" ],
+ [ "keyword", "\\frac" ],
+ [ "lparen", "{" ],
+ [ "text", "v^2" ],
+ [ "rparen", "}" ],
+ [ "lparen", "{" ],
+ [ "text", "c^2" ],
+ [ "rparen", "}" ],
+ [ "rparen", "}" ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\\end",
- "{",
- "align",
- "}"
- ],
- "types": [
- "text",
- "keyword",
- "lparen",
- "text",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "\\end" ],
+ [ "lparen", "{" ],
+ [ "text", "align" ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "\\end",
- "{",
- "document",
- "}"
- ],
- "types": [
- "keyword",
- "lparen",
- "text",
- "rparen"
+ "data": [
+ [ "keyword", "\\end" ],
+ [ "lparen", "{" ],
+ [ "text", "document" ],
+ [ "rparen", "}" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_less.json b/lib/ace/mode/_test/tokens_less.json
index 9bfae5a5..5a9f91b6 100644
--- a/lib/ace/mode/_test/tokens_less.json
+++ b/lib/ace/mode/_test/tokens_less.json
@@ -1,495 +1,292 @@
[
{
"state": "start",
- "values": [
- "/*",
- " styles.less */"
- ],
- "types": [
- "comment",
- "comment"
+ "data": [
+ [ "comment", "/*" ],
+ [ "comment", " styles.less */" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "@base",
- ": ",
- "#f938ab",
- ";"
- ],
- "types": [
- "variable",
- "text",
- "constant.numeric",
- "text"
+ "data": [
+ [ "variable", "@base" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "#f938ab" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- ".box-shadow",
- "(",
- "@style",
- ", ",
- "@c",
- ")",
- " ",
- "when",
- " ",
- "(",
- "iscolor",
- "(",
- "@c",
- ")",
- ")",
- " ",
- "{"
- ],
- "types": [
- "variable.language",
- "paren.lparen",
- "variable",
- "text",
- "variable",
- "paren.rparen",
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "support.function",
- "paren.lparen",
- "variable",
- "paren.rparen",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "variable.language", ".box-shadow" ],
+ [ "paren.lparen", "(" ],
+ [ "variable", "@style" ],
+ [ "text", ", " ],
+ [ "variable", "@c" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword", "when" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "support.function", "iscolor" ],
+ [ "paren.lparen", "(" ],
+ [ "variable", "@c" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " box-shadow: ",
- "@style",
- " ",
- "@c",
- ";"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "variable",
- "text"
+ "data": [
+ [ "text", " box-shadow: " ],
+ [ "variable", "@style" ],
+ [ "text", " " ],
+ [ "variable", "@c" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- " -webkit-box-shadow: ",
- "@style",
- " ",
- "@c",
- ";"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "variable",
- "text"
+ "data": [
+ [ "text", " -webkit-box-shadow: " ],
+ [ "variable", "@style" ],
+ [ "text", " " ],
+ [ "variable", "@c" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- " -moz-box-shadow: ",
- "@style",
- " ",
- "@c",
- ";"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "variable",
- "text"
+ "data": [
+ [ "text", " -moz-box-shadow: " ],
+ [ "variable", "@style" ],
+ [ "text", " " ],
+ [ "variable", "@c" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- ".box-shadow",
- "(",
- "@style",
- ", ",
- "@alpha",
- ": ",
- "50%",
- ")",
- " ",
- "when",
- " ",
- "(",
- "isnumber",
- "(",
- "@alpha",
- ")",
- ")",
- " ",
- "{"
- ],
- "types": [
- "variable.language",
- "paren.lparen",
- "variable",
- "text",
- "variable",
- "text",
- "constant.numeric",
- "paren.rparen",
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "support.function",
- "paren.lparen",
- "variable",
- "paren.rparen",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "variable.language", ".box-shadow" ],
+ [ "paren.lparen", "(" ],
+ [ "variable", "@style" ],
+ [ "text", ", " ],
+ [ "variable", "@alpha" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "50%" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword", "when" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "support.function", "isnumber" ],
+ [ "paren.lparen", "(" ],
+ [ "variable", "@alpha" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- ".box-shadow",
- "(",
- "@style",
- ", ",
- "rgba",
- "(",
- "0",
- ", ",
- "0",
- ", ",
- "0",
- ", ",
- "@alpha",
- ")",
- ")",
- ";"
- ],
- "types": [
- "text",
- "variable.language",
- "paren.lparen",
- "variable",
- "text",
- "support.function",
- "paren.lparen",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "variable",
- "paren.rparen",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable.language", ".box-shadow" ],
+ [ "paren.lparen", "(" ],
+ [ "variable", "@style" ],
+ [ "text", ", " ],
+ [ "support.function", "rgba" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "0" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "0" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "0" ],
+ [ "text", ", " ],
+ [ "variable", "@alpha" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "// Box styles"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "// Box styles" ]
]
},
{
"state": "start",
- "values": [
- ".box",
- " ",
- "{",
- " "
- ],
- "types": [
- "variable.language",
- "text",
- "paren.lparen",
- "text"
+ "data": [
+ [ "variable.language", ".box" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ],
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- " ",
- "color",
- ": ",
- "saturate",
- "(",
- "@base",
- ", ",
- "5%",
- ")",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "support.function",
- "paren.lparen",
- "variable",
- "text",
- "constant.numeric",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "color" ],
+ [ "text", ": " ],
+ [ "support.function", "saturate" ],
+ [ "paren.lparen", "(" ],
+ [ "variable", "@base" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "5%" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "border-color",
- ": ",
- "lighten",
- "(",
- "@base",
- ", ",
- "30%",
- ")",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "support.function",
- "paren.lparen",
- "variable",
- "text",
- "constant.numeric",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "border-color" ],
+ [ "text", ": " ],
+ [ "support.function", "lighten" ],
+ [ "paren.lparen", "(" ],
+ [ "variable", "@base" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "30%" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- " "
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- " ",
- "div",
- " ",
- "{",
- " ",
- ".box-shadow",
- "(",
- "0",
- " ",
- "0",
- " ",
- "5px",
- ", ",
- "30%",
- ")",
- " ",
- "}"
- ],
- "types": [
- "text",
- "variable.language",
- "text",
- "paren.lparen",
- "text",
- "variable.language",
- "paren.lparen",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "paren.rparen",
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "variable.language", "div" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ],
+ [ "text", " " ],
+ [ "variable.language", ".box-shadow" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "0" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ],
+ [ "text", " " ],
+ [ "constant.numeric", "5px" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "30%" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " "
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- " ",
- "a",
- " ",
- "{"
- ],
- "types": [
- "text",
- "variable.language",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "variable.language", "a" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "color",
- ": ",
- "@base",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "variable",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "color" ],
+ [ "text", ": " ],
+ [ "variable", "@base" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- " "
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- " &",
- ":hover",
- " ",
- "{"
- ],
- "types": [
- "text",
- "variable.language",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " &" ],
+ [ "variable.language", ":hover" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "color",
- ": ",
- "lighten",
- "(",
- "@base",
- ", ",
- "50%",
- ")",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "support.function",
- "paren.lparen",
- "variable",
- "text",
- "constant.numeric",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "color" ],
+ [ "text", ": " ],
+ [ "support.function", "lighten" ],
+ [ "paren.lparen", "(" ],
+ [ "variable", "@base" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "50%" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_liquid.json b/lib/ace/mode/_test/tokens_liquid.json
index 779eeb8f..73c37daa 100644
--- a/lib/ace/mode/_test/tokens_liquid.json
+++ b/lib/ace/mode/_test/tokens_liquid.json
@@ -1,1163 +1,698 @@
[
{
"state": "start",
- "values": [
- "The following examples can be found in full at http://liquidmarkup.org/"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "The following examples can be found in full at http://liquidmarkup.org/" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Liquid is an extraction from the e-commerce system Shopify."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Liquid is an extraction from the e-commerce system Shopify." ]
]
},
{
"state": "start",
- "values": [
- "Shopify powers many thousands of e-commerce stores which all call for unique designs."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Shopify powers many thousands of e-commerce stores which all call for unique designs." ]
]
},
{
"state": "start",
- "values": [
- "For this we developed Liquid which allows our customers complete design freedom while"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "For this we developed Liquid which allows our customers complete design freedom while" ]
]
},
{
"state": "start",
- "values": [
- "maintaining the integrity of our servers."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "maintaining the integrity of our servers." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Liquid has been in production use since June 2006 and is now used by many other"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Liquid has been in production use since June 2006 and is now used by many other" ]
]
},
{
"state": "start",
- "values": [
- "hosted web applications."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "hosted web applications." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "It was developed for usage in Ruby on Rails web applications and integrates seamlessly"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "It was developed for usage in Ruby on Rails web applications and integrates seamlessly" ]
]
},
{
"state": "start",
- "values": [
- "as a plugin but it also works excellently as a stand alone library."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "as a plugin but it also works excellently as a stand alone library." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Here's what it looks like:"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Here's what it looks like:" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "ul",
- " ",
- "id",
- "=",
- "\"products\"",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "ul" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "id" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"products\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "for",
- " ",
- "product",
- " ",
- "in",
- " ",
- "products",
- " ",
- "%}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "identifier", "product" ],
+ [ "text", " " ],
+ [ "keyword", "in" ],
+ [ "text", " " ],
+ [ "identifier", "products" ],
+ [ "text", " " ],
+ [ "variable", "%}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "li",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "li" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "h2",
- ">",
- "{{",
- " ",
- "product",
- ".",
- "title",
- " ",
- "}}",
- "",
- "h2",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "variable",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "variable",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ],
+ [ "variable", "{{" ],
+ [ "text", " " ],
+ [ "identifier", "product" ],
+ [ "text", "." ],
+ [ "identifier", "title" ],
+ [ "text", " " ],
+ [ "variable", "}}" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " Only {{ product.price | format_as_money }}"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " Only {{ product.price | format_as_money }}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "p",
- ">",
- "{{",
- " ",
- "product",
- ".",
- "description",
- " | ",
- "prettyprint",
- " | ",
- "truncate",
- ": ",
- "200",
- " ",
- "}}",
- "",
- "p",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "variable",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "support.function",
- "text",
- "constant.numeric",
- "text",
- "variable",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ],
+ [ "variable", "{{" ],
+ [ "text", " " ],
+ [ "identifier", "product" ],
+ [ "text", "." ],
+ [ "identifier", "description" ],
+ [ "text", " | " ],
+ [ "identifier", "prettyprint" ],
+ [ "text", " | " ],
+ [ "support.function", "truncate" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "200" ],
+ [ "text", " " ],
+ [ "variable", "}}" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " ",
- "",
- "li",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "li" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "endfor",
- " ",
- "%}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "endfor" ],
+ [ "text", " " ],
+ [ "variable", "%}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "",
- "ul",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "ul" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Some more features include:"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Some more features include:" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "<",
- "h2",
- ">",
- "Filters",
- "",
- "h2",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Filters" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<",
- "p",
- ">",
- " The word \"tobi\" in uppercase: {{ 'tobi' | upcase }} ",
- "",
- "p",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ],
+ [ "text", " The word \"tobi\" in uppercase: {{ 'tobi' | upcase }} " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<",
- "p",
- ">",
- "The word \"tobi\" has {{ 'tobi' | size }} letters! ",
- "",
- "p",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ],
+ [ "text", "The word \"tobi\" has {{ 'tobi' | size }} letters! " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<",
- "p",
- ">",
- "Change \"Hello world\" to \"Hi world\": {{ 'Hello world' | replace: 'Hello', 'Hi' }} ",
- "",
- "p",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Change \"Hello world\" to \"Hi world\": {{ 'Hello world' | replace: 'Hello', 'Hi' }} " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<",
- "p",
- ">",
- "The date today is {{ 'now' | date: \"%Y %b %d\" }} ",
- "",
- "p",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ],
+ [ "text", "The date today is {{ 'now' | date: \"%Y %b %d\" }} " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "<",
- "h2",
- ">",
- "If",
- "",
- "h2",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ],
+ [ "text", "If" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<",
- "p",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "if",
- " ",
- "user",
- ".",
- "name",
- " ",
- "=",
- "=",
- " ",
- "'tobi'",
- " ",
- "or",
- " ",
- "user",
- ".",
- "name",
- " ",
- "=",
- "=",
- " ",
- "'marc'",
- " ",
- "%}",
- " "
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "string",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "string",
- "text",
- "variable",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "identifier", "user" ],
+ [ "text", "." ],
+ [ "identifier", "name" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "string", "'tobi'" ],
+ [ "text", " " ],
+ [ "identifier", "or" ],
+ [ "text", " " ],
+ [ "identifier", "user" ],
+ [ "text", "." ],
+ [ "identifier", "name" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "string", "'marc'" ],
+ [ "text", " " ],
+ [ "variable", "%}" ],
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- " hi marc or tobi"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " hi marc or tobi" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "endif",
- " ",
- "%}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "endif" ],
+ [ "text", " " ],
+ [ "variable", "%}" ]
]
},
{
"state": "start",
- "values": [
- "",
- "p",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "<",
- "h2",
- ">",
- "Case",
- "",
- "h2",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Case" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<",
- "p",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "case",
- " ",
- "template",
- " ",
- "%}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "case" ],
+ [ "text", " " ],
+ [ "identifier", "template" ],
+ [ "text", " " ],
+ [ "variable", "%}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "when",
- " ",
- "'index'",
- " ",
- "%}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "string",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "when" ],
+ [ "text", " " ],
+ [ "string", "'index'" ],
+ [ "text", " " ],
+ [ "variable", "%}" ]
]
},
{
"state": "start",
- "values": [
- " Welcome"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " Welcome" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "when",
- " ",
- "'product'",
- " ",
- "%}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "string",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "when" ],
+ [ "text", " " ],
+ [ "string", "'product'" ],
+ [ "text", " " ],
+ [ "variable", "%}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{{",
- " ",
- "product",
- ".",
- "vendor",
- " | ",
- "link_to_vendor",
- " ",
- "}}",
- " / {{ product.title }}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "variable",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{{" ],
+ [ "text", " " ],
+ [ "identifier", "product" ],
+ [ "text", "." ],
+ [ "identifier", "vendor" ],
+ [ "text", " | " ],
+ [ "identifier", "link_to_vendor" ],
+ [ "text", " " ],
+ [ "variable", "}}" ],
+ [ "text", " / {{ product.title }}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "else",
- " ",
- "%}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "else" ],
+ [ "text", " " ],
+ [ "variable", "%}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{{",
- " ",
- "page_title",
- " ",
- "}}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "identifier",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{{" ],
+ [ "text", " " ],
+ [ "identifier", "page_title" ],
+ [ "text", " " ],
+ [ "variable", "}}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "endcase",
- " ",
- "%}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "endcase" ],
+ [ "text", " " ],
+ [ "variable", "%}" ]
]
},
{
"state": "start",
- "values": [
- "",
- "p",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "<",
- "h2",
- ">",
- "For Loops",
- "",
- "h2",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ],
+ [ "text", "For Loops" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<",
- "p",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "for",
- " ",
- "item",
- " ",
- "in",
- " ",
- "array",
- " ",
- "%}",
- " "
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "variable",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "identifier", "item" ],
+ [ "text", " " ],
+ [ "keyword", "in" ],
+ [ "text", " " ],
+ [ "identifier", "array" ],
+ [ "text", " " ],
+ [ "variable", "%}" ],
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{{",
- " ",
- "item",
- " ",
- "}}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "identifier",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{{" ],
+ [ "text", " " ],
+ [ "identifier", "item" ],
+ [ "text", " " ],
+ [ "variable", "}}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "endfor",
- " ",
- "%}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "endfor" ],
+ [ "text", " " ],
+ [ "variable", "%}" ]
]
},
{
"state": "start",
- "values": [
- "",
- "p",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "<",
- "h2",
- ">",
- "Tables",
- "",
- "h2",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Tables" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<",
- "p",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "tablerow",
- " ",
- "item",
- " ",
- "in",
- " ",
- "items",
- " ",
- "cols",
- ": ",
- "3",
- " ",
- "%}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "constant.numeric",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "tablerow" ],
+ [ "text", " " ],
+ [ "identifier", "item" ],
+ [ "text", " " ],
+ [ "keyword", "in" ],
+ [ "text", " " ],
+ [ "identifier", "items" ],
+ [ "text", " " ],
+ [ "identifier", "cols" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "3" ],
+ [ "text", " " ],
+ [ "variable", "%}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "if",
- " ",
- "tablerowloop",
- ".",
- "col_first",
- " ",
- "%}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "variable.language",
- "text",
- "identifier",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "variable.language", "tablerowloop" ],
+ [ "text", "." ],
+ [ "identifier", "col_first" ],
+ [ "text", " " ],
+ [ "variable", "%}" ]
]
},
{
"state": "start",
- "values": [
- " First column: {{ item.variable }}"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " First column: {{ item.variable }}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "else",
- " ",
- "%}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "else" ],
+ [ "text", " " ],
+ [ "variable", "%}" ]
]
},
{
"state": "start",
- "values": [
- " Different column: {{ item.variable }}"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " Different column: {{ item.variable }}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "endif",
- " ",
- "%}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "endif" ],
+ [ "text", " " ],
+ [ "variable", "%}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{%",
- " ",
- "endtablerow",
- " ",
- "%}"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "keyword",
- "text",
- "variable"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "{%" ],
+ [ "text", " " ],
+ [ "keyword", "endtablerow" ],
+ [ "text", " " ],
+ [ "variable", "%}" ]
]
},
{
"state": "start",
- "values": [
- "",
- "p",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_lua.json b/lib/ace/mode/_test/tokens_lua.json
index 5a832a0f..f249f658 100644
--- a/lib/ace/mode/_test/tokens_lua.json
+++ b/lib/ace/mode/_test/tokens_lua.json
@@ -1,789 +1,451 @@
[
{
"state": "qcomment",
- "values": [
- "--[[--"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "--[[--" ]
]
},
{
"state": "qcomment",
- "values": [
- "num_args takes in 5.1 byte code and extracts the number of arguments"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "num_args takes in 5.1 byte code and extracts the number of arguments" ]
]
},
{
"state": "qcomment",
- "values": [
- "from its function header."
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "from its function header." ]
]
},
{
"state": "start",
- "values": [
- "--]]",
- "--"
- ],
- "types": [
- "comment",
- "comment"
+ "data": [
+ [ "comment", "--]]" ],
+ [ "comment", "--" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "function",
- " ",
- "int",
- "(",
- "t",
- ")"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "identifier",
- "paren.rparen"
+ "data": [
+ [ "keyword", "function" ],
+ [ "text", " " ],
+ [ "identifier", "int" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "t" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "return",
- " ",
- "t",
- ":",
- "byte",
- "(",
- "1",
- ")",
- "+",
- "t",
- ":",
- "byte",
- "(",
- "2",
- ")",
- "*",
- "0x100",
- "+",
- "t",
- ":",
- "byte",
- "(",
- "3",
- ")",
- "*",
- "0x10000",
- "+",
- "t",
- ":",
- "byte",
- "(",
- "4",
- ")",
- "*",
- "0x1000000"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "keyword.operator",
- "support.function",
- "paren.lparen",
- "constant.numeric",
- "paren.rparen",
- "keyword.operator",
- "identifier",
- "keyword.operator",
- "support.function",
- "paren.lparen",
- "constant.numeric",
- "paren.rparen",
- "keyword.operator",
- "constant.numeric",
- "keyword.operator",
- "identifier",
- "keyword.operator",
- "support.function",
- "paren.lparen",
- "constant.numeric",
- "paren.rparen",
- "keyword.operator",
- "constant.numeric",
- "keyword.operator",
- "identifier",
- "keyword.operator",
- "support.function",
- "paren.lparen",
- "constant.numeric",
- "paren.rparen",
- "keyword.operator",
- "constant.numeric"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "return" ],
+ [ "text", " " ],
+ [ "identifier", "t" ],
+ [ "keyword.operator", ":" ],
+ [ "support.function", "byte" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "1" ],
+ [ "paren.rparen", ")" ],
+ [ "keyword.operator", "+" ],
+ [ "identifier", "t" ],
+ [ "keyword.operator", ":" ],
+ [ "support.function", "byte" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "2" ],
+ [ "paren.rparen", ")" ],
+ [ "keyword.operator", "*" ],
+ [ "constant.numeric", "0x100" ],
+ [ "keyword.operator", "+" ],
+ [ "identifier", "t" ],
+ [ "keyword.operator", ":" ],
+ [ "support.function", "byte" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "3" ],
+ [ "paren.rparen", ")" ],
+ [ "keyword.operator", "*" ],
+ [ "constant.numeric", "0x10000" ],
+ [ "keyword.operator", "+" ],
+ [ "identifier", "t" ],
+ [ "keyword.operator", ":" ],
+ [ "support.function", "byte" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "4" ],
+ [ "paren.rparen", ")" ],
+ [ "keyword.operator", "*" ],
+ [ "constant.numeric", "0x1000000" ]
]
},
{
"state": "start",
- "values": [
- "end"
- ],
- "types": [
- "keyword"
+ "data": [
+ [ "keyword", "end" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "function",
- " ",
- "num_args",
- "(",
- "func",
- ")"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "identifier",
- "paren.rparen"
+ "data": [
+ [ "keyword", "function" ],
+ [ "text", " " ],
+ [ "identifier", "num_args" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "func" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "local",
- " ",
- "dump",
- " ",
- "=",
- " ",
- "string",
- ".",
- "dump",
- "(",
- "func",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "support.function",
- "text",
- "keyword.operator",
- "text",
- "constant.library",
- "text",
- "support.function",
- "paren.lparen",
- "identifier",
- "paren.rparen"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "local" ],
+ [ "text", " " ],
+ [ "support.function", "dump" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.library", "string" ],
+ [ "text", "." ],
+ [ "support.function", "dump" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "func" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "local",
- " ",
- "offset",
- ", ",
- "cursor",
- " ",
- "=",
- " ",
- "int",
- "(",
- "dump",
- ":",
- "sub",
- "(",
- "13",
- ")",
- ")",
- ", ",
- "offset",
- " ",
- "+",
- " ",
- "26"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "paren.lparen",
- "support.function",
- "keyword.operator",
- "support.function",
- "paren.lparen",
- "constant.numeric",
- "paren.rparen",
- "paren.rparen",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "local" ],
+ [ "text", " " ],
+ [ "identifier", "offset" ],
+ [ "text", ", " ],
+ [ "identifier", "cursor" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "int" ],
+ [ "paren.lparen", "(" ],
+ [ "support.function", "dump" ],
+ [ "keyword.operator", ":" ],
+ [ "support.function", "sub" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "13" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ", " ],
+ [ "identifier", "offset" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "constant.numeric", "26" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "--Get the params and var flag (whether there's a ... in the param)"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", "\t" ],
+ [ "comment", "--Get the params and var flag (whether there's a ... in the param)" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "return",
- " ",
- "dump",
- ":",
- "sub",
- "(",
- "cursor",
- ")",
- ":",
- "byte",
- "(",
- ")",
- ", ",
- "dump",
- ":",
- "sub",
- "(",
- "cursor",
- "+",
- "1",
- ")",
- ":",
- "byte",
- "(",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "support.function",
- "keyword.operator",
- "support.function",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "keyword.operator",
- "support.function",
- "paren.lparen",
- "paren.rparen",
- "text",
- "support.function",
- "keyword.operator",
- "support.function",
- "paren.lparen",
- "identifier",
- "keyword.operator",
- "constant.numeric",
- "paren.rparen",
- "keyword.operator",
- "support.function",
- "paren.lparen",
- "paren.rparen"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "return" ],
+ [ "text", " " ],
+ [ "support.function", "dump" ],
+ [ "keyword.operator", ":" ],
+ [ "support.function", "sub" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "cursor" ],
+ [ "paren.rparen", ")" ],
+ [ "keyword.operator", ":" ],
+ [ "support.function", "byte" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ", " ],
+ [ "support.function", "dump" ],
+ [ "keyword.operator", ":" ],
+ [ "support.function", "sub" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "cursor" ],
+ [ "keyword.operator", "+" ],
+ [ "constant.numeric", "1" ],
+ [ "paren.rparen", ")" ],
+ [ "keyword.operator", ":" ],
+ [ "support.function", "byte" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "end"
- ],
- "types": [
- "keyword"
+ "data": [
+ [ "keyword", "end" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "-- Usage:"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "-- Usage:" ]
]
},
{
"state": "start",
- "values": [
- "num_args",
- "(",
- "function",
- "(",
- "a",
- ",",
- "b",
- ",",
- "c",
- ",",
- "d",
- ", ",
- "...",
- ")",
- " ",
- "end",
- ")",
- " ",
- "-- return 4, 7"
- ],
- "types": [
- "identifier",
- "paren.lparen",
- "keyword",
- "paren.lparen",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "paren.rparen",
- "text",
- "keyword",
- "paren.rparen",
- "text",
- "comment"
+ "data": [
+ [ "identifier", "num_args" ],
+ [ "paren.lparen", "(" ],
+ [ "keyword", "function" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "a" ],
+ [ "text", "," ],
+ [ "identifier", "b" ],
+ [ "text", "," ],
+ [ "identifier", "c" ],
+ [ "text", "," ],
+ [ "identifier", "d" ],
+ [ "text", ", " ],
+ [ "keyword.operator", "..." ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword", "end" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "comment", "-- return 4, 7" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "-- Python styled string format operator"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "-- Python styled string format operator" ]
]
},
{
"state": "start",
- "values": [
- "local",
- " ",
- "gm",
- " ",
- "=",
- " ",
- "debug",
- ".",
- "getmetatable",
- "(",
- "\"\"",
- ")"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.library",
- "text",
- "support.function",
- "paren.lparen",
- "string",
- "paren.rparen"
+ "data": [
+ [ "keyword", "local" ],
+ [ "text", " " ],
+ [ "identifier", "gm" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.library", "debug" ],
+ [ "text", "." ],
+ [ "support.function", "getmetatable" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"\"" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "gm",
- ".",
- "__mod",
- "=",
- "function",
- "(",
- "self",
- ", ",
- "other",
- ")"
- ],
- "types": [
- "identifier",
- "text",
- "support.function",
- "keyword.operator",
- "keyword",
- "paren.lparen",
- "identifier",
- "text",
- "identifier",
- "paren.rparen"
+ "data": [
+ [ "identifier", "gm" ],
+ [ "text", "." ],
+ [ "support.function", "__mod" ],
+ [ "keyword.operator", "=" ],
+ [ "keyword", "function" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "self" ],
+ [ "text", ", " ],
+ [ "identifier", "other" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "if",
- " ",
- "type",
- "(",
- "other",
- ")",
- " ",
- "~",
- "=",
- " ",
- "\"table\"",
- " ",
- "then",
- " ",
- "other",
- " ",
- "=",
- " ",
- "{",
- "other",
- "}",
- " ",
- "end"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "support.function",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "string",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "support.function", "type" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "other" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword.operator", "~" ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "string", "\"table\"" ],
+ [ "text", " " ],
+ [ "keyword", "then" ],
+ [ "text", " " ],
+ [ "identifier", "other" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ],
+ [ "identifier", "other" ],
+ [ "paren.rparen", "}" ],
+ [ "text", " " ],
+ [ "keyword", "end" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "for",
- " ",
- "i",
- ",",
- "v",
- " ",
- "in",
- " ",
- "ipairs",
- "(",
- "other",
- ")",
- " ",
- "do",
- " ",
- "other",
- "[",
- "i",
- "]",
- " ",
- "=",
- " ",
- "tostring",
- "(",
- "v",
- ")",
- " ",
- "end"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "support.function",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "text",
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "text",
- "keyword.operator",
- "text",
- "support.function",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "identifier", "i" ],
+ [ "text", "," ],
+ [ "identifier", "v" ],
+ [ "text", " " ],
+ [ "keyword", "in" ],
+ [ "text", " " ],
+ [ "support.function", "ipairs" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "other" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword", "do" ],
+ [ "text", " " ],
+ [ "identifier", "other" ],
+ [ "paren.lparen", "[" ],
+ [ "identifier", "i" ],
+ [ "paren.rparen", "]" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "support.function", "tostring" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "v" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword", "end" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "return",
- " ",
- "self",
- ":",
- "format",
- "(",
- "unpack",
- "(",
- "other",
- ")",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "keyword.operator",
- "support.function",
- "paren.lparen",
- "support.function",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "return" ],
+ [ "text", " " ],
+ [ "identifier", "self" ],
+ [ "keyword.operator", ":" ],
+ [ "support.function", "format" ],
+ [ "paren.lparen", "(" ],
+ [ "support.function", "unpack" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "other" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "end"
- ],
- "types": [
- "keyword"
+ "data": [
+ [ "keyword", "end" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "qstring3",
- "values": [
- "print",
- "(",
- "[===["
- ],
- "types": [
- "support.function",
- "paren.lparen",
- "string"
+ "data": [
+ [ "support.function", "print" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "[===[" ]
]
},
{
"state": "qstring3",
- "values": [
- " blah blah %s, (%d %d)"
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", " blah blah %s, (%d %d)" ]
]
},
{
"state": "start",
- "values": [
- "]===]",
- "%",
- "{",
- "\"blah\"",
- ", ",
- "num_args",
- "(",
- "int",
- ")",
- "}",
- ")"
- ],
- "types": [
- "string",
- "keyword.operator",
- "paren.lparen",
- "string",
- "text",
- "identifier",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "paren.rparen",
- "paren.rparen"
+ "data": [
+ [ "string", "]===]" ],
+ [ "keyword.operator", "%" ],
+ [ "paren.lparen", "{" ],
+ [ "string", "\"blah\"" ],
+ [ "text", ", " ],
+ [ "identifier", "num_args" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "int" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.rparen", "}" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "qcomment1",
- "values": [
- "--[=[--"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "--[=[--" ]
]
},
{
"state": "qcomment1",
- "values": [
- "table.maxn is deprecated, use # instead."
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "table.maxn is deprecated, use # instead." ]
]
},
{
"state": "start",
- "values": [
- "--]=]",
- "--"
- ],
- "types": [
- "comment",
- "comment"
+ "data": [
+ [ "comment", "--]=]" ],
+ [ "comment", "--" ]
]
},
{
"state": "start",
- "values": [
- "print",
- "(",
- "table",
- ".",
- "maxn",
- "{",
- "1",
- ",",
- "2",
- ",",
- "[",
- "4",
- "]",
- "=",
- "4",
- ",",
- "[",
- "8",
- "]",
- "=",
- "8",
- ")",
- " ",
- "-- outputs 8 instead of 2"
- ],
- "types": [
- "support.function",
- "paren.lparen",
- "constant.library",
- "text",
- "invalid.deprecated",
- "paren.lparen",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "paren.lparen",
- "constant.numeric",
- "paren.rparen",
- "keyword.operator",
- "constant.numeric",
- "text",
- "paren.lparen",
- "constant.numeric",
- "paren.rparen",
- "keyword.operator",
- "constant.numeric",
- "paren.rparen",
- "text",
- "comment"
+ "data": [
+ [ "support.function", "print" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.library", "table" ],
+ [ "text", "." ],
+ [ "invalid.deprecated", "maxn" ],
+ [ "paren.lparen", "{" ],
+ [ "constant.numeric", "1" ],
+ [ "text", "," ],
+ [ "constant.numeric", "2" ],
+ [ "text", "," ],
+ [ "paren.lparen", "[" ],
+ [ "constant.numeric", "4" ],
+ [ "paren.rparen", "]" ],
+ [ "keyword.operator", "=" ],
+ [ "constant.numeric", "4" ],
+ [ "text", "," ],
+ [ "paren.lparen", "[" ],
+ [ "constant.numeric", "8" ],
+ [ "paren.rparen", "]" ],
+ [ "keyword.operator", "=" ],
+ [ "constant.numeric", "8" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "comment", "-- outputs 8 instead of 2" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_luapage.json b/lib/ace/mode/_test/tokens_luapage.json
index f36e728f..a6395ef0 100644
--- a/lib/ace/mode/_test/tokens_luapage.json
+++ b/lib/ace/mode/_test/tokens_luapage.json
@@ -1,1430 +1,824 @@
[
{
"state": "tag_embed_attribute_list",
- "values": [
- "",
- "<",
- "!",
- "DOCTYPE",
- " ",
- "html",
- " ",
- "PUBLIC",
- " ",
- "\"-//W3C//DTD XHTML 1.0 Strict//EN\""
- ],
- "types": [
- "text",
- "meta.tag",
- "text",
- "entity.other.attribute-name",
- "text",
- "entity.other.attribute-name",
- "text",
- "entity.other.attribute-name",
- "text",
- "string"
+ "data": [
+ [ "text", "" ],
+ [ "meta.tag", "<" ],
+ [ "text", "!" ],
+ [ "entity.other.attribute-name", "DOCTYPE" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "html" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "PUBLIC" ],
+ [ "text", " " ],
+ [ "string", "\"-//W3C//DTD XHTML 1.0 Strict//EN\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"",
- ">"
- ],
- "types": [
- "text",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "string", "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<",
- "html",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "html" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "lua-qcomment",
- "values": [
- "<%",
- " ",
- "--[[--"
- ],
- "types": [
- "keyword",
- "text",
- "comment"
+ "data": [
+ [ "keyword", "<%" ],
+ [ "text", " " ],
+ [ "comment", "--[[--" ]
]
},
{
"state": "lua-qcomment",
- "values": [
- " index.lp from the Kepler Project's LuaDoc HTML doclet."
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", " index.lp from the Kepler Project's LuaDoc HTML doclet." ]
]
},
{
"state": "lua-qcomment",
- "values": [
- " http://keplerproject.github.com/luadoc/"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", " http://keplerproject.github.com/luadoc/" ]
]
},
{
"state": "start",
- "values": [
- "--]]",
- " ",
- "%>"
- ],
- "types": [
- "comment",
- "text",
- "keyword"
+ "data": [
+ [ "comment", "--]]" ],
+ [ "text", " " ],
+ [ "keyword", "%>" ]
]
},
{
"state": "start",
- "values": [
- "<",
- "head",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "head" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "title",
- ">",
- "Reference",
- "",
- "title",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "title" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Reference" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "title" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "link",
- " ",
- "rel",
- "=",
- "\"stylesheet\"",
- " ",
- "href",
- "=",
- "\"<%=luadoc.doclet.html.link(\"",
- "luadoc",
- ".",
- "css",
- "\")%>\"",
- " ",
- "type",
- "=",
- "\"text/css\"",
- " ",
- "/>"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "entity.other.attribute-name",
- "text",
- "entity.other.attribute-name",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "link" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "rel" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"stylesheet\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "href" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"<%=luadoc.doclet.html.link(\"" ],
+ [ "entity.other.attribute-name", "luadoc" ],
+ [ "text", "." ],
+ [ "entity.other.attribute-name", "css" ],
+ [ "string", "\")%>\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "type" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"text/css\"" ],
+ [ "text", " " ],
+ [ "meta.tag", "/>" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- ""
- ],
- "types": [
- "text",
- "comment",
- "comment"
+ "data": [
+ [ "text", "\t" ],
+ [ "comment", "" ]
]
},
{
"state": "start",
- "values": [
- "",
- "head",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "head" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "<",
- "body",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "body" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<",
- "div",
- " ",
- "id",
- "=",
- "\"container\"",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "id" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"container\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "<",
- "div",
- " ",
- "id",
- "=",
- "\"product\"",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "id" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"product\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "<",
- "div",
- " ",
- "id",
- "=",
- "\"product_logo\"",
- ">",
- "",
- "div",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", "\t" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "id" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"product_logo\"" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "<",
- "div",
- " ",
- "id",
- "=",
- "\"product_name\"",
- ">",
- "<",
- "big",
- ">",
- "<",
- "b",
- ">",
- "",
- "b",
- ">",
- "",
- "big",
- ">",
- "",
- "div",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", "\t" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "id" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"product_name\"" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "big" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "b" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "b" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "big" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "<",
- "div",
- " ",
- "id",
- "=",
- "\"product_description\"",
- ">",
- "",
- "div",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", "\t" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "id" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"product_description\"" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "",
- "div",
- ">",
- " ",
- ""
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "comment",
- "comment"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "meta.tag", ">" ],
+ [ "text", " " ],
+ [ "comment", "" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "<",
- "div",
- " ",
- "id",
- "=",
- "\"main\"",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "id" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"main\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "<",
- "div",
- " ",
- "id",
- "=",
- "\"navigation\"",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "id" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"navigation\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<%=",
- "luadoc",
- ".",
- "doclet",
- ".",
- "html",
- ".",
- "include",
- "(",
- "\"menu.lp\"",
- ", ",
- "{",
- " ",
- "doc",
- "=",
- "doc",
- " ",
- "}",
- ")",
- "%>"
- ],
- "types": [
- "keyword",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "paren.lparen",
- "string",
- "text",
- "paren.lparen",
- "text",
- "identifier",
- "keyword.operator",
- "identifier",
- "text",
- "paren.rparen",
- "paren.rparen",
- "keyword"
+ "data": [
+ [ "keyword", "<%=" ],
+ [ "identifier", "luadoc" ],
+ [ "text", "." ],
+ [ "identifier", "doclet" ],
+ [ "text", "." ],
+ [ "identifier", "html" ],
+ [ "text", "." ],
+ [ "identifier", "include" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"menu.lp\"" ],
+ [ "text", ", " ],
+ [ "paren.lparen", "{" ],
+ [ "text", " " ],
+ [ "identifier", "doc" ],
+ [ "keyword.operator", "=" ],
+ [ "identifier", "doc" ],
+ [ "text", " " ],
+ [ "paren.rparen", "}" ],
+ [ "paren.rparen", ")" ],
+ [ "keyword", "%>" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "",
- "div",
- ">",
- " ",
- ""
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "comment",
- "comment"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "meta.tag", ">" ],
+ [ "text", " " ],
+ [ "comment", "" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "<",
- "div",
- " ",
- "id",
- "=",
- "\"content\"",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "id" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"content\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "<%",
- "if",
- " ",
- "not",
- " ",
- "options",
- ".",
- "nomodules",
- " ",
- "and",
- " ",
- "#",
- "doc",
- ".",
- "modules",
- " ",
- ">",
- " ",
- "0",
- " ",
- "then",
- "%>"
- ],
- "types": [
- "keyword",
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "text",
- "keyword",
- "keyword"
+ "data": [
+ [ "keyword", "<%" ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "keyword", "not" ],
+ [ "text", " " ],
+ [ "identifier", "options" ],
+ [ "text", "." ],
+ [ "identifier", "nomodules" ],
+ [ "text", " " ],
+ [ "keyword", "and" ],
+ [ "text", " " ],
+ [ "keyword.operator", "#" ],
+ [ "identifier", "doc" ],
+ [ "text", "." ],
+ [ "identifier", "modules" ],
+ [ "text", " " ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ],
+ [ "text", " " ],
+ [ "keyword", "then" ],
+ [ "keyword", "%>" ]
]
},
{
"state": "start",
- "values": [
- "<",
- "h2",
- ">",
- "Modules",
- "",
- "h2",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Modules" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<",
- "table",
- " ",
- "class",
- "=",
- "\"module_list\"",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name.table",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.table", "table" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "class" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"module_list\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- ""
- ],
- "types": [
- "comment",
- "comment"
+ "data": [
+ [ "comment", "" ]
]
},
{
"state": "start",
- "values": [
- "<%",
- "for",
- " ",
- "_",
- ", ",
- "modulename",
- " ",
- "in",
- " ",
- "ipairs",
- "(",
- "doc",
- ".",
- "modules",
- ")",
- " ",
- "do",
- "%>"
- ],
- "types": [
- "keyword",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "support.function",
- "paren.lparen",
- "identifier",
- "text",
- "identifier",
- "paren.rparen",
- "text",
- "keyword",
- "keyword"
+ "data": [
+ [ "keyword", "<%" ],
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "identifier", "_" ],
+ [ "text", ", " ],
+ [ "identifier", "modulename" ],
+ [ "text", " " ],
+ [ "keyword", "in" ],
+ [ "text", " " ],
+ [ "support.function", "ipairs" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "doc" ],
+ [ "text", "." ],
+ [ "identifier", "modules" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword", "do" ],
+ [ "keyword", "%>" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "<",
- "tr",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name.table",
- "meta.tag"
+ "data": [
+ [ "text", "\t" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.table", "tr" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "\t\t",
- "<",
- "td",
- " ",
- "class",
- "=",
- "\"name\"",
- ">",
- "<",
- "a",
- " ",
- "href",
- "=",
- "\"<%=luadoc.doclet.html.module_link(modulename, doc)%>\"",
- ">",
- "<%=",
- "modulename",
- "%>",
- "",
- "a",
- ">",
- "",
- "td",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name.table",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name.anchor",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "keyword",
- "identifier",
- "keyword",
- "meta.tag",
- "meta.tag.tag-name.anchor",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name.table",
- "meta.tag"
+ "data": [
+ [ "text", "\t\t" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.table", "td" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "class" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"name\"" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.anchor", "a" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "href" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"<%=luadoc.doclet.html.module_link(modulename, doc)%>\"" ],
+ [ "meta.tag", ">" ],
+ [ "keyword", "<%=" ],
+ [ "identifier", "modulename" ],
+ [ "keyword", "%>" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.anchor", "a" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.table", "td" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "\t\t",
- "<",
- "td",
- " ",
- "class",
- "=",
- "\"summary\"",
- ">",
- "<%=",
- "doc",
- ".",
- "modules",
- "[",
- "modulename",
- "]",
- ".",
- "summary",
- "%>",
- "",
- "td",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name.table",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "keyword",
- "identifier",
- "text",
- "identifier",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "text",
- "identifier",
- "keyword",
- "meta.tag",
- "meta.tag.tag-name.table",
- "meta.tag"
+ "data": [
+ [ "text", "\t\t" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.table", "td" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "class" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"summary\"" ],
+ [ "meta.tag", ">" ],
+ [ "keyword", "<%=" ],
+ [ "identifier", "doc" ],
+ [ "text", "." ],
+ [ "identifier", "modules" ],
+ [ "paren.lparen", "[" ],
+ [ "identifier", "modulename" ],
+ [ "paren.rparen", "]" ],
+ [ "text", "." ],
+ [ "identifier", "summary" ],
+ [ "keyword", "%>" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.table", "td" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "",
- "tr",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name.table",
- "meta.tag"
+ "data": [
+ [ "text", "\t" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.table", "tr" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<%",
- "end",
- "%>"
- ],
- "types": [
- "keyword",
- "keyword",
- "keyword"
+ "data": [
+ [ "keyword", "<%" ],
+ [ "keyword", "end" ],
+ [ "keyword", "%>" ]
]
},
{
"state": "start",
- "values": [
- "",
- "table",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name.table",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.table", "table" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<%",
- "end",
- "%>"
- ],
- "types": [
- "keyword",
- "keyword",
- "keyword"
+ "data": [
+ [ "keyword", "<%" ],
+ [ "keyword", "end" ],
+ [ "keyword", "%>" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "<%",
- "if",
- " ",
- "not",
- " ",
- "options",
- ".",
- "nofiles",
- " ",
- "and",
- " ",
- "#",
- "doc",
- ".",
- "files",
- " ",
- ">",
- " ",
- "0",
- " ",
- "then",
- "%>"
- ],
- "types": [
- "keyword",
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "text",
- "keyword",
- "keyword"
+ "data": [
+ [ "keyword", "<%" ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "keyword", "not" ],
+ [ "text", " " ],
+ [ "identifier", "options" ],
+ [ "text", "." ],
+ [ "identifier", "nofiles" ],
+ [ "text", " " ],
+ [ "keyword", "and" ],
+ [ "text", " " ],
+ [ "keyword.operator", "#" ],
+ [ "identifier", "doc" ],
+ [ "text", "." ],
+ [ "identifier", "files" ],
+ [ "text", " " ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ],
+ [ "text", " " ],
+ [ "keyword", "then" ],
+ [ "keyword", "%>" ]
]
},
{
"state": "start",
- "values": [
- "<",
- "h2",
- ">",
- "Files",
- "",
- "h2",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Files" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "h2" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<",
- "table",
- " ",
- "class",
- "=",
- "\"file_list\"",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name.table",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.table", "table" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "class" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"file_list\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- ""
- ],
- "types": [
- "comment",
- "comment"
+ "data": [
+ [ "comment", "" ]
]
},
{
"state": "start",
- "values": [
- "<%",
- "for",
- " ",
- "_",
- ", ",
- "filepath",
- " ",
- "in",
- " ",
- "ipairs",
- "(",
- "doc",
- ".",
- "files",
- ")",
- " ",
- "do",
- "%>"
- ],
- "types": [
- "keyword",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "support.function",
- "paren.lparen",
- "identifier",
- "text",
- "identifier",
- "paren.rparen",
- "text",
- "keyword",
- "keyword"
+ "data": [
+ [ "keyword", "<%" ],
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "identifier", "_" ],
+ [ "text", ", " ],
+ [ "identifier", "filepath" ],
+ [ "text", " " ],
+ [ "keyword", "in" ],
+ [ "text", " " ],
+ [ "support.function", "ipairs" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "doc" ],
+ [ "text", "." ],
+ [ "identifier", "files" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword", "do" ],
+ [ "keyword", "%>" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "<",
- "tr",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name.table",
- "meta.tag"
+ "data": [
+ [ "text", "\t" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.table", "tr" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "\t\t",
- "<",
- "td",
- " ",
- "class",
- "=",
- "\"name\"",
- ">",
- "<",
- "a",
- " ",
- "href",
- "=",
- "\"<%=luadoc.doclet.html.file_link(filepath)%>\"",
- ">",
- "<%=",
- "filepath",
- "%>",
- "",
- "a",
- ">",
- "",
- "td",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name.table",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name.anchor",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "keyword",
- "identifier",
- "keyword",
- "meta.tag",
- "meta.tag.tag-name.anchor",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name.table",
- "meta.tag"
+ "data": [
+ [ "text", "\t\t" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.table", "td" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "class" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"name\"" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.anchor", "a" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "href" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"<%=luadoc.doclet.html.file_link(filepath)%>\"" ],
+ [ "meta.tag", ">" ],
+ [ "keyword", "<%=" ],
+ [ "identifier", "filepath" ],
+ [ "keyword", "%>" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.anchor", "a" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.table", "td" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "\t\t",
- "<",
- "td",
- " ",
- "class",
- "=",
- "\"summary\"",
- ">",
- "",
- "td",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name.table",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name.table",
- "meta.tag"
+ "data": [
+ [ "text", "\t\t" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.table", "td" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "class" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"summary\"" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.table", "td" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "",
- "tr",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name.table",
- "meta.tag"
+ "data": [
+ [ "text", "\t" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.table", "tr" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<%",
- "end",
- "%>"
- ],
- "types": [
- "keyword",
- "keyword",
- "keyword"
+ "data": [
+ [ "keyword", "<%" ],
+ [ "keyword", "end" ],
+ [ "keyword", "%>" ]
]
},
{
"state": "start",
- "values": [
- "",
- "table",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name.table",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.table", "table" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "<%",
- "end",
- "%>"
- ],
- "types": [
- "keyword",
- "keyword",
- "keyword"
+ "data": [
+ [ "keyword", "<%" ],
+ [ "keyword", "end" ],
+ [ "keyword", "%>" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "",
- "div",
- ">",
- " ",
- ""
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "comment",
- "comment"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "meta.tag", ">" ],
+ [ "text", " " ],
+ [ "comment", "" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "",
- "div",
- ">",
- " ",
- ""
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "comment",
- "comment"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "meta.tag", ">" ],
+ [ "text", " " ],
+ [ "comment", "" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "<",
- "div",
- " ",
- "id",
- "=",
- "\"about\"",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "id" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"about\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "<",
- "p",
- ">",
- "<",
- "a",
- " ",
- "href",
- "=",
- "\"http://validator.w3.org/check?uri=referer\"",
- ">",
- "<",
- "img",
- " ",
- "src",
- "=",
- "\"http://www.w3.org/Icons/valid-xhtml10\"",
- " ",
- "alt",
- "=",
- "\"Valid XHTML 1.0!\"",
- " ",
- "height",
- "=",
- "\"31\"",
- " ",
- "width",
- "=",
- "\"88\"",
- " ",
- "/>",
- "",
- "a",
- ">",
- "",
- "p",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name.anchor",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name.image",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name.anchor",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", "\t" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.anchor", "a" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "href" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://validator.w3.org/check?uri=referer\"" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.image", "img" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "src" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://www.w3.org/Icons/valid-xhtml10\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "alt" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"Valid XHTML 1.0!\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "height" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"31\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "width" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"88\"" ],
+ [ "text", " " ],
+ [ "meta.tag", "/>" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.anchor", "a" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "p" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "",
- "div",
- ">",
- " ",
- ""
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "comment",
- "comment"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "meta.tag", ">" ],
+ [ "text", " " ],
+ [ "comment", "" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "",
- "div",
- ">",
- " ",
- "",
- "\t"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "comment",
- "comment",
- "text"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "meta.tag", ">" ],
+ [ "text", " " ],
+ [ "comment", "" ],
+ [ "text", "\t" ]
]
},
{
"state": "start",
- "values": [
- "",
- "body",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "body" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "",
- "html",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "html" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_markdown.json b/lib/ace/mode/_test/tokens_markdown.json
index 4c306d12..02e22c00 100644
--- a/lib/ace/mode/_test/tokens_markdown.json
+++ b/lib/ace/mode/_test/tokens_markdown.json
@@ -1,1844 +1,1202 @@
[
{
"state": "start",
- "values": [
- "Ace (Ajax.org Cloud9 Editor)"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Ace (Ajax.org Cloud9 Editor)" ]
]
},
{
"state": "start",
- "values": [
- "============================"
- ],
- "types": [
- "markup.heading.1"
+ "data": [
+ [ "markup.heading.1", "============================" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Ace is a standalone code editor written in JavaScript. Our goal is to create a browser based editor that matches and extends the features, usability and performance of existing native editors such as TextMate, Vim or Eclipse. It can be easily embedded in any web page or JavaScript application. Ace is developed as the primary editor for [",
- "Cloud9 IDE",
- "](",
- "http://www.cloud9ide.com/",
- ") and the successor of the Mozilla Skywriter (Bespin) Project."
- ],
- "types": [
- "text",
- "string",
- "text",
- "markup.underline",
- "text"
+ "data": [
+ [ "text", "Ace is a standalone code editor written in JavaScript. Our goal is to create a browser based editor that matches and extends the features, usability and performance of existing native editors such as TextMate, Vim or Eclipse. It can be easily embedded in any web page or JavaScript application. Ace is developed as the primary editor for [" ],
+ [ "string", "Cloud9 IDE" ],
+ [ "text", "](" ],
+ [ "markup.underline", "http://www.cloud9ide.com/" ],
+ [ "text", ") and the successor of the Mozilla Skywriter (Bespin) Project." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Features"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Features" ]
]
},
{
"state": "start",
- "values": [
- "--------"
- ],
- "types": [
- "markup.heading.1"
+ "data": [
+ [ "markup.heading.2", "--------" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "listblock",
- "values": [
- "* ",
- "Syntax highlighting"
- ],
- "types": [
- "markup.list",
- "markup.list"
+ "data": [
+ [ "markup.list", "* " ],
+ [ "markup.list", "Syntax highlighting" ]
]
},
{
"state": "listblock",
- "values": [
- "* Automatic indent and outdent"
- ],
- "types": [
- "markup.list"
+ "data": [
+ [ "markup.list", "* Automatic indent and outdent" ]
]
},
{
"state": "listblock",
- "values": [
- "* An optional command line"
- ],
- "types": [
- "markup.list"
+ "data": [
+ [ "markup.list", "* An optional command line" ]
]
},
{
"state": "listblock",
- "values": [
- "* Handles huge documents (100,000 lines and more are no problem)"
- ],
- "types": [
- "markup.list"
+ "data": [
+ [ "markup.list", "* Handles huge documents (100,000 lines and more are no problem)" ]
]
},
{
"state": "listblock",
- "values": [
- "* Fully customizable key bindings including VI and Emacs modes"
- ],
- "types": [
- "markup.list"
+ "data": [
+ [ "markup.list", "* Fully customizable key bindings including VI and Emacs modes" ]
]
},
{
"state": "listblock",
- "values": [
- "* Themes (TextMate themes can be imported)"
- ],
- "types": [
- "markup.list"
+ "data": [
+ [ "markup.list", "* Themes (TextMate themes can be imported)" ]
]
},
{
"state": "listblock",
- "values": [
- "* Search and replace with regular expressions"
- ],
- "types": [
- "markup.list"
+ "data": [
+ [ "markup.list", "* Search and replace with regular expressions" ]
]
},
{
"state": "listblock",
- "values": [
- "* Highlight matching parentheses"
- ],
- "types": [
- "markup.list"
+ "data": [
+ [ "markup.list", "* Highlight matching parentheses" ]
]
},
{
"state": "listblock",
- "values": [
- "* Toggle between soft tabs and real tabs"
- ],
- "types": [
- "markup.list"
+ "data": [
+ [ "markup.list", "* Toggle between soft tabs and real tabs" ]
]
},
{
"state": "listblock",
- "values": [
- "* Displays hidden characters"
- ],
- "types": [
- "markup.list"
+ "data": [
+ [ "markup.list", "* Displays hidden characters" ]
]
},
{
"state": "listblock",
- "values": [
- "* Drag and drop text using the mouse"
- ],
- "types": [
- "markup.list"
+ "data": [
+ [ "markup.list", "* Drag and drop text using the mouse" ]
]
},
{
"state": "listblock",
- "values": [
- "* Line wrapping"
- ],
- "types": [
- "markup.list"
+ "data": [
+ [ "markup.list", "* Line wrapping" ]
]
},
{
"state": "listblock",
- "values": [
- "* Unstructured / user code folding"
- ],
- "types": [
- "markup.list"
+ "data": [
+ [ "markup.list", "* Unstructured / user code folding" ]
]
},
{
"state": "listblock",
- "values": [
- "* Live syntax checker (currently JavaScript/CoffeeScript)"
- ],
- "types": [
- "markup.list"
+ "data": [
+ [ "markup.list", "* Live syntax checker (currently JavaScript/CoffeeScript)" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Take Ace for a spin!"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Take Ace for a spin!" ]
]
},
{
"state": "start",
- "values": [
- "--------------------"
- ],
- "types": [
- "markup.heading.1"
+ "data": [
+ [ "markup.heading.2", "--------------------" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Check out the Ace live [",
- "demo",
- "](",
- "http://ajaxorg.github.com/ace/",
- ") or get a [",
- "Cloud9 IDE account",
- "](",
- "http://run.cloud9ide.com",
- ") to experience Ace while editing one of your own GitHub projects."
- ],
- "types": [
- "text",
- "string",
- "text",
- "markup.underline",
- "text",
- "string",
- "text",
- "markup.underline",
- "text"
+ "data": [
+ [ "text", "Check out the Ace live [" ],
+ [ "string", "demo" ],
+ [ "text", "](" ],
+ [ "markup.underline", "http://ajaxorg.github.com/ace/" ],
+ [ "text", ") or get a [" ],
+ [ "string", "Cloud9 IDE account" ],
+ [ "text", "](" ],
+ [ "markup.underline", "http://run.cloud9ide.com" ],
+ [ "text", ") to experience Ace while editing one of your own GitHub projects." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "If you want, you can use Ace as a textarea replacement thanks to the [",
- "Ace Bookmarklet",
- "](",
- "http://ajaxorg.github.com/ace/build/textarea/editor.html",
- ")."
- ],
- "types": [
- "text",
- "string",
- "text",
- "markup.underline",
- "text"
+ "data": [
+ [ "text", "If you want, you can use Ace as a textarea replacement thanks to the [" ],
+ [ "string", "Ace Bookmarklet" ],
+ [ "text", "](" ],
+ [ "markup.underline", "http://ajaxorg.github.com/ace/build/textarea/editor.html" ],
+ [ "text", ")." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "History"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "History" ]
]
},
{
"state": "start",
- "values": [
- "-------"
- ],
- "types": [
- "markup.heading.1"
+ "data": [
+ [ "markup.heading.2", "-------" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Previously known as “Bespin” and “Skywriter” it’s now known as Ace (Ajax.org Cloud9 Editor)! Bespin and Ace started as two independent projects, both aiming to build a no-compromise code editor component for the web. Bespin started as part of Mozilla Labs and was based on the canvas tag, while Ace is the Editor component of the Cloud9 IDE and is using the DOM for rendering. After the release of Ace at JSConf.eu 2010 in Berlin the Skywriter team decided to merge Ace with a simplified version of Skywriter's plugin system and some of Skywriter's extensibility points. All these changes have been merged back to Ace. Both Ajax.org and Mozilla are actively developing and maintaining Ace."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Previously known as “Bespin” and “Skywriter” it’s now known as Ace (Ajax.org Cloud9 Editor)! Bespin and Ace started as two independent projects, both aiming to build a no-compromise code editor component for the web. Bespin started as part of Mozilla Labs and was based on the canvas tag, while Ace is the Editor component of the Cloud9 IDE and is using the DOM for rendering. After the release of Ace at JSConf.eu 2010 in Berlin the Skywriter team decided to merge Ace with a simplified version of Skywriter's plugin system and some of Skywriter's extensibility points. All these changes have been merged back to Ace. Both Ajax.org and Mozilla are actively developing and maintaining Ace." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Getting the code"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Getting the code" ]
]
},
{
"state": "start",
- "values": [
- "----------------"
- ],
- "types": [
- "markup.heading.1"
+ "data": [
+ [ "markup.heading.2", "----------------" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Ace is a community project. We actively encourage and support contributions. The Ace source code is hosted on GitHub. It is released under the Mozilla tri-license (MPL/GPL/LGPL), the same license used by Firefox. This license is friendly to all kinds of projects, whether open source or not. Take charge of your editor and add your favorite language highlighting and keybindings!"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Ace is a community project. We actively encourage and support contributions. The Ace source code is hosted on GitHub. It is released under the BSD License. This license is very simple, and is friendly to all kinds of projects, whether open source or not. Take charge of your editor and add your favorite language highlighting and keybindings!" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "githubblock",
- "values": [
- "```bash"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```bash" ]
]
},
{
"state": "githubblock",
- "values": [
- " git clone git://github.com/ajaxorg/ace.git"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", " git clone git://github.com/ajaxorg/ace.git" ]
]
},
{
"state": "githubblock",
- "values": [
- " cd ace"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", " cd ace" ]
]
},
{
"state": "githubblock",
- "values": [
- " git submodule update --init --recursive"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", " git submodule update --init --recursive" ]
]
},
{
"state": "start",
- "values": [
- "```"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Embedding Ace"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Embedding Ace" ]
]
},
{
"state": "start",
- "values": [
- "-------------"
- ],
- "types": [
- "markup.heading.1"
+ "data": [
+ [ "markup.heading.2", "-------------" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Ace can be easily embedded into any existing web page. The Ace git repository ships with a pre-packaged version of Ace inside of the ",
- "`",
- "build",
- "`",
- " directory. The same packaged files are also available as a separate [",
- "download",
- "](",
- "https://github.com/ajaxorg/ace/downloads",
- "). Simply copy the contents of the ",
- "`",
- "src",
- "`",
- " subdirectory somewhere into your project and take a look at the included demos of how to use Ace."
- ],
- "types": [
- "text",
- "support.function",
- "support.function",
- "support.function",
- "text",
- "string",
- "text",
- "markup.underline",
- "text",
- "support.function",
- "support.function",
- "support.function",
- "text"
+ "data": [
+ [ "text", "Ace can be easily embedded into any existing web page. The Ace git repository ships with a pre-packaged version of Ace inside of the " ],
+ [ "support.function", "`" ],
+ [ "support.function", "build" ],
+ [ "support.function", "`" ],
+ [ "text", " directory. The same packaged files are also available as a separate [" ],
+ [ "string", "download" ],
+ [ "text", "](" ],
+ [ "markup.underline", "https://github.com/ajaxorg/ace/downloads" ],
+ [ "text", "). Simply copy the contents of the " ],
+ [ "support.function", "`" ],
+ [ "support.function", "src" ],
+ [ "support.function", "`" ],
+ [ "text", " subdirectory somewhere into your project and take a look at the included demos of how to use Ace." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "The easiest version is simply:"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "The easiest version is simply:" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "html-start",
- "values": [
- "```html"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```html" ]
]
},
{
"state": "html-start",
- "values": [
- " ",
- "<",
- "div",
- " ",
- "id",
- "=",
- "\"editor\"",
- ">",
- "some text",
- "",
- "div",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "id" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"editor\"" ],
+ [ "meta.tag", ">" ],
+ [ "text", "some text" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "div" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "html-start",
- "values": [
- " ",
- "<",
- "script",
- " ",
- "src",
- "=",
- "\"src/ace.js\"",
- " ",
- "type",
- "=",
- "\"text/javascript\"",
- " ",
- "charset",
- "=",
- "\"utf-8\"",
- ">",
- "",
- "script",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name.script",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name.script",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.script", "script" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "src" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"src/ace.js\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "type" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"text/javascript\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "charset" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"utf-8\"" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.script", "script" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "html-js-start",
- "values": [
- " ",
- "<",
- "script",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name.script",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.script", "script" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "html-js-regex_allowed",
- "values": [
- " ",
- "window",
- ".",
- "onload",
- " ",
- "=",
- " ",
- "function",
- "(",
- ")",
- " ",
- "{"
- ],
- "types": [
- "text",
- "storage.type",
- "punctuation.operator",
- "entity.name.function",
- "text",
- "keyword.operator",
- "text",
- "storage.type",
- "paren.lparen",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "storage.type", "window" ],
+ [ "punctuation.operator", "." ],
+ [ "entity.name.function", "onload" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "storage.type", "function" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "html-js-regex_allowed",
- "values": [
- " ",
- "var",
- " ",
- "editor",
- " ",
- "=",
- " ",
- "ace",
- ".",
- "edit",
- "(",
- "\"editor\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "storage.type",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "punctuation.operator",
- "identifier",
- "paren.lparen",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "storage.type", "var" ],
+ [ "text", " " ],
+ [ "identifier", "editor" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "ace" ],
+ [ "punctuation.operator", "." ],
+ [ "identifier", "edit" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"editor\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "html-js-regex_allowed",
- "values": [
- " ",
- "}",
- ";"
- ],
- "types": [
- "text",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "html-start",
- "values": [
- " ",
- "",
- "script",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name.script",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.script", "script" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "```"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "With \"editor\" being the id of the DOM element, which should be converted to an editor. Note that this element must be explicitly sized and positioned ",
- "`",
- "absolute",
- "`",
- " or ",
- "`",
- "relative",
- "`",
- " for Ace to work. e.g."
- ],
- "types": [
- "text",
- "support.function",
- "support.function",
- "support.function",
- "text",
- "support.function",
- "support.function",
- "support.function",
- "text"
+ "data": [
+ [ "text", "With \"editor\" being the id of the DOM element, which should be converted to an editor. Note that this element must be explicitly sized and positioned " ],
+ [ "support.function", "`" ],
+ [ "support.function", "absolute" ],
+ [ "support.function", "`" ],
+ [ "text", " or " ],
+ [ "support.function", "`" ],
+ [ "support.function", "relative" ],
+ [ "support.function", "`" ],
+ [ "text", " for Ace to work. e.g." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "css-start",
- "values": [
- "```css"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```css" ]
]
},
{
"state": "css-ruleset",
- "values": [
- " ",
- "#editor",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "#editor" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "css-ruleset",
- "values": [
- " ",
- "position",
- ": ",
- "absolute",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "support.constant",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "position" ],
+ [ "text", ": " ],
+ [ "support.constant", "absolute" ],
+ [ "text", ";" ]
]
},
{
"state": "css-ruleset",
- "values": [
- " ",
- "width",
- ": ",
- "500",
- "px",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "constant.numeric",
- "keyword",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "width" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "500" ],
+ [ "keyword", "px" ],
+ [ "text", ";" ]
]
},
{
"state": "css-ruleset",
- "values": [
- " ",
- "height",
- ": ",
- "400",
- "px",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "constant.numeric",
- "keyword",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "height" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "400" ],
+ [ "keyword", "px" ],
+ [ "text", ";" ]
]
},
{
"state": "css-start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "```"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "To change the theme simply include the Theme's JavaScript file"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "To change the theme simply include the Theme's JavaScript file" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "html-start",
- "values": [
- "```html"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```html" ]
]
},
{
"state": "html-start",
- "values": [
- " ",
- "<",
- "script",
- " ",
- "src",
- "=",
- "\"src/theme-twilight.js\"",
- " ",
- "type",
- "=",
- "\"text/javascript\"",
- " ",
- "charset",
- "=",
- "\"utf-8\"",
- ">",
- "",
- "script",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name.script",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name.script",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.script", "script" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "src" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"src/theme-twilight.js\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "type" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"text/javascript\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "charset" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"utf-8\"" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.script", "script" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "```"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "and configure the editor to use the theme:"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "and configure the editor to use the theme:" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "js-start",
- "values": [
- "```javascript"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```javascript" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "editor",
- ".",
- "setTheme",
- "(",
- "\"ace/theme/twilight\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "punctuation.operator",
- "identifier",
- "paren.lparen",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "editor" ],
+ [ "punctuation.operator", "." ],
+ [ "identifier", "setTheme" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"ace/theme/twilight\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- "```"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "By default the editor only supports plain text mode; many other languages are available as separate modules. After including the mode's JavaScript file:"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "By default the editor only supports plain text mode; many other languages are available as separate modules. After including the mode's JavaScript file:" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "html-start",
- "values": [
- "```html"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```html" ]
]
},
{
"state": "html-start",
- "values": [
- " ",
- "<",
- "script",
- " ",
- "src",
- "=",
- "\"src/mode-javascript.js\"",
- " ",
- "type",
- "=",
- "\"text/javascript\"",
- " ",
- "charset",
- "=",
- "\"utf-8\"",
- ">",
- "",
- "script",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name.script",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "meta.tag",
- "meta.tag.tag-name.script",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name.script", "script" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "src" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"src/mode-javascript.js\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "type" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"text/javascript\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "charset" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"utf-8\"" ],
+ [ "meta.tag", ">" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name.script", "script" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "```"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Then the mode can be used like this:"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Then the mode can be used like this:" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "js-start",
- "values": [
- "```javascript"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```javascript" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "var",
- " ",
- "JavaScriptMode",
- " ",
- "=",
- " ",
- "require",
- "(",
- "\"ace/mode/javascript\"",
- ")",
- ".",
- "Mode",
- ";"
- ],
- "types": [
- "text",
- "storage.type",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "paren.lparen",
- "string",
- "paren.rparen",
- "punctuation.operator",
- "identifier",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "storage.type", "var" ],
+ [ "text", " " ],
+ [ "identifier", "JavaScriptMode" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "require" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"ace/mode/javascript\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", "." ],
+ [ "identifier", "Mode" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "editor",
- ".",
- "getSession",
- "(",
- ")",
- ".",
- "setMode",
- "(",
- "new",
- " ",
- "JavaScriptMode",
- "(",
- ")",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "punctuation.operator",
- "identifier",
- "paren.lparen",
- "paren.rparen",
- "punctuation.operator",
- "identifier",
- "paren.lparen",
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "paren.rparen",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "editor" ],
+ [ "punctuation.operator", "." ],
+ [ "identifier", "getSession" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", "." ],
+ [ "identifier", "setMode" ],
+ [ "paren.lparen", "(" ],
+ [ "keyword", "new" ],
+ [ "text", " " ],
+ [ "identifier", "JavaScriptMode" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "start",
- "values": [
- "```"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Documentation"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Documentation" ]
]
},
{
"state": "start",
- "values": [
- "-------------"
- ],
- "types": [
- "markup.heading.1"
+ "data": [
+ [ "markup.heading.2", "-------------" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "You find a lot more sample code in the [",
- "demo app",
- "](",
- "https://github.com/ajaxorg/ace/blob/master/demo/demo.js",
- ")."
- ],
- "types": [
- "text",
- "string",
- "text",
- "markup.underline",
- "text"
+ "data": [
+ [ "text", "You find a lot more sample code in the [" ],
+ [ "string", "demo app" ],
+ [ "text", "](" ],
+ [ "markup.underline", "https://github.com/ajaxorg/ace/blob/master/demo/demo.js" ],
+ [ "text", ")." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "There is also some documentation on the [",
- "wiki page",
- "](",
- "https://github.com/ajaxorg/ace/wiki",
- ")."
- ],
- "types": [
- "text",
- "string",
- "text",
- "markup.underline",
- "text"
+ "data": [
+ [ "text", "There is also some documentation on the [" ],
+ [ "string", "wiki page" ],
+ [ "text", "](" ],
+ [ "markup.underline", "https://github.com/ajaxorg/ace/wiki" ],
+ [ "text", ")." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "If you still need help, feel free to drop a mail on the [",
- "ace mailing list",
- "](",
- "http://groups.google.com/group/ace-discuss",
- ")."
- ],
- "types": [
- "text",
- "string",
- "text",
- "markup.underline",
- "text"
+ "data": [
+ [ "text", "If you still need help, feel free to drop a mail on the [" ],
+ [ "string", "ace mailing list" ],
+ [ "text", "](" ],
+ [ "markup.underline", "http://groups.google.com/group/ace-discuss" ],
+ [ "text", ")." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Running Ace"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Running Ace" ]
]
},
{
"state": "start",
- "values": [
- "-----------"
- ],
- "types": [
- "markup.heading.1"
+ "data": [
+ [ "markup.heading.2", "-----------" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "After the checkout Ace works out of the box. No build step is required. Open 'editor.html' in any browser except Google Chrome. Google Chrome doesn't allow XMLHTTPRequests from files loaded from disc (i.e. with a file:/// URL). To open Ace in Chrome simply start the bundled mini HTTP server:"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "After the checkout Ace works out of the box. No build step is required. Open 'editor.html' in any browser except Google Chrome. Google Chrome doesn't allow XMLHTTPRequests from files loaded from disc (i.e. with a file:/// URL). To open Ace in Chrome simply start the bundled mini HTTP server:" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "githubblock",
- "values": [
- "```bash"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```bash" ]
]
},
{
"state": "githubblock",
- "values": [
- " ./static.py"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", " ./static.py" ]
]
},
{
"state": "start",
- "values": [
- "```"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Or using Node.JS"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Or using Node.JS" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "githubblock",
- "values": [
- "```bash"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```bash" ]
]
},
{
"state": "githubblock",
- "values": [
- " ./static.js"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", " ./static.js" ]
]
},
{
"state": "start",
- "values": [
- "```"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "The editor can then be opened at http://localhost:8888/index.html."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "The editor can then be opened at http://localhost:8888/index.html." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Package Ace"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Package Ace" ]
]
},
{
"state": "start",
- "values": [
- "-----------"
- ],
- "types": [
- "markup.heading.1"
+ "data": [
+ [ "markup.heading.2", "-----------" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "To package Ace we use the dryice build tool developed by the Mozilla Skywriter team. Before you can build you need to make sure that the submodules are up to date."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "To package Ace we use the dryice build tool developed by the Mozilla Skywriter team. Before you can build you need to make sure that the submodules are up to date." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "githubblock",
- "values": [
- "```bash"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```bash" ]
]
},
{
"state": "githubblock",
- "values": [
- " git submodule update --init --recursive"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", " git submodule update --init --recursive" ]
]
},
{
"state": "start",
- "values": [
- "```"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Afterwards Ace can be built by calling"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Afterwards Ace can be built by calling" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "githubblock",
- "values": [
- "```bash"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```bash" ]
]
},
{
"state": "githubblock",
- "values": [
- " ./Makefile.dryice.js normal"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", " ./Makefile.dryice.js normal" ]
]
},
{
"state": "start",
- "values": [
- "```"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "The packaged Ace will be put in the 'build' folder."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "The packaged Ace will be put in the 'build' folder." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "To build the bookmarklet version execute"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "To build the bookmarklet version execute" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "githubblock",
- "values": [
- "```bash"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```bash" ]
]
},
{
"state": "githubblock",
- "values": [
- " ./Makefile.dryice.js bm"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", " ./Makefile.dryice.js bm" ]
]
},
{
"state": "start",
- "values": [
- "```"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Running the Unit Tests"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Running the Unit Tests" ]
]
},
{
"state": "start",
- "values": [
- "----------------------"
- ],
- "types": [
- "markup.heading.1"
+ "data": [
+ [ "markup.heading.2", "----------------------" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "The Ace unit tests run on node.js. Before the first run a couple of node modules have to be installed. The easiest way to do this is by using the node package manager (npm). In the Ace base directory simply call"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "The Ace unit tests run on node.js. Before the first run a couple of node modules have to be installed. The easiest way to do this is by using the node package manager (npm). In the Ace base directory simply call" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "githubblock",
- "values": [
- "```bash"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```bash" ]
]
},
{
"state": "githubblock",
- "values": [
- " npm link ."
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", " npm link ." ]
]
},
{
"state": "start",
- "values": [
- "```"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "To run the tests call:"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "To run the tests call:" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "githubblock",
- "values": [
- "```bash"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```bash" ]
]
},
{
"state": "githubblock",
- "values": [
- " node lib/ace/test/all.js"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", " node lib/ace/test/all.js" ]
]
},
{
"state": "start",
- "values": [
- "```"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", "```" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "You can also run the tests in your browser by serving:"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "You can also run the tests in your browser by serving:" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " http://localhost:8888/lib/ace/test/tests.html"
- ],
- "types": [
- "support.function"
+ "data": [
+ [ "support.function", " http://localhost:8888/lib/ace/test/tests.html" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "This makes debugging failing tests way more easier."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "This makes debugging failing tests way more easier." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Contributing"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Contributing" ]
]
},
{
"state": "start",
- "values": [
- "------------"
- ],
- "types": [
- "markup.heading.1"
+ "data": [
+ [ "markup.heading.2", "------------" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Ace wouldn't be what it is without contributions! Feel free to fork and improve/enhance Ace any way you want. If you feel that the editor or the Ace community will benefit from your changes, please open a pull request. To protect the interests of the Ace contributors and users we require contributors to sign a Contributors License Agreement (CLA) before we pull the changes into the main repository. Our CLA is the simplest of agreements, requiring that the contributions you make to an ajax.org project are only those you're allowed to make. This helps us significantly reduce future legal risk for everyone involved. It is easy, helps everyone, takes ten minutes, and only needs to be completed once. There are two versions of the agreement:"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Ace wouldn't be what it is without contributions! Feel free to fork and improve/enhance Ace any way you want. If you feel that the editor or the Ace community will benefit from your changes, please open a pull request. To protect the interests of the Ace contributors and users we require contributors to sign a Contributors License Agreement (CLA) before we pull the changes into the main repository. Our CLA is the simplest of agreements, requiring that the contributions you make to an ajax.org project are only those you're allowed to make. This helps us significantly reduce future legal risk for everyone involved. It is easy, helps everyone, takes ten minutes, and only needs to be completed once. There are two versions of the agreement:" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "listblock",
- "values": [
- "1. ",
- "[The Individual CLA](https://github.com/ajaxorg/ace/raw/master/doc/Contributor_License_Agreement-v2.pdf): use this version if you're working on an ajax.org in your spare time, or can clearly claim ownership of copyright in what you'll be submitting."
- ],
- "types": [
- "markup.list",
- "markup.list"
+ "data": [
+ [ "markup.list", "1. " ],
+ [ "markup.list", "[The Individual CLA](https://github.com/ajaxorg/ace/raw/master/doc/Contributor_License_Agreement-v2.pdf): use this version if you're working on an ajax.org in your spare time, or can clearly claim ownership of copyright in what you'll be submitting." ]
]
},
{
"state": "listblock",
- "values": [
- "2. [The Corporate CLA](https://github.com/ajaxorg/ace/raw/master/doc/Corporate_Contributor_License_Agreement-v2.pdf): have your corporate lawyer review and submit this if your company is going to be contributing to ajax.org projects"
- ],
- "types": [
- "markup.list"
+ "data": [
+ [ "markup.list", "2. [The Corporate CLA](https://github.com/ajaxorg/ace/raw/master/doc/Corporate_Contributor_License_Agreement-v2.pdf): have your corporate lawyer review and submit this if your company is going to be contributing to ajax.org projects" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "If you want to contribute to an ajax.org project please print the CLA and fill it out and sign it. Then either send it by snail mail or fax to us or send it back scanned (or as a photo) by email."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "If you want to contribute to an ajax.org project please print the CLA and fill it out and sign it. Then either send it by snail mail or fax to us or send it back scanned (or as a photo) by email." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Email: fabian.jakobs@web.de"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Email: fabian.jakobs@web.de" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Fax: +31 (0) 206388953"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Fax: +31 (0) 206388953" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Address: Ajax.org B.V."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Address: Ajax.org B.V." ]
]
},
{
"state": "start",
- "values": [
- " Keizersgracht 241"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " Keizersgracht 241" ]
]
},
{
"state": "start",
- "values": [
- " 1016 EA, Amsterdam"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " 1016 EA, Amsterdam" ]
]
},
{
"state": "start",
- "values": [
- " the Netherlands"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " the Netherlands" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_ocaml.json b/lib/ace/mode/_test/tokens_ocaml.json
index 8b3b2fb1..fa5055c4 100644
--- a/lib/ace/mode/_test/tokens_ocaml.json
+++ b/lib/ace/mode/_test/tokens_ocaml.json
@@ -1,464 +1,260 @@
[
{
"state": "comment",
- "values": [
- "(*"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "(*" ]
]
},
{
"state": "comment",
- "values": [
- " * Example of early return implementation taken from"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", " * Example of early return implementation taken from" ]
]
},
{
"state": "comment",
- "values": [
- " * http://ocaml.janestreet.com/?q=node/91"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", " * http://ocaml.janestreet.com/?q=node/91" ]
]
},
{
"state": "start",
- "values": [
- " *)"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", " *)" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "let",
- " ",
- "with_return",
- " ",
- "(",
- "type",
- " ",
- "t",
- ")",
- " ",
- "(",
- "f",
- " : ",
- "_",
- " ",
- "-",
- ">",
- " ",
- "t",
- ")",
- " ",
- "="
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "identifier",
- "paren.rparen",
- "text",
- "paren.lparen",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "identifier",
- "paren.rparen",
- "text",
- "keyword.operator"
+ "data": [
+ [ "keyword", "let" ],
+ [ "text", " " ],
+ [ "identifier", "with_return" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "keyword", "type" ],
+ [ "text", " " ],
+ [ "identifier", "t" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "f" ],
+ [ "text", " : " ],
+ [ "identifier", "_" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "identifier", "t" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "let",
- " ",
- "module",
- " ",
- "M",
- " ",
- "="
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "let" ],
+ [ "text", " " ],
+ [ "keyword", "module" ],
+ [ "text", " " ],
+ [ "identifier", "M" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "struct",
- " ",
- "exception",
- " ",
- "Return",
- " ",
- "of",
- " ",
- "t",
- " ",
- "end"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "struct" ],
+ [ "text", " " ],
+ [ "keyword", "exception" ],
+ [ "text", " " ],
+ [ "identifier", "Return" ],
+ [ "text", " " ],
+ [ "keyword", "of" ],
+ [ "text", " " ],
+ [ "identifier", "t" ],
+ [ "text", " " ],
+ [ "keyword", "end" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "in"
- ],
- "types": [
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "in" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "let",
- " ",
- "return",
- " ",
- "=",
- " ",
- "{",
- " ",
- "return",
- " ",
- "=",
- " ",
- "(",
- "fun",
- " ",
- "x",
- " ",
- "-",
- ">",
- " ",
- "raise",
- " ",
- "(",
- "M",
- ".",
- "Return",
- " ",
- "x",
- ")",
- ")",
- "; ",
- "}",
- " ",
- "in"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "paren.lparen",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "support.function",
- "text",
- "paren.lparen",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "paren.rparen",
- "paren.rparen",
- "text",
- "paren.rparen",
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "let" ],
+ [ "text", " " ],
+ [ "identifier", "return" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ],
+ [ "text", " " ],
+ [ "identifier", "return" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "keyword", "fun" ],
+ [ "text", " " ],
+ [ "identifier", "x" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "support.function", "raise" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "M" ],
+ [ "text", "." ],
+ [ "identifier", "Return" ],
+ [ "text", " " ],
+ [ "identifier", "x" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.rparen", ")" ],
+ [ "text", "; " ],
+ [ "paren.rparen", "}" ],
+ [ "text", " " ],
+ [ "keyword", "in" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "try",
- " ",
- "f",
- " ",
- "return",
- " ",
- "with",
- " ",
- "M",
- ".",
- "Return",
- " ",
- "x",
- " ",
- "-",
- ">",
- " ",
- "x"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "try" ],
+ [ "text", " " ],
+ [ "identifier", "f" ],
+ [ "text", " " ],
+ [ "identifier", "return" ],
+ [ "text", " " ],
+ [ "keyword", "with" ],
+ [ "text", " " ],
+ [ "identifier", "M" ],
+ [ "text", "." ],
+ [ "identifier", "Return" ],
+ [ "text", " " ],
+ [ "identifier", "x" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "identifier", "x" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "(* Function that uses the 'early return' functionality provided by `with_return` *)"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "(* Function that uses the 'early return' functionality provided by `with_return` *)" ]
]
},
{
"state": "start",
- "values": [
- "let",
- " ",
- "sum_until_first_negative",
- " ",
- "list",
- " ",
- "="
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "support.function",
- "text",
- "keyword.operator"
+ "data": [
+ [ "keyword", "let" ],
+ [ "text", " " ],
+ [ "identifier", "sum_until_first_negative" ],
+ [ "text", " " ],
+ [ "support.function", "list" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "with_return",
- " ",
- "(",
- "fun",
- " ",
- "r",
- " ",
- "-",
- ">"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "with_return" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "keyword", "fun" ],
+ [ "text", " " ],
+ [ "identifier", "r" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "keyword.operator", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "List",
- ".",
- "fold",
- " ",
- "list",
- " ",
- "~",
- "init",
- ":",
- "0",
- " ",
- "~",
- "f",
- ":",
- "(",
- "fun",
- " ",
- "acc",
- " ",
- "x",
- " ",
- "-",
- ">"
- ],
- "types": [
- "text",
- "support.function",
- "text",
- "support.function",
- "text",
- "support.function",
- "text",
- "keyword.operator",
- "support.function",
- "text",
- "constant.numeric",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator"
+ "data": [
+ [ "text", " " ],
+ [ "support.function", "List" ],
+ [ "text", "." ],
+ [ "support.function", "fold" ],
+ [ "text", " " ],
+ [ "support.function", "list" ],
+ [ "text", " " ],
+ [ "keyword.operator", "~" ],
+ [ "support.function", "init" ],
+ [ "text", ":" ],
+ [ "constant.numeric", "0" ],
+ [ "text", " " ],
+ [ "keyword.operator", "~" ],
+ [ "identifier", "f" ],
+ [ "text", ":" ],
+ [ "paren.lparen", "(" ],
+ [ "keyword", "fun" ],
+ [ "text", " " ],
+ [ "identifier", "acc" ],
+ [ "text", " " ],
+ [ "identifier", "x" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "keyword.operator", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "if",
- " ",
- "x",
- " ",
- ">",
- "=",
- " ",
- "0",
- " ",
- "then",
- " ",
- "acc",
- " ",
- "+",
- " ",
- "x",
- " ",
- "else",
- " ",
- "r",
- ".",
- "return",
- " ",
- "acc",
- ")",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "constant.numeric",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "paren.rparen",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "identifier", "x" ],
+ [ "text", " " ],
+ [ "keyword.operator", ">" ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ],
+ [ "text", " " ],
+ [ "keyword", "then" ],
+ [ "text", " " ],
+ [ "identifier", "acc" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "identifier", "x" ],
+ [ "text", " " ],
+ [ "keyword", "else" ],
+ [ "text", " " ],
+ [ "identifier", "r" ],
+ [ "text", "." ],
+ [ "identifier", "return" ],
+ [ "text", " " ],
+ [ "identifier", "acc" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.rparen", ")" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_perl.json b/lib/ace/mode/_test/tokens_perl.json
index 4a847f4b..fb33da27 100644
--- a/lib/ace/mode/_test/tokens_perl.json
+++ b/lib/ace/mode/_test/tokens_perl.json
@@ -1,521 +1,311 @@
[
{
"state": "start",
- "values": [
- "#!/usr/bin/perl"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "#!/usr/bin/perl" ]
]
},
{
"state": "start",
- "values": [
- "use",
- " ",
- "strict",
- ";"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "keyword", "use" ],
+ [ "text", " " ],
+ [ "identifier", "strict" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "use",
- " ",
- "warnings",
- ";"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "keyword", "use" ],
+ [ "text", " " ],
+ [ "identifier", "warnings" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "my",
- " ",
- "$num_primes",
- " ",
- "=",
- " ",
- "0",
- ";"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "text"
+ "data": [
+ [ "keyword", "my" ],
+ [ "text", " " ],
+ [ "identifier", "$num_primes" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "my",
- " @",
- "primes",
- ";"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "keyword", "my" ],
+ [ "text", " @" ],
+ [ "identifier", "primes" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "# Put 2 as the first prime so we won't have an empty array"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "# Put 2 as the first prime so we won't have an empty array" ]
]
},
{
"state": "start",
- "values": [
- "$primes",
- "[",
- "$num_primes",
- "]",
- " ",
- "=",
- " ",
- "2",
- ";"
- ],
- "types": [
- "identifier",
- "lparen",
- "identifier",
- "rparen",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "text"
+ "data": [
+ [ "identifier", "$primes" ],
+ [ "lparen", "[" ],
+ [ "identifier", "$num_primes" ],
+ [ "rparen", "]" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.numeric", "2" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "$num_primes",
- "++",
- ";"
- ],
- "types": [
- "identifier",
- "keyword.operator",
- "text"
+ "data": [
+ [ "identifier", "$num_primes" ],
+ [ "keyword.operator", "++" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "MAIN_LOOP",
- ":"
- ],
- "types": [
- "identifier",
- "text"
+ "data": [
+ [ "identifier", "MAIN_LOOP" ],
+ [ "text", ":" ]
]
},
{
"state": "start",
- "values": [
- "for",
- " ",
- "my",
- " ",
- "$number_to_check",
- " ",
- "(",
- "3",
- " ",
- "..",
- " ",
- "200",
- ")"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "lparen",
- "constant.numeric",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "rparen"
+ "data": [
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "keyword", "my" ],
+ [ "text", " " ],
+ [ "identifier", "$number_to_check" ],
+ [ "text", " " ],
+ [ "lparen", "(" ],
+ [ "constant.numeric", "3" ],
+ [ "text", " " ],
+ [ "keyword.operator", ".." ],
+ [ "text", " " ],
+ [ "constant.numeric", "200" ],
+ [ "rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "{"
- ],
- "types": [
- "lparen"
+ "data": [
+ [ "lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "for",
- " ",
- "my",
- " ",
- "$p",
- " ",
- "(",
- "0",
- " ",
- "..",
- " ",
- "(",
- "$num_primes",
- "-1",
- ")",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "lparen",
- "constant.numeric",
- "text",
- "keyword.operator",
- "text",
- "lparen",
- "identifier",
- "constant.numeric",
- "rparen",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "keyword", "my" ],
+ [ "text", " " ],
+ [ "identifier", "$p" ],
+ [ "text", " " ],
+ [ "lparen", "(" ],
+ [ "constant.numeric", "0" ],
+ [ "text", " " ],
+ [ "keyword.operator", ".." ],
+ [ "text", " " ],
+ [ "lparen", "(" ],
+ [ "identifier", "$num_primes" ],
+ [ "constant.numeric", "-1" ],
+ [ "rparen", ")" ],
+ [ "rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{"
- ],
- "types": [
- "text",
- "lparen"
+ "data": [
+ [ "text", " " ],
+ [ "lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "if",
- " ",
- "(",
- "$number_to_check",
- " ",
- "%",
- " ",
- "$primes",
- "[",
- "$p",
- "]",
- " ",
- "==",
- " ",
- "0",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "lparen",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "rparen",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "lparen", "(" ],
+ [ "identifier", "$number_to_check" ],
+ [ "text", " " ],
+ [ "keyword.operator", "%" ],
+ [ "text", " " ],
+ [ "identifier", "$primes" ],
+ [ "lparen", "[" ],
+ [ "identifier", "$p" ],
+ [ "rparen", "]" ],
+ [ "text", " " ],
+ [ "keyword.operator", "==" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ],
+ [ "rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "{"
- ],
- "types": [
- "text",
- "lparen"
+ "data": [
+ [ "text", " " ],
+ [ "lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "next",
- " ",
- "MAIN_LOOP",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "next" ],
+ [ "text", " " ],
+ [ "identifier", "MAIN_LOOP" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " ",
- "# If we reached this point it means $number_to_check is not"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "# If we reached this point it means $number_to_check is not" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "# divisable by any prime number that came before it."
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "# divisable by any prime number that came before it." ]
]
},
{
"state": "start",
- "values": [
- " ",
- "$primes",
- "[",
- "$num_primes",
- "]",
- " ",
- "=",
- " ",
- "$number_to_check",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "lparen",
- "identifier",
- "rparen",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "$primes" ],
+ [ "lparen", "[" ],
+ [ "identifier", "$num_primes" ],
+ [ "rparen", "]" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "$number_to_check" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "$num_primes",
- "++",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "keyword.operator",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "$num_primes" ],
+ [ "keyword.operator", "++" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "rparen"
+ "data": [
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "for",
- " ",
- "my",
- " ",
- "$p",
- " ",
- "(",
- "0",
- " ",
- "..",
- " ",
- "(",
- "$num_primes",
- "-1",
- ")",
- ")"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "lparen",
- "constant.numeric",
- "text",
- "keyword.operator",
- "text",
- "lparen",
- "identifier",
- "constant.numeric",
- "rparen",
- "rparen"
+ "data": [
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "keyword", "my" ],
+ [ "text", " " ],
+ [ "identifier", "$p" ],
+ [ "text", " " ],
+ [ "lparen", "(" ],
+ [ "constant.numeric", "0" ],
+ [ "text", " " ],
+ [ "keyword.operator", ".." ],
+ [ "text", " " ],
+ [ "lparen", "(" ],
+ [ "identifier", "$num_primes" ],
+ [ "constant.numeric", "-1" ],
+ [ "rparen", ")" ],
+ [ "rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "{"
- ],
- "types": [
- "lparen"
+ "data": [
+ [ "lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "print",
- " ",
- "$primes",
- "[",
- "$p",
- "]",
- ",",
- " ",
- "\", \"",
- ";"
- ],
- "types": [
- "text",
- "support.function",
- "text",
- "identifier",
- "lparen",
- "identifier",
- "rparen",
- "keyword.operator",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.function", "print" ],
+ [ "text", " " ],
+ [ "identifier", "$primes" ],
+ [ "lparen", "[" ],
+ [ "identifier", "$p" ],
+ [ "rparen", "]" ],
+ [ "keyword.operator", "," ],
+ [ "text", " " ],
+ [ "string", "\", \"" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "rparen"
+ "data": [
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "print",
- " ",
- "\"\\n\"",
- ";"
- ],
- "types": [
- "support.function",
- "text",
- "string",
- "text"
+ "data": [
+ [ "support.function", "print" ],
+ [ "text", " " ],
+ [ "string", "\"\\n\"" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_pgsql.json b/lib/ace/mode/_test/tokens_pgsql.json
index d20500f6..6e663093 100644
--- a/lib/ace/mode/_test/tokens_pgsql.json
+++ b/lib/ace/mode/_test/tokens_pgsql.json
@@ -1,1735 +1,1020 @@
[
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "BEGIN",
- ";"
- ],
- "types": [
- "keyword.statementBegin",
- "statementEnd"
+ "data": [
+ [ "keyword.statementBegin", "BEGIN" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "doc-start",
- "values": [
- "/**"
- ],
- "types": [
- "comment.doc"
+ "data": [
+ [ "comment.doc", "/**" ]
]
},
{
"state": "doc-start",
- "values": [
- "* Samples from PostgreSQL src/tutorial/basics.source"
- ],
- "types": [
- "comment.doc"
+ "data": [
+ [ "comment.doc", "* Samples from PostgreSQL src/tutorial/basics.source" ]
]
},
{
"state": "start",
- "values": [
- "*/"
- ],
- "types": [
- "comment.doc"
+ "data": [
+ [ "comment.doc", "*/" ]
]
},
{
"state": "statement",
- "values": [
- "CREATE",
- " ",
- "TABLE",
- " ",
- "weather",
- " ",
- "("
- ],
- "types": [
- "keyword.statementBegin",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen"
+ "data": [
+ [ "keyword.statementBegin", "CREATE" ],
+ [ "text", " " ],
+ [ "keyword", "TABLE" ],
+ [ "text", " " ],
+ [ "identifier", "weather" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ]
]
},
{
"state": "statement",
- "values": [
- "\t",
- "city",
- "\t\t",
- "varchar",
- "(",
- "80",
- ")",
- ","
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword",
- "paren.lparen",
- "constant.numeric",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", "\t" ],
+ [ "identifier", "city" ],
+ [ "text", "\t\t" ],
+ [ "keyword", "varchar" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "80" ],
+ [ "paren.rparen", ")" ],
+ [ "text", "," ]
]
},
{
"state": "statement",
- "values": [
- "\t",
- "temp_lo",
- "\t\t",
- "int",
- ",\t\t",
- "-- low temperature"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "comment"
+ "data": [
+ [ "text", "\t" ],
+ [ "identifier", "temp_lo" ],
+ [ "text", "\t\t" ],
+ [ "keyword", "int" ],
+ [ "text", ",\t\t" ],
+ [ "comment", "-- low temperature" ]
]
},
{
"state": "statement",
- "values": [
- "\t",
- "temp_hi",
- "\t\t",
- "int",
- ",\t\t",
- "-- high temperature"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "comment"
+ "data": [
+ [ "text", "\t" ],
+ [ "identifier", "temp_hi" ],
+ [ "text", "\t\t" ],
+ [ "keyword", "int" ],
+ [ "text", ",\t\t" ],
+ [ "comment", "-- high temperature" ]
]
},
{
"state": "statement",
- "values": [
- "\t",
- "prcp",
- "\t\t",
- "real",
- ",\t\t",
- "-- precipitation"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "comment"
+ "data": [
+ [ "text", "\t" ],
+ [ "identifier", "prcp" ],
+ [ "text", "\t\t" ],
+ [ "keyword", "real" ],
+ [ "text", ",\t\t" ],
+ [ "comment", "-- precipitation" ]
]
},
{
"state": "statement",
- "values": [
- "\t",
- "\"date\"",
- "\t\t",
- "date"
- ],
- "types": [
- "text",
- "variable.language",
- "text",
- "keyword"
+ "data": [
+ [ "text", "\t" ],
+ [ "variable.language", "\"date\"" ],
+ [ "text", "\t\t" ],
+ [ "keyword", "date" ]
]
},
{
"state": "start",
- "values": [
- ")",
- ";"
- ],
- "types": [
- "paren.rparen",
- "statementEnd"
+ "data": [
+ [ "paren.rparen", ")" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "statement",
- "values": [
- "CREATE",
- " ",
- "TABLE",
- " ",
- "cities",
- " ",
- "("
- ],
- "types": [
- "keyword.statementBegin",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen"
+ "data": [
+ [ "keyword.statementBegin", "CREATE" ],
+ [ "text", " " ],
+ [ "keyword", "TABLE" ],
+ [ "text", " " ],
+ [ "identifier", "cities" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ]
]
},
{
"state": "statement",
- "values": [
- "\t",
- "name",
- "\t\t",
- "varchar",
- "(",
- "80",
- ")",
- ","
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "keyword",
- "paren.lparen",
- "constant.numeric",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "name" ],
+ [ "text", "\t\t" ],
+ [ "keyword", "varchar" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "80" ],
+ [ "paren.rparen", ")" ],
+ [ "text", "," ]
]
},
{
"state": "statement",
- "values": [
- "\t",
- "location",
- "\t",
- "point"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "keyword"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "location" ],
+ [ "text", "\t" ],
+ [ "keyword", "point" ]
]
},
{
"state": "start",
- "values": [
- ")",
- ";"
- ],
- "types": [
- "paren.rparen",
- "statementEnd"
+ "data": [
+ [ "paren.rparen", ")" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "statement",
- "values": [
- "INSERT",
- " ",
- "INTO",
- " ",
- "weather"
- ],
- "types": [
- "keyword.statementBegin",
- "text",
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "keyword.statementBegin", "INSERT" ],
+ [ "text", " " ],
+ [ "keyword", "INTO" ],
+ [ "text", " " ],
+ [ "identifier", "weather" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "VALUES",
- " ",
- "(",
- "'San Francisco'",
- ", ",
- "46",
- ", ",
- "50",
- ", ",
- "0.25",
- ", ",
- "'1994-11-27'",
- ")",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "string",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "string",
- "paren.rparen",
- "statementEnd"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "VALUES" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "string", "'San Francisco'" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "46" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "50" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "0.25" ],
+ [ "text", ", " ],
+ [ "string", "'1994-11-27'" ],
+ [ "paren.rparen", ")" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "statement",
- "values": [
- "INSERT",
- " ",
- "INTO",
- " ",
- "cities"
- ],
- "types": [
- "keyword.statementBegin",
- "text",
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "keyword.statementBegin", "INSERT" ],
+ [ "text", " " ],
+ [ "keyword", "INTO" ],
+ [ "text", " " ],
+ [ "identifier", "cities" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "VALUES",
- " ",
- "(",
- "'San Francisco'",
- ", ",
- "'(-194.0, 53.0)'",
- ")",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "string",
- "text",
- "string",
- "paren.rparen",
- "statementEnd"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "VALUES" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "string", "'San Francisco'" ],
+ [ "text", ", " ],
+ [ "string", "'(-194.0, 53.0)'" ],
+ [ "paren.rparen", ")" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "statement",
- "values": [
- "INSERT",
- " ",
- "INTO",
- " ",
- "weather",
- " ",
- "(",
- "city",
- ", ",
- "temp_lo",
- ", ",
- "temp_hi",
- ", ",
- "prcp",
- ", ",
- "\"date\"",
- ")"
- ],
- "types": [
- "keyword.statementBegin",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "variable.language",
- "paren.rparen"
+ "data": [
+ [ "keyword.statementBegin", "INSERT" ],
+ [ "text", " " ],
+ [ "keyword", "INTO" ],
+ [ "text", " " ],
+ [ "identifier", "weather" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "city" ],
+ [ "text", ", " ],
+ [ "identifier", "temp_lo" ],
+ [ "text", ", " ],
+ [ "identifier", "temp_hi" ],
+ [ "text", ", " ],
+ [ "identifier", "prcp" ],
+ [ "text", ", " ],
+ [ "variable.language", "\"date\"" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "VALUES",
- " ",
- "(",
- "'San Francisco'",
- ", ",
- "43",
- ", ",
- "57",
- ", ",
- "0.0",
- ", ",
- "'1994-11-29'",
- ")",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "string",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "string",
- "paren.rparen",
- "statementEnd"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "VALUES" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "string", "'San Francisco'" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "43" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "57" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "0.0" ],
+ [ "text", ", " ],
+ [ "string", "'1994-11-29'" ],
+ [ "paren.rparen", ")" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "statement",
- "values": [
- "INSERT",
- " ",
- "INTO",
- " ",
- "weather",
- " ",
- "(",
- "date",
- ", ",
- "city",
- ", ",
- "temp_hi",
- ", ",
- "temp_lo",
- ")"
- ],
- "types": [
- "keyword.statementBegin",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "paren.rparen"
+ "data": [
+ [ "keyword.statementBegin", "INSERT" ],
+ [ "text", " " ],
+ [ "keyword", "INTO" ],
+ [ "text", " " ],
+ [ "identifier", "weather" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "keyword", "date" ],
+ [ "text", ", " ],
+ [ "identifier", "city" ],
+ [ "text", ", " ],
+ [ "identifier", "temp_hi" ],
+ [ "text", ", " ],
+ [ "identifier", "temp_lo" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "VALUES",
- " ",
- "(",
- "'1994-11-29'",
- ", ",
- "'Hayward'",
- ", ",
- "54",
- ", ",
- "37",
- ")",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "string",
- "text",
- "string",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "paren.rparen",
- "statementEnd"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "VALUES" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "string", "'1994-11-29'" ],
+ [ "text", ", " ],
+ [ "string", "'Hayward'" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "54" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "37" ],
+ [ "paren.rparen", ")" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "SELECT",
- " ",
- "city",
- ", ",
- "(",
- "temp_hi",
- "+",
- "temp_lo",
- ")",
- "/",
- "2",
- " ",
- "AS",
- " ",
- "temp_avg",
- ", ",
- "\"date\"",
- " ",
- "FROM",
- " ",
- "weather",
- ";"
- ],
- "types": [
- "keyword.statementBegin",
- "text",
- "identifier",
- "text",
- "paren.lparen",
- "identifier",
- "keyword.operator",
- "identifier",
- "paren.rparen",
- "keyword.operator",
- "constant.numeric",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "variable.language",
- "text",
- "keyword",
- "text",
- "identifier",
- "statementEnd"
+ "data": [
+ [ "keyword.statementBegin", "SELECT" ],
+ [ "text", " " ],
+ [ "identifier", "city" ],
+ [ "text", ", " ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "temp_hi" ],
+ [ "keyword.operator", "+" ],
+ [ "identifier", "temp_lo" ],
+ [ "paren.rparen", ")" ],
+ [ "keyword.operator", "/" ],
+ [ "constant.numeric", "2" ],
+ [ "text", " " ],
+ [ "keyword", "AS" ],
+ [ "text", " " ],
+ [ "identifier", "temp_avg" ],
+ [ "text", ", " ],
+ [ "variable.language", "\"date\"" ],
+ [ "text", " " ],
+ [ "keyword", "FROM" ],
+ [ "text", " " ],
+ [ "identifier", "weather" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "statement",
- "values": [
- "SELECT",
- " ",
- "city",
- ", ",
- "temp_lo",
- ", ",
- "temp_hi",
- ", ",
- "prcp",
- ", ",
- "\"date\"",
- ", ",
- "location"
- ],
- "types": [
- "keyword.statementBegin",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "variable.language",
- "text",
- "keyword"
+ "data": [
+ [ "keyword.statementBegin", "SELECT" ],
+ [ "text", " " ],
+ [ "identifier", "city" ],
+ [ "text", ", " ],
+ [ "identifier", "temp_lo" ],
+ [ "text", ", " ],
+ [ "identifier", "temp_hi" ],
+ [ "text", ", " ],
+ [ "identifier", "prcp" ],
+ [ "text", ", " ],
+ [ "variable.language", "\"date\"" ],
+ [ "text", ", " ],
+ [ "keyword", "location" ]
]
},
{
"state": "statement",
- "values": [
- " ",
- "FROM",
- " ",
- "weather",
- ", ",
- "cities"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "FROM" ],
+ [ "text", " " ],
+ [ "identifier", "weather" ],
+ [ "text", ", " ],
+ [ "identifier", "cities" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "WHERE",
- " ",
- "city",
- " ",
- "=",
- " ",
- "name",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "keyword",
- "statementEnd"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "WHERE" ],
+ [ "text", " " ],
+ [ "identifier", "city" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "keyword", "name" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "doc-start",
- "values": [
- "/**"
- ],
- "types": [
- "comment.doc"
+ "data": [
+ [ "comment.doc", "/**" ]
]
},
{
"state": "doc-start",
- "values": [
- "* Dollar quotes starting at the end of the line are colored as SQL unless"
- ],
- "types": [
- "comment.doc"
+ "data": [
+ [ "comment.doc", "* Dollar quotes starting at the end of the line are colored as SQL unless" ]
]
},
{
"state": "doc-start",
- "values": [
- "* a special language tag is used. Pearl and Python are currently implemented"
- ],
- "types": [
- "comment.doc"
+ "data": [
+ [ "comment.doc", "* a special language tag is used. Pearl and Python are currently implemented" ]
]
},
{
"state": "doc-start",
- "values": [
- "* but lots of others are possible."
- ],
- "types": [
- "comment.doc"
+ "data": [
+ [ "comment.doc", "* but lots of others are possible." ]
]
},
{
"state": "start",
- "values": [
- "*/"
- ],
- "types": [
- "comment.doc"
+ "data": [
+ [ "comment.doc", "*/" ]
]
},
{
"state": "statement",
- "values": [
- "create",
- " ",
- "or",
- " ",
- "replace",
- " ",
- "function",
- " ",
- "blob_content_chunked",
- "("
- ],
- "types": [
- "keyword.statementBegin",
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "paren.lparen"
+ "data": [
+ [ "keyword.statementBegin", "create" ],
+ [ "text", " " ],
+ [ "keyword", "or" ],
+ [ "text", " " ],
+ [ "keyword", "replace" ],
+ [ "text", " " ],
+ [ "keyword", "function" ],
+ [ "text", " " ],
+ [ "identifier", "blob_content_chunked" ],
+ [ "paren.lparen", "(" ]
]
},
{
"state": "statement",
- "values": [
- " ",
- "in",
- " ",
- "p_data",
- " ",
- "bytea",
- ", "
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "in" ],
+ [ "text", " " ],
+ [ "identifier", "p_data" ],
+ [ "text", " " ],
+ [ "keyword", "bytea" ],
+ [ "text", ", " ]
]
},
{
"state": "statement",
- "values": [
- " ",
- "in",
- " ",
- "p_chunk",
- " ",
- "integer",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "in" ],
+ [ "text", " " ],
+ [ "identifier", "p_chunk" ],
+ [ "text", " " ],
+ [ "keyword", "integer" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "dollarSql",
- "values": [
- "returns",
- " ",
- "setof",
- " ",
- "bytea",
- " ",
- "as",
- " ",
- "$$"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "string"
+ "data": [
+ [ "keyword", "returns" ],
+ [ "text", " " ],
+ [ "keyword", "setof" ],
+ [ "text", " " ],
+ [ "keyword", "bytea" ],
+ [ "text", " " ],
+ [ "keyword", "as" ],
+ [ "text", " " ],
+ [ "string", "$$" ]
]
},
{
"state": "dollarSql",
- "values": [
- "-- Still SQL comments"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "-- Still SQL comments" ]
]
},
{
"state": "dollarSql",
- "values": [
- "declare"
- ],
- "types": [
- "keyword"
+ "data": [
+ [ "keyword", "declare" ]
]
},
{
"state": "dollarSql",
- "values": [
- "\t",
- "v_size",
- " ",
- "integer",
- " ",
- "=",
- " ",
- "octet_length",
- "(",
- "p_data",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "keyword.operator",
- "text",
- "support.function",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", "\t" ],
+ [ "identifier", "v_size" ],
+ [ "text", " " ],
+ [ "keyword", "integer" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "support.function", "octet_length" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "p_data" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "dollarSql",
- "values": [
- "begin"
- ],
- "types": [
- "keyword"
+ "data": [
+ [ "keyword", "begin" ]
]
},
{
"state": "dollarSql",
- "values": [
- "\t",
- "for",
- " ",
- "i",
- " ",
- "in",
- " ",
- "1",
- "..",
- "v_size",
- " ",
- "by",
- " ",
- "p_chunk",
- " ",
- "loop"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "constant.numeric",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "identifier", "i" ],
+ [ "text", " " ],
+ [ "keyword", "in" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1" ],
+ [ "text", ".." ],
+ [ "identifier", "v_size" ],
+ [ "text", " " ],
+ [ "keyword", "by" ],
+ [ "text", " " ],
+ [ "identifier", "p_chunk" ],
+ [ "text", " " ],
+ [ "identifier", "loop" ]
]
},
{
"state": "dollarSql",
- "values": [
- "\t\t",
- "return",
- " ",
- "next",
- " ",
- "substring",
- "(",
- "p_data",
- " ",
- "from",
- " ",
- "i",
- " ",
- "for",
- " ",
- "p_chunk",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "keyword",
- "paren.lparen",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", "\t\t" ],
+ [ "identifier", "return" ],
+ [ "text", " " ],
+ [ "keyword", "next" ],
+ [ "text", " " ],
+ [ "keyword", "substring" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "p_data" ],
+ [ "text", " " ],
+ [ "keyword", "from" ],
+ [ "text", " " ],
+ [ "identifier", "i" ],
+ [ "text", " " ],
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "identifier", "p_chunk" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "dollarSql",
- "values": [
- "\t",
- "end",
- " ",
- "loop",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "end" ],
+ [ "text", " " ],
+ [ "identifier", "loop" ],
+ [ "text", ";" ]
]
},
{
"state": "dollarSql",
- "values": [
- "end",
- ";"
- ],
- "types": [
- "keyword",
- "text"
+ "data": [
+ [ "keyword", "end" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "$$",
- " ",
- "language",
- " ",
- "plpgsql",
- " ",
- "stable",
- ";"
- ],
- "types": [
- "string",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "statementEnd"
+ "data": [
+ [ "string", "$$" ],
+ [ "text", " " ],
+ [ "keyword", "language" ],
+ [ "text", " " ],
+ [ "identifier", "plpgsql" ],
+ [ "text", " " ],
+ [ "keyword", "stable" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "-- pl/perl"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "-- pl/perl" ]
]
},
{
"state": "perl-start",
- "values": [
- "CREATE",
- " ",
- "FUNCTION",
- " ",
- "perl_max",
- " ",
- "(",
- "integer",
- ", ",
- "integer",
- ")",
- " ",
- "RETURNS",
- " ",
- "integer",
- " ",
- "AS",
- " ",
- "$perl$"
- ],
- "types": [
- "keyword.statementBegin",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "keyword",
- "paren.rparen",
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "string"
+ "data": [
+ [ "keyword.statementBegin", "CREATE" ],
+ [ "text", " " ],
+ [ "keyword", "FUNCTION" ],
+ [ "text", " " ],
+ [ "identifier", "perl_max" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "keyword", "integer" ],
+ [ "text", ", " ],
+ [ "keyword", "integer" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword", "RETURNS" ],
+ [ "text", " " ],
+ [ "keyword", "integer" ],
+ [ "text", " " ],
+ [ "keyword", "AS" ],
+ [ "text", " " ],
+ [ "string", "$perl$" ]
]
},
{
"state": "perl-start",
- "values": [
- " ",
- "# perl comment..."
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "# perl comment..." ]
]
},
{
"state": "perl-start",
- "values": [
- " ",
- "my",
- " ",
- "(",
- "$x",
- ",",
- "$y",
- ")",
- " ",
- "=",
- " @",
- "_",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "lparen",
- "identifier",
- "keyword.operator",
- "identifier",
- "rparen",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "my" ],
+ [ "text", " " ],
+ [ "lparen", "(" ],
+ [ "identifier", "$x" ],
+ [ "keyword.operator", "," ],
+ [ "identifier", "$y" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " @" ],
+ [ "identifier", "_" ],
+ [ "text", ";" ]
]
},
{
"state": "perl-start",
- "values": [
- " ",
- "if",
- " ",
- "(",
- "!",
- " ",
- "defined",
- " ",
- "$x",
- ")",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "lparen",
- "keyword.operator",
- "text",
- "support.function",
- "text",
- "identifier",
- "rparen",
- "text",
- "lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "lparen", "(" ],
+ [ "keyword.operator", "!" ],
+ [ "text", " " ],
+ [ "support.function", "defined" ],
+ [ "text", " " ],
+ [ "identifier", "$x" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "lparen", "{" ]
]
},
{
"state": "perl-start",
- "values": [
- " ",
- "if",
- " ",
- "(",
- "!",
- " ",
- "defined",
- " ",
- "$y",
- ")",
- " ",
- "{",
- " ",
- "return",
- " ",
- "undef",
- "; ",
- "}"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "lparen",
- "keyword.operator",
- "text",
- "support.function",
- "text",
- "identifier",
- "rparen",
- "text",
- "lparen",
- "text",
- "support.function",
- "text",
- "support.function",
- "text",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "lparen", "(" ],
+ [ "keyword.operator", "!" ],
+ [ "text", " " ],
+ [ "support.function", "defined" ],
+ [ "text", " " ],
+ [ "identifier", "$y" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "lparen", "{" ],
+ [ "text", " " ],
+ [ "support.function", "return" ],
+ [ "text", " " ],
+ [ "support.function", "undef" ],
+ [ "text", "; " ],
+ [ "rparen", "}" ]
]
},
{
"state": "perl-start",
- "values": [
- " ",
- "return",
- " ",
- "$y",
- ";"
- ],
- "types": [
- "text",
- "support.function",
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.function", "return" ],
+ [ "text", " " ],
+ [ "identifier", "$y" ],
+ [ "text", ";" ]
]
},
{
"state": "perl-start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "rparen", "}" ]
]
},
{
"state": "perl-start",
- "values": [
- " ",
- "if",
- " ",
- "(",
- "!",
- " ",
- "defined",
- " ",
- "$y",
- ")",
- " ",
- "{",
- " ",
- "return",
- " ",
- "$x",
- "; ",
- "}"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "lparen",
- "keyword.operator",
- "text",
- "support.function",
- "text",
- "identifier",
- "rparen",
- "text",
- "lparen",
- "text",
- "support.function",
- "text",
- "identifier",
- "text",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "lparen", "(" ],
+ [ "keyword.operator", "!" ],
+ [ "text", " " ],
+ [ "support.function", "defined" ],
+ [ "text", " " ],
+ [ "identifier", "$y" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "lparen", "{" ],
+ [ "text", " " ],
+ [ "support.function", "return" ],
+ [ "text", " " ],
+ [ "identifier", "$x" ],
+ [ "text", "; " ],
+ [ "rparen", "}" ]
]
},
{
"state": "perl-start",
- "values": [
- " ",
- "if",
- " ",
- "(",
- "$x",
- " ",
- ">",
- " ",
- "$y",
- ")",
- " ",
- "{",
- " ",
- "return",
- " ",
- "$x",
- "; ",
- "}"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "lparen",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "rparen",
- "text",
- "lparen",
- "text",
- "support.function",
- "text",
- "identifier",
- "text",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "lparen", "(" ],
+ [ "identifier", "$x" ],
+ [ "text", " " ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "identifier", "$y" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "lparen", "{" ],
+ [ "text", " " ],
+ [ "support.function", "return" ],
+ [ "text", " " ],
+ [ "identifier", "$x" ],
+ [ "text", "; " ],
+ [ "rparen", "}" ]
]
},
{
"state": "perl-start",
- "values": [
- " ",
- "return",
- " ",
- "$y",
- ";"
- ],
- "types": [
- "text",
- "support.function",
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.function", "return" ],
+ [ "text", " " ],
+ [ "identifier", "$y" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "$perl$",
- " ",
- "LANGUAGE",
- " ",
- "plperl",
- ";"
- ],
- "types": [
- "string",
- "text",
- "keyword",
- "text",
- "identifier",
- "statementEnd"
+ "data": [
+ [ "string", "$perl$" ],
+ [ "text", " " ],
+ [ "keyword", "LANGUAGE" ],
+ [ "text", " " ],
+ [ "identifier", "plperl" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "-- pl/python"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "-- pl/python" ]
]
},
{
"state": "python-start",
- "values": [
- "CREATE",
- " ",
- "FUNCTION",
- " ",
- "usesavedplan",
- "(",
- ")",
- " ",
- "RETURNS",
- " ",
- "trigger",
- " ",
- "AS",
- " ",
- "$python$"
- ],
- "types": [
- "keyword.statementBegin",
- "text",
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "paren.rparen",
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "string"
+ "data": [
+ [ "keyword.statementBegin", "CREATE" ],
+ [ "text", " " ],
+ [ "keyword", "FUNCTION" ],
+ [ "text", " " ],
+ [ "identifier", "usesavedplan" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword", "RETURNS" ],
+ [ "text", " " ],
+ [ "keyword", "trigger" ],
+ [ "text", " " ],
+ [ "keyword", "AS" ],
+ [ "text", " " ],
+ [ "string", "$python$" ]
]
},
{
"state": "python-start",
- "values": [
- " ",
- "# python comment..."
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "# python comment..." ]
]
},
{
"state": "python-start",
- "values": [
- " ",
- "if",
- " ",
- "SD",
- ".",
- "has_key",
- "(",
- "\"plan\"",
- ")",
- ":"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "paren.lparen",
- "string",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "identifier", "SD" ],
+ [ "text", "." ],
+ [ "identifier", "has_key" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"plan\"" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ":" ]
]
},
{
"state": "python-start",
- "values": [
- " ",
- "plan",
- " ",
- "=",
- " ",
- "SD",
- "[",
- "\"plan\"",
- "]"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "paren.lparen",
- "string",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "plan" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "SD" ],
+ [ "paren.lparen", "[" ],
+ [ "string", "\"plan\"" ],
+ [ "paren.rparen", "]" ]
]
},
{
"state": "python-start",
- "values": [
- " ",
- "else",
- ":"
- ],
- "types": [
- "text",
- "keyword",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "else" ],
+ [ "text", ":" ]
]
},
{
"state": "python-start",
- "values": [
- " ",
- "plan",
- " ",
- "=",
- " ",
- "plpy",
- ".",
- "prepare",
- "(",
- "\"SELECT 1\"",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "identifier",
- "paren.lparen",
- "string",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "plan" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "plpy" ],
+ [ "text", "." ],
+ [ "identifier", "prepare" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"SELECT 1\"" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "python-start",
- "values": [
- " ",
- "SD",
- "[",
- "\"plan\"",
- "]",
- " ",
- "=",
- " ",
- "plan"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "string",
- "paren.rparen",
- "text",
- "keyword.operator",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "SD" ],
+ [ "paren.lparen", "[" ],
+ [ "string", "\"plan\"" ],
+ [ "paren.rparen", "]" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "plan" ]
]
},
{
"state": "start",
- "values": [
- "$python$",
- " ",
- "LANGUAGE",
- " ",
- "plpythonu",
- ";"
- ],
- "types": [
- "string",
- "text",
- "keyword",
- "text",
- "identifier",
- "statementEnd"
+ "data": [
+ [ "string", "$python$" ],
+ [ "text", " " ],
+ [ "keyword", "LANGUAGE" ],
+ [ "text", " " ],
+ [ "identifier", "plpythonu" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "-- psql commands"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "-- psql commands" ]
]
},
{
"state": "start",
- "values": [
- "\\df cash*"
- ],
- "types": [
- "support.buildin"
+ "data": [
+ [ "support.buildin", "\\df cash*" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "-- Some string samples."
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "-- Some string samples." ]
]
},
{
"state": "start",
- "values": [
- "select",
- " ",
- "'don'",
- "'t do it now;'",
- " ",
- "|",
- "|",
- " ",
- "'maybe later'",
- ";"
- ],
- "types": [
- "keyword.statementBegin",
- "text",
- "string",
- "string",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "string",
- "statementEnd"
+ "data": [
+ [ "keyword.statementBegin", "select" ],
+ [ "text", " " ],
+ [ "string", "'don'" ],
+ [ "string", "'t do it now;'" ],
+ [ "text", " " ],
+ [ "keyword.operator", "|" ],
+ [ "keyword.operator", "|" ],
+ [ "text", " " ],
+ [ "string", "'maybe later'" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [
- "select",
- " ",
- "E",
- "'dont\\'t do it'",
- ";"
- ],
- "types": [
- "keyword.statementBegin",
- "text",
- "identifier",
- "string",
- "statementEnd"
+ "data": [
+ [ "keyword.statementBegin", "select" ],
+ [ "text", " " ],
+ [ "identifier", "E" ],
+ [ "string", "'dont\\'t do it'" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [
- "select",
- " ",
- "length",
- "(",
- "'some other'",
- "'s stuff'",
- " ",
- "|",
- "|",
- " ",
- "$$",
- "cat in hat's stuff $$",
- ")",
- ";"
- ],
- "types": [
- "keyword.statementBegin",
- "text",
- "support.function",
- "paren.lparen",
- "string",
- "string",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "string",
- "string",
- "paren.rparen",
- "statementEnd"
+ "data": [
+ [ "keyword.statementBegin", "select" ],
+ [ "text", " " ],
+ [ "support.function", "length" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "'some other'" ],
+ [ "string", "'s stuff'" ],
+ [ "text", " " ],
+ [ "keyword.operator", "|" ],
+ [ "keyword.operator", "|" ],
+ [ "text", " " ],
+ [ "string", "$$" ],
+ [ "string", "cat in hat's stuff $$" ],
+ [ "paren.rparen", ")" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "dollarStatementString",
- "values": [
- "select",
- " ",
- "$$ strings"
- ],
- "types": [
- "keyword.statementBegin",
- "text",
- "string"
+ "data": [
+ [ "keyword.statementBegin", "select" ],
+ [ "text", " " ],
+ [ "string", "$$ strings" ]
]
},
{
"state": "dollarStatementString",
- "values": [
- "over multiple "
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", "over multiple " ]
]
},
{
"state": "dollarStatementString",
- "values": [
- "lines - use dollar quotes"
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", "lines - use dollar quotes" ]
]
},
{
"state": "start",
- "values": [
- "$$",
- ";"
- ],
- "types": [
- "string",
- "statementEnd"
+ "data": [
+ [ "string", "$$" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "END",
- ";"
- ],
- "types": [
- "keyword.statementBegin",
- "statementEnd"
+ "data": [
+ [ "keyword.statementBegin", "END" ],
+ [ "statementEnd", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_php.json b/lib/ace/mode/_test/tokens_php.json
index 8de22fe6..4af87375 100644
--- a/lib/ace/mode/_test/tokens_php.json
+++ b/lib/ace/mode/_test/tokens_php.json
@@ -1,417 +1,238 @@
[
{
"state": "php-start",
- "values": [
- ""
- ],
- "types": [
- "support.php_tag"
+ "data": [
+ [ "support.php_tag", "?>" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_powershell.json b/lib/ace/mode/_test/tokens_powershell.json
index 9be579a1..d2fa444e 100644
--- a/lib/ace/mode/_test/tokens_powershell.json
+++ b/lib/ace/mode/_test/tokens_powershell.json
@@ -1,433 +1,255 @@
[
{
"state": "start",
- "values": [
- "# This is a simple comment"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "# This is a simple comment" ]
]
},
{
"state": "start",
- "values": [
- "function",
- " ",
- "Hello",
- "(",
- "$name",
- ")",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "lparen",
- "variable.instance",
- "rparen",
- "text",
- "lparen"
+ "data": [
+ [ "keyword", "function" ],
+ [ "text", " " ],
+ [ "identifier", "Hello" ],
+ [ "lparen", "(" ],
+ [ "variable.instance", "$name" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "Write-host",
- " ",
- "\"Hello $name\""
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "Write-host" ],
+ [ "text", " " ],
+ [ "string", "\"Hello $name\"" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "rparen"
+ "data": [
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "function",
- " ",
- "add",
- "(",
- "$left",
- ", ",
- "$right",
- "=",
- "4",
- ")",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "lparen",
- "variable.instance",
- "text",
- "variable.instance",
- "keyword.operator",
- "constant.numeric",
- "rparen",
- "text",
- "lparen"
+ "data": [
+ [ "keyword", "function" ],
+ [ "text", " " ],
+ [ "identifier", "add" ],
+ [ "lparen", "(" ],
+ [ "variable.instance", "$left" ],
+ [ "text", ", " ],
+ [ "variable.instance", "$right" ],
+ [ "keyword.operator", "=" ],
+ [ "constant.numeric", "4" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "if",
- " ",
- "(",
- "$right",
- " ",
- "-ne",
- " ",
- "4",
- ")",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "lparen",
- "variable.instance",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "rparen",
- "text",
- "lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "lparen", "(" ],
+ [ "variable.instance", "$right" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-ne" ],
+ [ "text", " " ],
+ [ "constant.numeric", "4" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "return",
- " ",
- "$left"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "variable.instance"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "return" ],
+ [ "text", " " ],
+ [ "variable.instance", "$left" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}",
- " ",
- "elseif",
- " ",
- "(",
- "$left",
- " ",
- "-eq",
- " ",
- "$null",
- " ",
- "-and",
- " ",
- "$right",
- " ",
- "-eq",
- " ",
- "2",
- ")",
- " ",
- "{"
- ],
- "types": [
- "text",
- "rparen",
- "text",
- "keyword",
- "text",
- "lparen",
- "variable.instance",
- "text",
- "keyword.operator",
- "text",
- "constant.language",
- "text",
- "keyword.operator",
- "text",
- "variable.instance",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "rparen",
- "text",
- "lparen"
+ "data": [
+ [ "text", " " ],
+ [ "rparen", "}" ],
+ [ "text", " " ],
+ [ "keyword", "elseif" ],
+ [ "text", " " ],
+ [ "lparen", "(" ],
+ [ "variable.instance", "$left" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-eq" ],
+ [ "text", " " ],
+ [ "constant.language", "$null" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-and" ],
+ [ "text", " " ],
+ [ "variable.instance", "$right" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-eq" ],
+ [ "text", " " ],
+ [ "constant.numeric", "2" ],
+ [ "rparen", ")" ],
+ [ "text", " " ],
+ [ "lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "return",
- " ",
- "3"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "return" ],
+ [ "text", " " ],
+ [ "constant.numeric", "3" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}",
- " ",
- "else",
- " ",
- "{"
- ],
- "types": [
- "text",
- "rparen",
- "text",
- "keyword",
- "text",
- "lparen"
+ "data": [
+ [ "text", " " ],
+ [ "rparen", "}" ],
+ [ "text", " " ],
+ [ "keyword", "else" ],
+ [ "text", " " ],
+ [ "lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "return",
- " ",
- "2"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "return" ],
+ [ "text", " " ],
+ [ "constant.numeric", "2" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "rparen"
+ "data": [
+ [ "text", " " ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "rparen"
+ "data": [
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "$number",
- " ",
- "=",
- " ",
- "1",
- " ",
- "+",
- " ",
- "2",
- ";"
- ],
- "types": [
- "variable.instance",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "text"
+ "data": [
+ [ "variable.instance", "$number" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "constant.numeric", "2" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "$number",
- " ",
- "+",
- "=",
- " ",
- "3"
- ],
- "types": [
- "variable.instance",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "constant.numeric"
+ "data": [
+ [ "variable.instance", "$number" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.numeric", "3" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Write-Host",
- " ",
- "Hello",
- " ",
- "-",
- "name",
- " ",
- "\"World\""
- ],
- "types": [
- "support.function",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "string"
+ "data": [
+ [ "support.function", "Write-Host" ],
+ [ "text", " " ],
+ [ "identifier", "Hello" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "name" ],
+ [ "text", " " ],
+ [ "string", "\"World\"" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "$an_array",
- " ",
- "=",
- " @",
- "(",
- "1",
- ", ",
- "2",
- ", ",
- "3",
- ")"
- ],
- "types": [
- "variable.instance",
- "text",
- "keyword.operator",
- "text",
- "lparen",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "rparen"
+ "data": [
+ [ "variable.instance", "$an_array" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " @" ],
+ [ "lparen", "(" ],
+ [ "constant.numeric", "1" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "2" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "3" ],
+ [ "rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- "$a_hash",
- " ",
- "=",
- " @",
- "{",
- "\"something\"",
- " ",
- "=",
- " ",
- "\"something else\"",
- "}"
- ],
- "types": [
- "variable.instance",
- "text",
- "keyword.operator",
- "text",
- "lparen",
- "string",
- "text",
- "keyword.operator",
- "text",
- "string",
- "rparen"
+ "data": [
+ [ "variable.instance", "$a_hash" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " @" ],
+ [ "lparen", "{" ],
+ [ "string", "\"something\"" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "string", "\"something else\"" ],
+ [ "rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "&",
- " ",
- "notepad",
- " .\\",
- "readme",
- ".",
- "md"
- ],
- "types": [
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier"
+ "data": [
+ [ "keyword.operator", "&" ],
+ [ "text", " " ],
+ [ "identifier", "notepad" ],
+ [ "text", " .\\" ],
+ [ "identifier", "readme" ],
+ [ "text", "." ],
+ [ "identifier", "md" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_python.json b/lib/ace/mode/_test/tokens_python.json
index f5416454..5936fce2 100644
--- a/lib/ace/mode/_test/tokens_python.json
+++ b/lib/ace/mode/_test/tokens_python.json
@@ -1,351 +1,205 @@
[
{
"state": "start",
- "values": [
- "#!/usr/local/bin/python"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "#!/usr/local/bin/python" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "import",
- " ",
- "string",
- ", ",
- "sys"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "import" ],
+ [ "text", " " ],
+ [ "identifier", "string" ],
+ [ "text", ", " ],
+ [ "identifier", "sys" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "# If no arguments were given, print a helpful message"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "# If no arguments were given, print a helpful message" ]
]
},
{
"state": "start",
- "values": [
- "if",
- " ",
- "len",
- "(",
- "sys",
- ".",
- "argv",
- ")",
- "==",
- "1",
- ":"
- ],
- "types": [
- "keyword",
- "text",
- "support.function",
- "paren.lparen",
- "identifier",
- "text",
- "identifier",
- "paren.rparen",
- "keyword.operator",
- "constant.numeric",
- "text"
+ "data": [
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "support.function", "len" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "sys" ],
+ [ "text", "." ],
+ [ "identifier", "argv" ],
+ [ "paren.rparen", ")" ],
+ [ "keyword.operator", "==" ],
+ [ "constant.numeric", "1" ],
+ [ "text", ":" ]
]
},
{
"state": "qstring",
- "values": [
- " ",
- "print",
- " ",
- "'''Usage:"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "print" ],
+ [ "text", " " ],
+ [ "string", "'''Usage:" ]
]
},
{
"state": "start",
- "values": [
- "celsius temp1 temp2 ...'''"
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", "celsius temp1 temp2 ...'''" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "sys",
- ".",
- "exit",
- "(",
- "0",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "identifier",
- "paren.lparen",
- "constant.numeric",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "sys" ],
+ [ "text", "." ],
+ [ "identifier", "exit" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "0" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "# Loop over the arguments"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "# Loop over the arguments" ]
]
},
{
"state": "start",
- "values": [
- "for",
- " ",
- "i",
- " ",
- "in",
- " ",
- "sys",
- ".",
- "argv",
- "[",
- "1",
- ":",
- "]",
- ":"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "paren.lparen",
- "constant.numeric",
- "text",
- "paren.rparen",
- "text"
+ "data": [
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "identifier", "i" ],
+ [ "text", " " ],
+ [ "keyword", "in" ],
+ [ "text", " " ],
+ [ "identifier", "sys" ],
+ [ "text", "." ],
+ [ "identifier", "argv" ],
+ [ "paren.lparen", "[" ],
+ [ "constant.numeric", "1" ],
+ [ "text", ":" ],
+ [ "paren.rparen", "]" ],
+ [ "text", ":" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "try",
- ":"
- ],
- "types": [
- "text",
- "keyword",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "try" ],
+ [ "text", ":" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "fahrenheit",
- "=",
- "float",
- "(",
- "string",
- ".",
- "atoi",
- "(",
- "i",
- ")",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "keyword.operator",
- "support.function",
- "paren.lparen",
- "identifier",
- "text",
- "identifier",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "fahrenheit" ],
+ [ "keyword.operator", "=" ],
+ [ "support.function", "float" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "string" ],
+ [ "text", "." ],
+ [ "identifier", "atoi" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "i" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "except",
- " ",
- "string",
- ".",
- "atoi_error",
- ":"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "except" ],
+ [ "text", " " ],
+ [ "identifier", "string" ],
+ [ "text", "." ],
+ [ "identifier", "atoi_error" ],
+ [ "text", ":" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "print",
- " ",
- "repr",
- "(",
- "i",
- ")",
- ", ",
- "\"not a numeric value\""
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "support.function",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "text",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "print" ],
+ [ "text", " " ],
+ [ "support.function", "repr" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "i" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ", " ],
+ [ "string", "\"not a numeric value\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "else",
- ":"
- ],
- "types": [
- "text",
- "keyword",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "else" ],
+ [ "text", ":" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "celsius",
- "=",
- "(",
- "fahrenheit",
- "-",
- "32",
- ")",
- "*",
- "5.0",
- "/",
- "9.0"
- ],
- "types": [
- "text",
- "identifier",
- "keyword.operator",
- "paren.lparen",
- "identifier",
- "keyword.operator",
- "constant.numeric",
- "paren.rparen",
- "keyword.operator",
- "constant.numeric",
- "keyword.operator",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "celsius" ],
+ [ "keyword.operator", "=" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "fahrenheit" ],
+ [ "keyword.operator", "-" ],
+ [ "constant.numeric", "32" ],
+ [ "paren.rparen", ")" ],
+ [ "keyword.operator", "*" ],
+ [ "constant.numeric", "5.0" ],
+ [ "keyword.operator", "/" ],
+ [ "constant.numeric", "9.0" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "print",
- " ",
- "'%i\\260F = %i\\260C'",
- " ",
- "%",
- " ",
- "(",
- "int",
- "(",
- "fahrenheit",
- ")",
- ", ",
- "int",
- "(",
- "celsius",
- "+",
- ".5",
- ")",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "string",
- "text",
- "keyword.operator",
- "text",
- "paren.lparen",
- "support.function",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "text",
- "support.function",
- "paren.lparen",
- "identifier",
- "keyword.operator",
- "constant.numeric",
- "paren.rparen",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "print" ],
+ [ "text", " " ],
+ [ "string", "'%i\\260F = %i\\260C'" ],
+ [ "text", " " ],
+ [ "keyword.operator", "%" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "support.function", "int" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "fahrenheit" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ", " ],
+ [ "support.function", "int" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "celsius" ],
+ [ "keyword.operator", "+" ],
+ [ "constant.numeric", ".5" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.rparen", ")" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_ruby.json b/lib/ace/mode/_test/tokens_ruby.json
index eeebc58e..02160407 100644
--- a/lib/ace/mode/_test/tokens_ruby.json
+++ b/lib/ace/mode/_test/tokens_ruby.json
@@ -1,170 +1,104 @@
[
{
"state": "start",
- "values": [
- "#!/usr/bin/ruby"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "#!/usr/bin/ruby" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "# Program to find the factorial of a number"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "# Program to find the factorial of a number" ]
]
},
{
"state": "start",
- "values": [
- "def",
- " ",
- "fact",
- "(",
- "n",
- ")"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "identifier",
- "paren.rparen"
+ "data": [
+ [ "keyword", "def" ],
+ [ "text", " " ],
+ [ "identifier", "fact" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "n" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "if",
- " ",
- "n",
- " ",
- "==",
- " ",
- "0"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "identifier", "n" ],
+ [ "text", " " ],
+ [ "keyword.operator", "==" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "1"
- ],
- "types": [
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "constant.numeric", "1" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "else"
- ],
- "types": [
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "else" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "n",
- " ",
- "*",
- " ",
- "fact",
- "(",
- "n",
- "-1",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "paren.lparen",
- "identifier",
- "constant.numeric",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "n" ],
+ [ "text", " " ],
+ [ "keyword.operator", "*" ],
+ [ "text", " " ],
+ [ "identifier", "fact" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "n" ],
+ [ "constant.numeric", "-1" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "end"
- ],
- "types": [
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "end" ]
]
},
{
"state": "start",
- "values": [
- "end"
- ],
- "types": [
- "keyword"
+ "data": [
+ [ "keyword", "end" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "puts",
- " ",
- "fact",
- "(",
- "ARGV",
- "[",
- "0",
- "]",
- ".",
- "to_i",
- ")"
- ],
- "types": [
- "support.function",
- "text",
- "identifier",
- "paren.lparen",
- "variable.class",
- "paren.lparen",
- "constant.numeric",
- "paren.rparen",
- "text",
- "identifier",
- "paren.rparen"
+ "data": [
+ [ "support.function", "puts" ],
+ [ "text", " " ],
+ [ "identifier", "fact" ],
+ [ "paren.lparen", "(" ],
+ [ "variable.class", "ARGV" ],
+ [ "paren.lparen", "[" ],
+ [ "constant.numeric", "0" ],
+ [ "paren.rparen", "]" ],
+ [ "text", "." ],
+ [ "identifier", "to_i" ],
+ [ "paren.rparen", ")" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_scad.json b/lib/ace/mode/_test/tokens_scad.json
index 2cc2a75b..b9eefe5f 100644
--- a/lib/ace/mode/_test/tokens_scad.json
+++ b/lib/ace/mode/_test/tokens_scad.json
@@ -1,469 +1,267 @@
[
{
"state": "start",
- "values": [
- "// ace can highlight scad!"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "// ace can highlight scad!" ]
]
},
{
"state": "start",
- "values": [
- "module",
- " ",
- "Element",
- "(",
- "xpos",
- ", ",
- "ypos",
- ", ",
- "zpos",
- ")",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "paren.rparen",
- "paren.lparen"
+ "data": [
+ [ "keyword", "module" ],
+ [ "text", " " ],
+ [ "identifier", "Element" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "xpos" ],
+ [ "text", ", " ],
+ [ "identifier", "ypos" ],
+ [ "text", ", " ],
+ [ "identifier", "zpos" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "translate",
- "(",
- "[",
- "xpos",
- ",",
- "ypos",
- ",",
- "zpos",
- "]",
- ")",
- "{"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "paren.lparen",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "paren.rparen",
- "paren.rparen",
- "paren.lparen"
+ "data": [
+ [ "text", "\t" ],
+ [ "identifier", "translate" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.lparen", "[" ],
+ [ "identifier", "xpos" ],
+ [ "text", "," ],
+ [ "identifier", "ypos" ],
+ [ "text", "," ],
+ [ "identifier", "zpos" ],
+ [ "paren.rparen", "]" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- "\t\t",
- "union",
- "(",
- ")",
- "{"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "paren.rparen",
- "paren.lparen"
+ "data": [
+ [ "text", "\t\t" ],
+ [ "identifier", "union" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- "\t\t\t",
- "cube",
- "(",
- "[",
- "10",
- ",",
- "10",
- ",",
- "4",
- "]",
- ",",
- "true",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "paren.lparen",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "paren.rparen",
- "text",
- "identifier",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", "\t\t\t" ],
+ [ "identifier", "cube" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.lparen", "[" ],
+ [ "constant.numeric", "10" ],
+ [ "text", "," ],
+ [ "constant.numeric", "10" ],
+ [ "text", "," ],
+ [ "constant.numeric", "4" ],
+ [ "paren.rparen", "]" ],
+ [ "text", "," ],
+ [ "identifier", "true" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "\t\t\t",
- "cylinder",
- "(",
- "10",
- ",",
- "15",
- ",",
- "5",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", "\t\t\t" ],
+ [ "identifier", "cylinder" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "10" ],
+ [ "text", "," ],
+ [ "constant.numeric", "15" ],
+ [ "text", "," ],
+ [ "constant.numeric", "5" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "\t\t\t",
- "translate",
- "(",
- "[",
- "0",
- ",",
- "0",
- ",",
- "10",
- "]",
- ")",
- "sphere",
- "(",
- "5",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "paren.lparen",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "paren.rparen",
- "paren.rparen",
- "identifier",
- "paren.lparen",
- "constant.numeric",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", "\t\t\t" ],
+ [ "identifier", "translate" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.lparen", "[" ],
+ [ "constant.numeric", "0" ],
+ [ "text", "," ],
+ [ "constant.numeric", "0" ],
+ [ "text", "," ],
+ [ "constant.numeric", "10" ],
+ [ "paren.rparen", "]" ],
+ [ "paren.rparen", ")" ],
+ [ "identifier", "sphere" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "5" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "\t\t",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", "\t\t" ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", "\t" ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "union",
- "(",
- ")",
- "{"
- ],
- "types": [
- "identifier",
- "paren.lparen",
- "paren.rparen",
- "paren.lparen"
+ "data": [
+ [ "identifier", "union" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "for",
- "(",
- "i",
- "=",
- "[",
- "0",
- ":",
- "30",
- "]",
- ")",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "paren.lparen",
- "identifier",
- "keyword.operator",
- "paren.lparen",
- "constant.numeric",
- "text",
- "constant.numeric",
- "paren.rparen",
- "paren.rparen",
- "paren.lparen"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "for" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "i" ],
+ [ "keyword.operator", "=" ],
+ [ "paren.lparen", "[" ],
+ [ "constant.numeric", "0" ],
+ [ "text", ":" ],
+ [ "constant.numeric", "30" ],
+ [ "paren.rparen", "]" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- "\t\t# ",
- "Element",
- "(",
- "0",
- ",",
- "0",
- ",",
- "0",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", "\t\t# " ],
+ [ "identifier", "Element" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "0" ],
+ [ "text", "," ],
+ [ "constant.numeric", "0" ],
+ [ "text", "," ],
+ [ "constant.numeric", "0" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "\t\t",
- "Element",
- "(",
- "15",
- "*",
- "i",
- ",",
- "0",
- ",",
- "0",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "constant.numeric",
- "keyword.operator",
- "identifier",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", "\t\t" ],
+ [ "identifier", "Element" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "15" ],
+ [ "keyword.operator", "*" ],
+ [ "identifier", "i" ],
+ [ "text", "," ],
+ [ "constant.numeric", "0" ],
+ [ "text", "," ],
+ [ "constant.numeric", "0" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", "\t" ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "for",
- " ",
- "(",
- "i",
- " ",
- "=",
- " ",
- "[",
- "3",
- ", ",
- "5",
- ", ",
- "7",
- ", ",
- "11",
- "]",
- ")",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "paren.lparen",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "paren.lparen",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "paren.rparen",
- "paren.rparen",
- "paren.lparen"
+ "data": [
+ [ "keyword", "for" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "i" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "paren.lparen", "[" ],
+ [ "constant.numeric", "3" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "5" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "7" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "11" ],
+ [ "paren.rparen", "]" ],
+ [ "paren.rparen", ")" ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "rotate",
- "(",
- "[",
- "i",
- "*",
- "10",
- ",",
- "0",
- ",",
- "0",
- "]",
- ")",
- "scale",
- "(",
- "[",
- "1",
- ",",
- "1",
- ",",
- "i",
- "]",
- ")",
- "cube",
- "(",
- "10",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "paren.lparen",
- "identifier",
- "keyword.operator",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "constant.numeric",
- "paren.rparen",
- "paren.rparen",
- "identifier",
- "paren.lparen",
- "paren.lparen",
- "constant.numeric",
- "text",
- "constant.numeric",
- "text",
- "identifier",
- "paren.rparen",
- "paren.rparen",
- "identifier",
- "paren.lparen",
- "constant.numeric",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", "\t" ],
+ [ "identifier", "rotate" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.lparen", "[" ],
+ [ "identifier", "i" ],
+ [ "keyword.operator", "*" ],
+ [ "constant.numeric", "10" ],
+ [ "text", "," ],
+ [ "constant.numeric", "0" ],
+ [ "text", "," ],
+ [ "constant.numeric", "0" ],
+ [ "paren.rparen", "]" ],
+ [ "paren.rparen", ")" ],
+ [ "identifier", "scale" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.lparen", "[" ],
+ [ "constant.numeric", "1" ],
+ [ "text", "," ],
+ [ "constant.numeric", "1" ],
+ [ "text", "," ],
+ [ "identifier", "i" ],
+ [ "paren.rparen", "]" ],
+ [ "paren.rparen", ")" ],
+ [ "identifier", "cube" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "10" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_scala.json b/lib/ace/mode/_test/tokens_scala.json
index ace5ed7c..88fa8332 100644
--- a/lib/ace/mode/_test/tokens_scala.json
+++ b/lib/ace/mode/_test/tokens_scala.json
@@ -1,1287 +1,748 @@
[
{
"state": "start",
- "values": [
- "// http://www.scala-lang.org/node/54"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "// http://www.scala-lang.org/node/54" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "package",
- " ",
- "examples",
- ".",
- "actors"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "package" ],
+ [ "text", " " ],
+ [ "identifier", "examples" ],
+ [ "text", "." ],
+ [ "identifier", "actors" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "import",
- " ",
- "scala",
- ".",
- "actors",
- ".",
- "Actor"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "import" ],
+ [ "text", " " ],
+ [ "identifier", "scala" ],
+ [ "text", "." ],
+ [ "identifier", "actors" ],
+ [ "text", "." ],
+ [ "identifier", "Actor" ]
]
},
{
"state": "start",
- "values": [
- "import",
- " ",
- "scala",
- ".",
- "actors",
- ".",
- "Actor",
- ".",
- "_"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "import" ],
+ [ "text", " " ],
+ [ "identifier", "scala" ],
+ [ "text", "." ],
+ [ "identifier", "actors" ],
+ [ "text", "." ],
+ [ "identifier", "Actor" ],
+ [ "text", "." ],
+ [ "identifier", "_" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "abstract",
- " ",
- "class",
- " ",
- "PingMessage"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "abstract" ],
+ [ "text", " " ],
+ [ "keyword", "class" ],
+ [ "text", " " ],
+ [ "identifier", "PingMessage" ]
]
},
{
"state": "start",
- "values": [
- "case",
- " ",
- "object",
- " ",
- "Start",
- " ",
- "extends",
- " ",
- "PingMessage"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "case" ],
+ [ "text", " " ],
+ [ "keyword", "object" ],
+ [ "text", " " ],
+ [ "identifier", "Start" ],
+ [ "text", " " ],
+ [ "keyword", "extends" ],
+ [ "text", " " ],
+ [ "identifier", "PingMessage" ]
]
},
{
"state": "start",
- "values": [
- "case",
- " ",
- "object",
- " ",
- "SendPing",
- " ",
- "extends",
- " ",
- "PingMessage"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "case" ],
+ [ "text", " " ],
+ [ "keyword", "object" ],
+ [ "text", " " ],
+ [ "identifier", "SendPing" ],
+ [ "text", " " ],
+ [ "keyword", "extends" ],
+ [ "text", " " ],
+ [ "identifier", "PingMessage" ]
]
},
{
"state": "start",
- "values": [
- "case",
- " ",
- "object",
- " ",
- "Pong",
- " ",
- "extends",
- " ",
- "PingMessage"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "case" ],
+ [ "text", " " ],
+ [ "keyword", "object" ],
+ [ "text", " " ],
+ [ "identifier", "Pong" ],
+ [ "text", " " ],
+ [ "keyword", "extends" ],
+ [ "text", " " ],
+ [ "identifier", "PingMessage" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "abstract",
- " ",
- "class",
- " ",
- "PongMessage"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "abstract" ],
+ [ "text", " " ],
+ [ "keyword", "class" ],
+ [ "text", " " ],
+ [ "identifier", "PongMessage" ]
]
},
{
"state": "start",
- "values": [
- "case",
- " ",
- "object",
- " ",
- "Ping",
- " ",
- "extends",
- " ",
- "PongMessage"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "case" ],
+ [ "text", " " ],
+ [ "keyword", "object" ],
+ [ "text", " " ],
+ [ "identifier", "Ping" ],
+ [ "text", " " ],
+ [ "keyword", "extends" ],
+ [ "text", " " ],
+ [ "identifier", "PongMessage" ]
]
},
{
"state": "start",
- "values": [
- "case",
- " ",
- "object",
- " ",
- "Stop",
- " ",
- "extends",
- " ",
- "PongMessage"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "case" ],
+ [ "text", " " ],
+ [ "keyword", "object" ],
+ [ "text", " " ],
+ [ "identifier", "Stop" ],
+ [ "text", " " ],
+ [ "keyword", "extends" ],
+ [ "text", " " ],
+ [ "identifier", "PongMessage" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "object",
- " ",
- "pingpong",
- " ",
- "extends",
- " ",
- "Application",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen"
+ "data": [
+ [ "keyword", "object" ],
+ [ "text", " " ],
+ [ "identifier", "pingpong" ],
+ [ "text", " " ],
+ [ "keyword", "extends" ],
+ [ "text", " " ],
+ [ "identifier", "Application" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "val",
- " ",
- "pong",
- " ",
- "=",
- " ",
- "new",
- " ",
- "Pong"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "val" ],
+ [ "text", " " ],
+ [ "identifier", "pong" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "keyword", "new" ],
+ [ "text", " " ],
+ [ "identifier", "Pong" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "val",
- " ",
- "ping",
- " ",
- "=",
- " ",
- "new",
- " ",
- "Ping",
- "(",
- "100000",
- ", ",
- "pong",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "constant.numeric",
- "text",
- "identifier",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "val" ],
+ [ "text", " " ],
+ [ "identifier", "ping" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "keyword", "new" ],
+ [ "text", " " ],
+ [ "identifier", "Ping" ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "100000" ],
+ [ "text", ", " ],
+ [ "identifier", "pong" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "ping",
- ".",
- "start"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "ping" ],
+ [ "text", "." ],
+ [ "identifier", "start" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "pong",
- ".",
- "start"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "pong" ],
+ [ "text", "." ],
+ [ "identifier", "start" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "ping",
- " ",
- "!",
- " ",
- "Start"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "ping" ],
+ [ "text", " " ],
+ [ "keyword.operator", "!" ],
+ [ "text", " " ],
+ [ "identifier", "Start" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "class",
- " ",
- "Ping",
- "(",
- "count",
- ": ",
- "Int",
- ", ",
- "pong",
- ": ",
- "Actor",
- ")",
- " ",
- "extends",
- " ",
- "Actor",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "identifier",
- "text",
- "support.function",
- "text",
- "identifier",
- "text",
- "identifier",
- "paren.rparen",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen"
+ "data": [
+ [ "keyword", "class" ],
+ [ "text", " " ],
+ [ "identifier", "Ping" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "count" ],
+ [ "text", ": " ],
+ [ "support.function", "Int" ],
+ [ "text", ", " ],
+ [ "identifier", "pong" ],
+ [ "text", ": " ],
+ [ "identifier", "Actor" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword", "extends" ],
+ [ "text", " " ],
+ [ "identifier", "Actor" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "def",
- " ",
- "act",
- "(",
- ")",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "def" ],
+ [ "text", " " ],
+ [ "identifier", "act" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "println",
- "(",
- "\"Ping: Initializing with count \"",
- "+",
- "count",
- "+",
- "\": \"",
- "+",
- "pong",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "string",
- "keyword.operator",
- "identifier",
- "keyword.operator",
- "string",
- "keyword.operator",
- "identifier",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "println" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"Ping: Initializing with count \"" ],
+ [ "keyword.operator", "+" ],
+ [ "identifier", "count" ],
+ [ "keyword.operator", "+" ],
+ [ "string", "\": \"" ],
+ [ "keyword.operator", "+" ],
+ [ "identifier", "pong" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "var",
- " ",
- "pingsLeft",
- " ",
- "=",
- " ",
- "count"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "var" ],
+ [ "text", " " ],
+ [ "identifier", "pingsLeft" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "count" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "loop",
- " ",
- "{"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "loop" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "react",
- " ",
- "{"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "react" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "case",
- " ",
- "Start",
- " ",
- "=",
- ">"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "case" ],
+ [ "text", " " ],
+ [ "identifier", "Start" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "keyword.operator", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "println",
- "(",
- "\"Ping: starting.\"",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "string",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "println" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"Ping: starting.\"" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "pong",
- " ",
- "!",
- " ",
- "Ping"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "pong" ],
+ [ "text", " " ],
+ [ "keyword.operator", "!" ],
+ [ "text", " " ],
+ [ "identifier", "Ping" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "pingsLeft",
- " ",
- "=",
- " ",
- "pingsLeft",
- " ",
- "-",
- " ",
- "1"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "pingsLeft" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "pingsLeft" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "case",
- " ",
- "SendPing",
- " ",
- "=",
- ">"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "case" ],
+ [ "text", " " ],
+ [ "identifier", "SendPing" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "keyword.operator", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "pong",
- " ",
- "!",
- " ",
- "Ping"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "pong" ],
+ [ "text", " " ],
+ [ "keyword.operator", "!" ],
+ [ "text", " " ],
+ [ "identifier", "Ping" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "pingsLeft",
- " ",
- "=",
- " ",
- "pingsLeft",
- " ",
- "-",
- " ",
- "1"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "pingsLeft" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "pingsLeft" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "case",
- " ",
- "Pong",
- " ",
- "=",
- ">"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "case" ],
+ [ "text", " " ],
+ [ "identifier", "Pong" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "keyword.operator", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "if",
- " ",
- "(",
- "pingsLeft",
- " ",
- "%",
- " ",
- "1000",
- " ",
- "==",
- " ",
- "0",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "pingsLeft" ],
+ [ "text", " " ],
+ [ "keyword.operator", "%" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1000" ],
+ [ "text", " " ],
+ [ "keyword.operator", "==" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "println",
- "(",
- "\"Ping: pong from: \"",
- "+",
- "sender",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "string",
- "keyword.operator",
- "identifier",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "println" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"Ping: pong from: \"" ],
+ [ "keyword.operator", "+" ],
+ [ "identifier", "sender" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "if",
- " ",
- "(",
- "pingsLeft",
- " ",
- ">",
- " ",
- "0",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "pingsLeft" ],
+ [ "text", " " ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "self",
- " ",
- "!",
- " ",
- "SendPing"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "self" ],
+ [ "text", " " ],
+ [ "keyword.operator", "!" ],
+ [ "text", " " ],
+ [ "identifier", "SendPing" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "else",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "else" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "println",
- "(",
- "\"Ping: Stop.\"",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "string",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "println" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"Ping: Stop.\"" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "pong",
- " ",
- "!",
- " ",
- "Stop"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "pong" ],
+ [ "text", " " ],
+ [ "keyword.operator", "!" ],
+ [ "text", " " ],
+ [ "identifier", "Stop" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "exit",
- "(",
- "'stop",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "symbol.constant",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "exit" ],
+ [ "paren.lparen", "(" ],
+ [ "symbol.constant", "'stop" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "class",
- " ",
- "Pong",
- " ",
- "extends",
- " ",
- "Actor",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen"
+ "data": [
+ [ "keyword", "class" ],
+ [ "text", " " ],
+ [ "identifier", "Pong" ],
+ [ "text", " " ],
+ [ "keyword", "extends" ],
+ [ "text", " " ],
+ [ "identifier", "Actor" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "def",
- " ",
- "act",
- "(",
- ")",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "paren.lparen",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "def" ],
+ [ "text", " " ],
+ [ "identifier", "act" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "var",
- " ",
- "pongCount",
- " ",
- "=",
- " ",
- "0"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "var" ],
+ [ "text", " " ],
+ [ "identifier", "pongCount" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "loop",
- " ",
- "{"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "loop" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "react",
- " ",
- "{"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "react" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "case",
- " ",
- "Ping",
- " ",
- "=",
- ">"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "case" ],
+ [ "text", " " ],
+ [ "identifier", "Ping" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "keyword.operator", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "if",
- " ",
- "(",
- "pongCount",
- " ",
- "%",
- " ",
- "1000",
- " ",
- "==",
- " ",
- "0",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "pongCount" ],
+ [ "text", " " ],
+ [ "keyword.operator", "%" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1000" ],
+ [ "text", " " ],
+ [ "keyword.operator", "==" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "println",
- "(",
- "\"Pong: ping \"",
- "+",
- "pongCount",
- "+",
- "\" from \"",
- "+",
- "sender",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "string",
- "keyword.operator",
- "identifier",
- "keyword.operator",
- "string",
- "keyword.operator",
- "identifier",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "println" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"Pong: ping \"" ],
+ [ "keyword.operator", "+" ],
+ [ "identifier", "pongCount" ],
+ [ "keyword.operator", "+" ],
+ [ "string", "\" from \"" ],
+ [ "keyword.operator", "+" ],
+ [ "identifier", "sender" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "sender",
- " ",
- "!",
- " ",
- "Pong"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "sender" ],
+ [ "text", " " ],
+ [ "keyword.operator", "!" ],
+ [ "text", " " ],
+ [ "identifier", "Pong" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "pongCount",
- " ",
- "=",
- " ",
- "pongCount",
- " ",
- "+",
- " ",
- "1"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "pongCount" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "pongCount" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "case",
- " ",
- "Stop",
- " ",
- "=",
- ">"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "case" ],
+ [ "text", " " ],
+ [ "identifier", "Stop" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "keyword.operator", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "println",
- "(",
- "\"Pong: Stop.\"",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "string",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "println" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"Pong: Stop.\"" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "exit",
- "(",
- "'stop",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "symbol.constant",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "exit" ],
+ [ "paren.lparen", "(" ],
+ [ "symbol.constant", "'stop" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_scss.json b/lib/ace/mode/_test/tokens_scss.json
index 91197988..fddaeda5 100644
--- a/lib/ace/mode/_test/tokens_scss.json
+++ b/lib/ace/mode/_test/tokens_scss.json
@@ -1,300 +1,181 @@
[
{
"state": "start",
- "values": [
- "/*",
- " style.scss */"
- ],
- "types": [
- "comment",
- "comment"
+ "data": [
+ [ "comment", "/*" ],
+ [ "comment", " style.scss */" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "#navbar",
- " ",
- "{"
- ],
- "types": [
- "variable.language",
- "text",
- "paren.lparen"
+ "data": [
+ [ "variable.language", "#navbar" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "$navbar-width",
- ": ",
- "800px",
- ";"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "constant.numeric",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "$navbar-width" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "800px" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "$items",
- ": ",
- "5",
- ";"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "constant.numeric",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "$items" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "5" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "$navbar-color",
- ": ",
- "#ce4dd6",
- ";"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "constant.numeric",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "$navbar-color" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "#ce4dd6" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " ",
- "width",
- ": ",
- "$navbar-width",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "variable",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "width" ],
+ [ "text", ": " ],
+ [ "variable", "$navbar-width" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "border-bottom",
- ": ",
- "2px",
- " ",
- "solid",
- " ",
- "$navbar-color",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "constant.numeric",
- "text",
- "constant.language",
- "text",
- "variable",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "border-bottom" ],
+ [ "text", ": " ],
+ [ "constant.numeric", "2px" ],
+ [ "text", " " ],
+ [ "constant.language", "solid" ],
+ [ "text", " " ],
+ [ "variable", "$navbar-color" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " ",
- "li",
- " ",
- "{"
- ],
- "types": [
- "text",
- "variable.language",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "variable.language", "li" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "float",
- ": ",
- "left",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "support.type",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "float" ],
+ [ "text", ": " ],
+ [ "support.type", "left" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "width",
- ": ",
- "$navbar-width",
- "/",
- "$items",
- " ",
- "-",
- " ",
- "10px",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "variable",
- "text",
- "variable",
- "text",
- "constant",
- "text",
- "constant.numeric",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "width" ],
+ [ "text", ": " ],
+ [ "variable", "$navbar-width" ],
+ [ "text", "/" ],
+ [ "variable", "$items" ],
+ [ "text", " " ],
+ [ "constant", "-" ],
+ [ "text", " " ],
+ [ "constant.numeric", "10px" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " ",
- "background-color",
- ": ",
- "lighten",
- "(",
- "$navbar-color",
- ", ",
- "20%",
- ")",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "support.function",
- "paren.lparen",
- "variable",
- "text",
- "constant.numeric",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "background-color" ],
+ [ "text", ": " ],
+ [ "support.function", "lighten" ],
+ [ "paren.lparen", "(" ],
+ [ "variable", "$navbar-color" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "20%" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- " &",
- ":hover",
- " ",
- "{"
- ],
- "types": [
- "text",
- "variable.language",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " &" ],
+ [ "variable.language", ":hover" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "background-color",
- ": ",
- "lighten",
- "(",
- "$navbar-color",
- ", ",
- "10%",
- ")",
- ";"
- ],
- "types": [
- "text",
- "support.type",
- "text",
- "support.function",
- "paren.lparen",
- "variable",
- "text",
- "constant.numeric",
- "paren.rparen",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "support.type", "background-color" ],
+ [ "text", ": " ],
+ [ "support.function", "lighten" ],
+ [ "paren.lparen", "(" ],
+ [ "variable", "$navbar-color" ],
+ [ "text", ", " ],
+ [ "constant.numeric", "10%" ],
+ [ "paren.rparen", ")" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_sh.json b/lib/ace/mode/_test/tokens_sh.json
index 639699ef..582282fb 100644
--- a/lib/ace/mode/_test/tokens_sh.json
+++ b/lib/ace/mode/_test/tokens_sh.json
@@ -1,749 +1,434 @@
[
{
"state": "start",
- "values": [
- "#!/bin/sh"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "#!/bin/sh" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "# Script to open a browser to current branch"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "# Script to open a browser to current branch" ]
]
},
{
"state": "start",
- "values": [
- "# Repo formats:"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "# Repo formats:" ]
]
},
{
"state": "start",
- "values": [
- "# ssh git@github.com:richoH/gh_pr.git"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "# ssh git@github.com:richoH/gh_pr.git" ]
]
},
{
"state": "start",
- "values": [
- "# http https://richoH@github.com/richoH/gh_pr.git"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "# http https://richoH@github.com/richoH/gh_pr.git" ]
]
},
{
"state": "start",
- "values": [
- "# git git://github.com/richoH/gh_pr.git"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "# git git://github.com/richoH/gh_pr.git" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "username=",
- "`",
- "git",
- " ",
- "config",
- " ",
- "-",
- "-",
- "get",
- " ",
- "github",
- ".",
- "user",
- "`"
- ],
- "types": [
- "variable",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "keyword.operator",
- "identifier",
- "text",
- "identifier",
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "variable", "username=" ],
+ [ "text", "`" ],
+ [ "identifier", "git" ],
+ [ "text", " " ],
+ [ "identifier", "config" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "get" ],
+ [ "text", " " ],
+ [ "identifier", "github" ],
+ [ "text", "." ],
+ [ "identifier", "user" ],
+ [ "text", "`" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "get_repo()",
- " ",
- "{"
- ],
- "types": [
- "support.function",
- "text",
- "paren.lparen"
+ "data": [
+ [ "support.function", "get_repo()" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "git",
- " ",
- "remote",
- " ",
- "-",
- "v",
- " | ",
- "grep",
- " $",
- "{",
- "@:",
- "-",
- "$username",
- "}",
- " | ",
- "while",
- " ",
- "read",
- " ",
- "remote",
- "; ",
- "do"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "identifier",
- "text",
- "paren.lparen",
- "text",
- "keyword.operator",
- "variable",
- "paren.rparen",
- "text",
- "keyword",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "git" ],
+ [ "text", " " ],
+ [ "identifier", "remote" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "v" ],
+ [ "text", " | " ],
+ [ "identifier", "grep" ],
+ [ "text", " $" ],
+ [ "paren.lparen", "{" ],
+ [ "text", "@:" ],
+ [ "keyword.operator", "-" ],
+ [ "variable", "$username" ],
+ [ "paren.rparen", "}" ],
+ [ "text", " | " ],
+ [ "keyword", "while" ],
+ [ "text", " " ],
+ [ "keyword", "read" ],
+ [ "text", " " ],
+ [ "identifier", "remote" ],
+ [ "text", "; " ],
+ [ "keyword", "do" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "if",
- " ",
- "repo=",
- "`",
- "echo",
- " ",
- "$remote",
- " | ",
- "grep",
- " ",
- "-",
- "E",
- " ",
- "-",
- "o",
- " ",
- "\"git@github.com:[^ ]*\"",
- "`; ",
- "then"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "variable",
- "text",
- "constant.language",
- "text",
- "variable",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "string",
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "variable", "repo=" ],
+ [ "text", "`" ],
+ [ "constant.language", "echo" ],
+ [ "text", " " ],
+ [ "variable", "$remote" ],
+ [ "text", " | " ],
+ [ "identifier", "grep" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "E" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "o" ],
+ [ "text", " " ],
+ [ "string", "\"git@github.com:[^ ]*\"" ],
+ [ "text", "`; " ],
+ [ "keyword", "then" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "echo",
- " ",
- "$repo",
- " | ",
- "sed",
- " ",
- "-",
- "e",
- " ",
- "\"s/^git@github\\.com://\"",
- " ",
- "-",
- "e",
- " ",
- "\"s/\\.git$//\""
- ],
- "types": [
- "text",
- "constant.language",
- "text",
- "variable",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "string",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "constant.language", "echo" ],
+ [ "text", " " ],
+ [ "variable", "$repo" ],
+ [ "text", " | " ],
+ [ "identifier", "sed" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "e" ],
+ [ "text", " " ],
+ [ "string", "\"s/^git@github\\.com://\"" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "e" ],
+ [ "text", " " ],
+ [ "string", "\"s/\\.git$//\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "exit",
- " ",
- "1"
- ],
- "types": [
- "text",
- "constant.language",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "constant.language", "exit" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "fi"
- ],
- "types": [
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "fi" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "if",
- " ",
- "repo=",
- "`",
- "echo",
- " ",
- "$remote",
- " | ",
- "grep",
- " ",
- "-",
- "E",
- " ",
- "-",
- "o",
- " ",
- "\"https?://([^@]*@)?github.com/[^ ]*\\.git\"",
- "`; ",
- "then"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "variable",
- "text",
- "constant.language",
- "text",
- "variable",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "string",
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "variable", "repo=" ],
+ [ "text", "`" ],
+ [ "constant.language", "echo" ],
+ [ "text", " " ],
+ [ "variable", "$remote" ],
+ [ "text", " | " ],
+ [ "identifier", "grep" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "E" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "o" ],
+ [ "text", " " ],
+ [ "string", "\"https?://([^@]*@)?github.com/[^ ]*\\.git\"" ],
+ [ "text", "`; " ],
+ [ "keyword", "then" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "echo",
- " ",
- "$repo",
- " | ",
- "sed",
- " ",
- "-",
- "e",
- " ",
- "\"s|^https?://||\"",
- " ",
- "-",
- "e",
- " ",
- "\"s/^.*github\\.com\\///\"",
- " ",
- "-",
- "e",
- " ",
- "\"s/\\.git$//\""
- ],
- "types": [
- "text",
- "constant.language",
- "text",
- "variable",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "string",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "string",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "constant.language", "echo" ],
+ [ "text", " " ],
+ [ "variable", "$repo" ],
+ [ "text", " | " ],
+ [ "identifier", "sed" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "e" ],
+ [ "text", " " ],
+ [ "string", "\"s|^https?://||\"" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "e" ],
+ [ "text", " " ],
+ [ "string", "\"s/^.*github\\.com\\///\"" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "e" ],
+ [ "text", " " ],
+ [ "string", "\"s/\\.git$//\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "exit",
- " ",
- "1"
- ],
- "types": [
- "text",
- "constant.language",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "constant.language", "exit" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "fi"
- ],
- "types": [
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "fi" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "if",
- " ",
- "repo=",
- "`",
- "echo",
- " ",
- "$remote",
- " | ",
- "grep",
- " ",
- "-",
- "E",
- " ",
- "-",
- "o",
- " ",
- "\"git://github.com/[^ ]*\\.git\"",
- "`; ",
- "then"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "variable",
- "text",
- "constant.language",
- "text",
- "variable",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "string",
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "variable", "repo=" ],
+ [ "text", "`" ],
+ [ "constant.language", "echo" ],
+ [ "text", " " ],
+ [ "variable", "$remote" ],
+ [ "text", " | " ],
+ [ "identifier", "grep" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "E" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "o" ],
+ [ "text", " " ],
+ [ "string", "\"git://github.com/[^ ]*\\.git\"" ],
+ [ "text", "`; " ],
+ [ "keyword", "then" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "echo",
- " ",
- "$repo",
- " | ",
- "sed",
- " ",
- "-",
- "e",
- " ",
- "\"s|^git://github.com/||\"",
- " ",
- "-",
- "e",
- " ",
- "\"s/\\.git$//\""
- ],
- "types": [
- "text",
- "constant.language",
- "text",
- "variable",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "string",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "constant.language", "echo" ],
+ [ "text", " " ],
+ [ "variable", "$repo" ],
+ [ "text", " | " ],
+ [ "identifier", "sed" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "e" ],
+ [ "text", " " ],
+ [ "string", "\"s|^git://github.com/||\"" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "e" ],
+ [ "text", " " ],
+ [ "string", "\"s/\\.git$//\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "exit",
- " ",
- "1"
- ],
- "types": [
- "text",
- "constant.language",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "constant.language", "exit" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "fi"
- ],
- "types": [
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "fi" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "done"
- ],
- "types": [
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "done" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " ",
- "if",
- " ",
- "[",
- " ",
- "$?",
- " ",
- "-",
- "eq",
- " ",
- "0",
- " ",
- "]",
- "; ",
- "then"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "text",
- "variable.language",
- "text",
- "keyword.operator",
- "identifier",
- "text",
- "constant.numeric",
- "text",
- "paren.rparen",
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "paren.lparen", "[" ],
+ [ "text", " " ],
+ [ "variable.language", "$?" ],
+ [ "text", " " ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "eq" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ],
+ [ "text", " " ],
+ [ "paren.rparen", "]" ],
+ [ "text", "; " ],
+ [ "keyword", "then" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "echo",
- " ",
- "\"Couldn't find a valid remote\"",
- " ",
- ">",
- "&2"
- ],
- "types": [
- "text",
- "constant.language",
- "text",
- "string",
- "text",
- "keyword.operator",
- "support.function"
+ "data": [
+ [ "text", " " ],
+ [ "constant.language", "echo" ],
+ [ "text", " " ],
+ [ "string", "\"Couldn't find a valid remote\"" ],
+ [ "text", " " ],
+ [ "keyword.operator", ">" ],
+ [ "support.function", "&2" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "exit",
- " ",
- "1"
- ],
- "types": [
- "text",
- "constant.language",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "constant.language", "exit" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "fi"
- ],
- "types": [
- "text",
- "keyword"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "fi" ]
]
},
{
"state": "start",
- "values": [
- "}"
- ],
- "types": [
- "paren.rparen"
+ "data": [
+ [ "paren.rparen", "}" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "if",
- " ",
- "repo=",
- "`",
- "get_repo",
- " $@`; ",
- "then"
- ],
- "types": [
- "keyword",
- "text",
- "variable",
- "text",
- "identifier",
- "text",
- "keyword"
+ "data": [
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "variable", "repo=" ],
+ [ "text", "`" ],
+ [ "identifier", "get_repo" ],
+ [ "text", " $@`; " ],
+ [ "keyword", "then" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "branch=",
- "`",
- "git",
- " ",
- "symbolic",
- "-",
- "ref",
- " ",
- "HEAD",
- " ",
- "2",
- ">",
- "/",
- "dev",
- "/",
- "null",
- "`"
- ],
- "types": [
- "text",
- "variable",
- "text",
- "identifier",
- "text",
- "identifier",
- "keyword.operator",
- "identifier",
- "text",
- "identifier",
- "text",
- "constant.numeric",
- "keyword.operator",
- "keyword.operator",
- "identifier",
- "keyword.operator",
- "identifier",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "variable", "branch=" ],
+ [ "text", "`" ],
+ [ "identifier", "git" ],
+ [ "text", " " ],
+ [ "identifier", "symbolic" ],
+ [ "keyword.operator", "-" ],
+ [ "identifier", "ref" ],
+ [ "text", " " ],
+ [ "identifier", "HEAD" ],
+ [ "text", " " ],
+ [ "constant.numeric", "2" ],
+ [ "keyword.operator", ">" ],
+ [ "keyword.operator", "/" ],
+ [ "identifier", "dev" ],
+ [ "keyword.operator", "/" ],
+ [ "identifier", "null" ],
+ [ "text", "`" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "echo",
- " ",
- "\"http://github.com/$repo/pull/new/${branch##refs/heads/}\""
- ],
- "types": [
- "text",
- "constant.language",
- "text",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "constant.language", "echo" ],
+ [ "text", " " ],
+ [ "string", "\"http://github.com/$repo/pull/new/${branch##refs/heads/}\"" ]
]
},
{
"state": "start",
- "values": [
- "else"
- ],
- "types": [
- "keyword"
+ "data": [
+ [ "keyword", "else" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "exit",
- " ",
- "1"
- ],
- "types": [
- "text",
- "constant.language",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "constant.language", "exit" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1" ]
]
},
{
"state": "start",
- "values": [
- "fi"
- ],
- "types": [
- "keyword"
+ "data": [
+ [ "keyword", "fi" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_sql.json b/lib/ace/mode/_test/tokens_sql.json
index ffb5bb78..525af9d4 100644
--- a/lib/ace/mode/_test/tokens_sql.json
+++ b/lib/ace/mode/_test/tokens_sql.json
@@ -1,126 +1,73 @@
[
{
"state": "start",
- "values": [
- "SELECT",
- " ",
- "city",
- ", ",
- "COUNT",
- "(",
- "id",
- ")",
- " ",
- "AS",
- " ",
- "users_count"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "support.function",
- "paren.lparen",
- "identifier",
- "paren.rparen",
- "text",
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "SELECT" ],
+ [ "text", " " ],
+ [ "identifier", "city" ],
+ [ "text", ", " ],
+ [ "support.function", "COUNT" ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "id" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword", "AS" ],
+ [ "text", " " ],
+ [ "identifier", "users_count" ]
]
},
{
"state": "start",
- "values": [
- "FROM",
- " ",
- "users"
- ],
- "types": [
- "keyword",
- "text",
- "identifier"
+ "data": [
+ [ "keyword", "FROM" ],
+ [ "text", " " ],
+ [ "identifier", "users" ]
]
},
{
"state": "start",
- "values": [
- "WHERE",
- " ",
- "group_name",
- " ",
- "=",
- " ",
- "'salesman'"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "string"
+ "data": [
+ [ "keyword", "WHERE" ],
+ [ "text", " " ],
+ [ "identifier", "group_name" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "string", "'salesman'" ]
]
},
{
"state": "start",
- "values": [
- "AND",
- " ",
- "created",
- " ",
- ">",
- " ",
- "'2011-05-21'"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "string"
+ "data": [
+ [ "keyword", "AND" ],
+ [ "text", " " ],
+ [ "identifier", "created" ],
+ [ "text", " " ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "string", "'2011-05-21'" ]
]
},
{
"state": "start",
- "values": [
- "GROUP",
- " ",
- "BY",
- " ",
- "1"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "constant.numeric"
+ "data": [
+ [ "keyword", "GROUP" ],
+ [ "text", " " ],
+ [ "keyword", "BY" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1" ]
]
},
{
"state": "start",
- "values": [
- "ORDER",
- " ",
- "BY",
- " ",
- "2",
- " ",
- "DESC"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "constant.numeric",
- "text",
- "keyword"
+ "data": [
+ [ "keyword", "ORDER" ],
+ [ "text", " " ],
+ [ "keyword", "BY" ],
+ [ "text", " " ],
+ [ "constant.numeric", "2" ],
+ [ "text", " " ],
+ [ "keyword", "DESC" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_svg.json b/lib/ace/mode/_test/tokens_svg.json
index 72e412ab..ed1beb9b 100644
--- a/lib/ace/mode/_test/tokens_svg.json
+++ b/lib/ace/mode/_test/tokens_svg.json
@@ -1,1611 +1,931 @@
[
{
"state": "tag_embed_attribute_list",
- "values": [
- "<",
- "svg"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "svg" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "width",
- "=",
- "\"800\"",
- " ",
- "height",
- "=",
- "\"600\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "width" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"800\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "height" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"600\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "xmlns",
- "=",
- "\"http://www.w3.org/2000/svg\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xmlns" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://www.w3.org/2000/svg\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "onload",
- "=",
- "\"StartAnimation(evt)\"",
- ">"
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "onload" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"StartAnimation(evt)\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "title",
- ">",
- "Test Tube Progress Bar",
- "",
- "title",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "title" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Test Tube Progress Bar" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "title" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "desc",
- ">",
- "Created for the Web Directions SVG competition",
- "",
- "desc",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "desc" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Created for the Web Directions SVG competition" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "desc" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "<",
- "script",
- " ",
- "type",
- "=",
- "\"text/ecmascript\"",
- ">",
- "<",
- "!",
- "[",
- "CDATA",
- "["
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "keyword.operator",
- "keyword.operator",
- "paren.lparen",
- "identifier",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "script" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "type" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"text/ecmascript\"" ],
+ [ "meta.tag", ">" ],
+ [ "keyword.operator", "<" ],
+ [ "keyword.operator", "!" ],
+ [ "paren.lparen", "[" ],
+ [ "identifier", "CDATA" ],
+ [ "paren.lparen", "[" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "var",
- " ",
- "timevalue",
- " ",
- "=",
- " ",
- "0",
- ";"
- ],
- "types": [
- "text",
- "storage.type",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "storage.type", "var" ],
+ [ "text", " " ],
+ [ "identifier", "timevalue" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.numeric", "0" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "var",
- " ",
- "timer_increment",
- " ",
- "=",
- " ",
- "1",
- ";"
- ],
- "types": [
- "text",
- "storage.type",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "storage.type", "var" ],
+ [ "text", " " ],
+ [ "identifier", "timer_increment" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "var",
- " ",
- "max_time",
- " ",
- "=",
- " ",
- "100",
- ";"
- ],
- "types": [
- "text",
- "storage.type",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "storage.type", "var" ],
+ [ "text", " " ],
+ [ "identifier", "max_time" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "constant.numeric", "100" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "var",
- " ",
- "hickory",
- ";"
- ],
- "types": [
- "text",
- "storage.type",
- "text",
- "identifier",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "storage.type", "var" ],
+ [ "text", " " ],
+ [ "identifier", "hickory" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "var",
- " ",
- "dickory",
- ";"
- ],
- "types": [
- "text",
- "storage.type",
- "text",
- "identifier",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "storage.type", "var" ],
+ [ "text", " " ],
+ [ "identifier", "dickory" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "var",
- " ",
- "dock",
- ";"
- ],
- "types": [
- "text",
- "storage.type",
- "text",
- "identifier",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "storage.type", "var" ],
+ [ "text", " " ],
+ [ "identifier", "dock" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "var",
- " ",
- "i",
- ";"
- ],
- "types": [
- "text",
- "storage.type",
- "text",
- "identifier",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "storage.type", "var" ],
+ [ "text", " " ],
+ [ "identifier", "i" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "function",
- " ",
- "StartAnimation",
- "(",
- "evt",
- ")",
- " ",
- "{"
- ],
- "types": [
- "text",
- "storage.type",
- "text",
- "entity.name.function",
- "paren.lparen",
- "variable.parameter",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "storage.type", "function" ],
+ [ "text", " " ],
+ [ "entity.name.function", "StartAnimation" ],
+ [ "paren.lparen", "(" ],
+ [ "variable.parameter", "evt" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "hickory",
- " ",
- "=",
- " ",
- "evt",
- ".",
- "target",
- ".",
- "ownerDocument",
- ".",
- "getElementById",
- "(",
- "\"hickory\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "punctuation.operator",
- "identifier",
- "punctuation.operator",
- "identifier",
- "punctuation.operator",
- "support.function.dom",
- "paren.lparen",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "hickory" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "evt" ],
+ [ "punctuation.operator", "." ],
+ [ "identifier", "target" ],
+ [ "punctuation.operator", "." ],
+ [ "identifier", "ownerDocument" ],
+ [ "punctuation.operator", "." ],
+ [ "support.function.dom", "getElementById" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"hickory\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "dickory",
- " ",
- "=",
- " ",
- "evt",
- ".",
- "target",
- ".",
- "ownerDocument",
- ".",
- "getElementById",
- "(",
- "\"dickory\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "punctuation.operator",
- "identifier",
- "punctuation.operator",
- "identifier",
- "punctuation.operator",
- "support.function.dom",
- "paren.lparen",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "dickory" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "evt" ],
+ [ "punctuation.operator", "." ],
+ [ "identifier", "target" ],
+ [ "punctuation.operator", "." ],
+ [ "identifier", "ownerDocument" ],
+ [ "punctuation.operator", "." ],
+ [ "support.function.dom", "getElementById" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"dickory\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "dock",
- " ",
- "=",
- " ",
- "evt",
- ".",
- "target",
- ".",
- "ownerDocument",
- ".",
- "getElementById",
- "(",
- "\"dock\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "punctuation.operator",
- "identifier",
- "punctuation.operator",
- "identifier",
- "punctuation.operator",
- "support.function.dom",
- "paren.lparen",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "dock" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "evt" ],
+ [ "punctuation.operator", "." ],
+ [ "identifier", "target" ],
+ [ "punctuation.operator", "." ],
+ [ "identifier", "ownerDocument" ],
+ [ "punctuation.operator", "." ],
+ [ "support.function.dom", "getElementById" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"dock\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "ShowAndGrowElement",
- "(",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "ShowAndGrowElement" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "function",
- " ",
- "ShowAndGrowElement",
- "(",
- ")",
- " ",
- "{"
- ],
- "types": [
- "text",
- "storage.type",
- "text",
- "entity.name.function",
- "paren.lparen",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "storage.type", "function" ],
+ [ "text", " " ],
+ [ "entity.name.function", "ShowAndGrowElement" ],
+ [ "paren.lparen", "(" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "timevalue",
- " ",
- "=",
- " ",
- "timevalue",
- " ",
- "+",
- " ",
- "timer_increment",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "timevalue" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "timevalue" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "identifier", "timer_increment" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-start",
- "values": [
- " ",
- "if",
- " ",
- "(",
- "timevalue",
- " ",
- ">",
- " ",
- "max_time",
- ")"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "timevalue" ],
+ [ "text", " " ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "identifier", "max_time" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "return",
- ";"
- ],
- "types": [
- "text",
- "keyword",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "return" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-start",
- "values": [
- " ",
- "// Scale the text string gradually until it is 20 times larger"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "// Scale the text string gradually until it is 20 times larger" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "scalefactor",
- " ",
- "=",
- " ",
- "(",
- "timevalue",
- " ",
- "*",
- " ",
- "650",
- ")",
- " ",
- "/",
- " ",
- "max_time",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "paren.lparen",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "paren.rparen",
- "text",
- "keyword.operator",
- "text",
- "identifier",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "scalefactor" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "timevalue" ],
+ [ "text", " " ],
+ [ "keyword.operator", "*" ],
+ [ "text", " " ],
+ [ "constant.numeric", "650" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword.operator", "/" ],
+ [ "text", " " ],
+ [ "identifier", "max_time" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "if",
- " ",
- "(",
- "timevalue",
- " ",
- "<",
- " ",
- "30",
- ")",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "timevalue" ],
+ [ "text", " " ],
+ [ "keyword.operator", "<" ],
+ [ "text", " " ],
+ [ "constant.numeric", "30" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "hickory",
- ".",
- "setAttribute",
- "(",
- "\"display\"",
- ",",
- " ",
- "\"\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "punctuation.operator",
- "support.function.dom",
- "paren.lparen",
- "string",
- "punctuation.operator",
- "text",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "hickory" ],
+ [ "punctuation.operator", "." ],
+ [ "support.function.dom", "setAttribute" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"display\"" ],
+ [ "punctuation.operator", "," ],
+ [ "text", " " ],
+ [ "string", "\"\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "hickory",
- ".",
- "setAttribute",
- "(",
- "\"transform\"",
- ",",
- " ",
- "\"translate(\"",
- " ",
- "+",
- " ",
- "(",
- "600",
- "+",
- "scalefactor",
- "*",
- "3",
- "*",
- "-1",
- " ",
- ")",
- " ",
- "+",
- " ",
- "\", -144 )\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "punctuation.operator",
- "support.function.dom",
- "paren.lparen",
- "string",
- "punctuation.operator",
- "text",
- "string",
- "text",
- "keyword.operator",
- "text",
- "paren.lparen",
- "constant.numeric",
- "keyword.operator",
- "identifier",
- "keyword.operator",
- "constant.numeric",
- "keyword.operator",
- "constant.numeric",
- "text",
- "paren.rparen",
- "text",
- "keyword.operator",
- "text",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "hickory" ],
+ [ "punctuation.operator", "." ],
+ [ "support.function.dom", "setAttribute" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"transform\"" ],
+ [ "punctuation.operator", "," ],
+ [ "text", " " ],
+ [ "string", "\"translate(\"" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "600" ],
+ [ "keyword.operator", "+" ],
+ [ "identifier", "scalefactor" ],
+ [ "keyword.operator", "*" ],
+ [ "constant.numeric", "3" ],
+ [ "keyword.operator", "*" ],
+ [ "constant.numeric", "-1" ],
+ [ "text", " " ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "string", "\", -144 )\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "js-start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "if",
- " ",
- "(",
- "timevalue",
- " ",
- ">",
- " ",
- "30",
- " ",
- "&",
- "&",
- " ",
- "timevalue",
- " ",
- "<",
- " ",
- "66",
- ")",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "text",
- "keyword.operator",
- "keyword.operator",
- "text",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "timevalue" ],
+ [ "text", " " ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "constant.numeric", "30" ],
+ [ "text", " " ],
+ [ "keyword.operator", "&" ],
+ [ "keyword.operator", "&" ],
+ [ "text", " " ],
+ [ "identifier", "timevalue" ],
+ [ "text", " " ],
+ [ "keyword.operator", "<" ],
+ [ "text", " " ],
+ [ "constant.numeric", "66" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "dickory",
- ".",
- "setAttribute",
- "(",
- "\"display\"",
- ",",
- " ",
- "\"\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "punctuation.operator",
- "support.function.dom",
- "paren.lparen",
- "string",
- "punctuation.operator",
- "text",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "dickory" ],
+ [ "punctuation.operator", "." ],
+ [ "support.function.dom", "setAttribute" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"display\"" ],
+ [ "punctuation.operator", "," ],
+ [ "text", " " ],
+ [ "string", "\"\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "dickory",
- ".",
- "setAttribute",
- "(",
- "\"transform\"",
- ",",
- " ",
- "\"translate(\"",
- " ",
- "+",
- " ",
- "(",
- "-795",
- "+",
- "scalefactor",
- "*",
- "2",
- ")",
- " ",
- "+",
- " ",
- "\", 0 )\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "punctuation.operator",
- "support.function.dom",
- "paren.lparen",
- "string",
- "punctuation.operator",
- "text",
- "string",
- "text",
- "keyword.operator",
- "text",
- "paren.lparen",
- "constant.numeric",
- "keyword.operator",
- "identifier",
- "keyword.operator",
- "constant.numeric",
- "paren.rparen",
- "text",
- "keyword.operator",
- "text",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "dickory" ],
+ [ "punctuation.operator", "." ],
+ [ "support.function.dom", "setAttribute" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"transform\"" ],
+ [ "punctuation.operator", "," ],
+ [ "text", " " ],
+ [ "string", "\"translate(\"" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "-795" ],
+ [ "keyword.operator", "+" ],
+ [ "identifier", "scalefactor" ],
+ [ "keyword.operator", "*" ],
+ [ "constant.numeric", "2" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "string", "\", 0 )\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "if",
- " ",
- "(",
- "timevalue",
- " ",
- ">",
- " ",
- "66",
- ")",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "constant.numeric",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "identifier", "timevalue" ],
+ [ "text", " " ],
+ [ "keyword.operator", ">" ],
+ [ "text", " " ],
+ [ "constant.numeric", "66" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "dock",
- ".",
- "setAttribute",
- "(",
- "\"display\"",
- ",",
- " ",
- "\"\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "punctuation.operator",
- "support.function.dom",
- "paren.lparen",
- "string",
- "punctuation.operator",
- "text",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "dock" ],
+ [ "punctuation.operator", "." ],
+ [ "support.function.dom", "setAttribute" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"display\"" ],
+ [ "punctuation.operator", "," ],
+ [ "text", " " ],
+ [ "string", "\"\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-regex_allowed",
- "values": [
- " ",
- "dock",
- ".",
- "setAttribute",
- "(",
- "\"transform\"",
- ",",
- " ",
- "\"translate(\"",
- " ",
- "+",
- " ",
- "(",
- "1450",
- "+",
- "scalefactor",
- "*",
- "2",
- "*",
- "-1",
- ")",
- " ",
- "+",
- " ",
- "\", 144 )\"",
- ")",
- ";"
- ],
- "types": [
- "text",
- "identifier",
- "punctuation.operator",
- "support.function.dom",
- "paren.lparen",
- "string",
- "punctuation.operator",
- "text",
- "string",
- "text",
- "keyword.operator",
- "text",
- "paren.lparen",
- "constant.numeric",
- "keyword.operator",
- "identifier",
- "keyword.operator",
- "constant.numeric",
- "keyword.operator",
- "constant.numeric",
- "paren.rparen",
- "text",
- "keyword.operator",
- "text",
- "string",
- "paren.rparen",
- "punctuation.operator"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "dock" ],
+ [ "punctuation.operator", "." ],
+ [ "support.function.dom", "setAttribute" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"transform\"" ],
+ [ "punctuation.operator", "," ],
+ [ "text", " " ],
+ [ "string", "\"translate(\"" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "paren.lparen", "(" ],
+ [ "constant.numeric", "1450" ],
+ [ "keyword.operator", "+" ],
+ [ "identifier", "scalefactor" ],
+ [ "keyword.operator", "*" ],
+ [ "constant.numeric", "2" ],
+ [ "keyword.operator", "*" ],
+ [ "constant.numeric", "-1" ],
+ [ "paren.rparen", ")" ],
+ [ "text", " " ],
+ [ "keyword.operator", "+" ],
+ [ "text", " " ],
+ [ "string", "\", 144 )\"" ],
+ [ "paren.rparen", ")" ],
+ [ "punctuation.operator", ";" ]
]
},
{
"state": "js-start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "js-start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "js-start",
- "values": [
- " ",
- "// Call ShowAndGrowElement again milliseconds later."
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "// Call ShowAndGrowElement again milliseconds later." ]
]
},
{
"state": "js-start",
- "values": [
- " ",
- "setTimeout",
- "(",
- "\"ShowAndGrowElement()\"",
- ",",
- " ",
- "timer_increment",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "paren.lparen",
- "string",
- "punctuation.operator",
- "text",
- "identifier",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "setTimeout" ],
+ [ "paren.lparen", "(" ],
+ [ "string", "\"ShowAndGrowElement()\"" ],
+ [ "punctuation.operator", "," ],
+ [ "text", " " ],
+ [ "identifier", "timer_increment" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "js-start",
- "values": [
- " ",
- "}"
- ],
- "types": [
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "}" ]
]
},
{
"state": "js-start",
- "values": [
- " ",
- "window",
- ".",
- "ShowAndGrowElement",
- " ",
- "=",
- " ",
- "ShowAndGrowElement"
- ],
- "types": [
- "text",
- "variable.language",
- "punctuation.operator",
- "identifier",
- "text",
- "keyword.operator",
- "text",
- "identifier"
+ "data": [
+ [ "text", " " ],
+ [ "variable.language", "window" ],
+ [ "punctuation.operator", "." ],
+ [ "identifier", "ShowAndGrowElement" ],
+ [ "text", " " ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "identifier", "ShowAndGrowElement" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "]",
- "]",
- "",
- "script",
- ">"
- ],
- "types": [
- "text",
- "paren.rparen",
- "paren.rparen",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "paren.rparen", "]" ],
+ [ "paren.rparen", "]" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "script" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "<",
- "rect"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "rect" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "fill",
- "=",
- "\"#2e3436\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "fill" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"#2e3436\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "fill-rule",
- "=",
- "\"nonzero\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "fill-rule" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"nonzero\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "stroke-width",
- "=",
- "\"3\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "stroke-width" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"3\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "y",
- "=",
- "\"0\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "y" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"0\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "x",
- "=",
- "\"0\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "x" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"0\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "height",
- "=",
- "\"600\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "height" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"600\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "width",
- "=",
- "\"800\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "width" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"800\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "id",
- "=",
- "\"rect3590\"",
- "/>"
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "id" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"rect3590\"" ],
+ [ "meta.tag", "/>" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "<",
- "text"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "text" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "style",
- "=",
- "\"font-size:144px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "style" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"font-size:144px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "x",
- "=",
- "\"50\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "x" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"50\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "y",
- "=",
- "\"350\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "y" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"350\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "id",
- "=",
- "\"hickory\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "id" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"hickory\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "display",
- "=",
- "\"none\"",
- ">"
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "display" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"none\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " Hickory,",
- "",
- "text",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " Hickory," ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "text" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "<",
- "text"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "text" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "style",
- "=",
- "\"font-size:144px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "style" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"font-size:144px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "x",
- "=",
- "\"50\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "x" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"50\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "y",
- "=",
- "\"350\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "y" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"350\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "id",
- "=",
- "\"dickory\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "id" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"dickory\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "display",
- "=",
- "\"none\"",
- ">"
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "display" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"none\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " dickory,",
- "",
- "text",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " dickory," ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "text" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "<",
- "text"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "text" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "style",
- "=",
- "\"font-size:144px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "style" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"font-size:144px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "x",
- "=",
- "\"50\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "x" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"50\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "y",
- "=",
- "\"350\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "y" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"350\"" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "id",
- "=",
- "\"dock\""
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "id" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"dock\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "display",
- "=",
- "\"none\"",
- ">"
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "display" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"none\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " dock!",
- "",
- "text",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " dock!" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "text" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "",
- "svg",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "svg" ],
+ [ "meta.tag", ">" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_tcl.json b/lib/ace/mode/_test/tokens_tcl.json
index 2b6abcf9..2f13af3e 100644
--- a/lib/ace/mode/_test/tokens_tcl.json
+++ b/lib/ace/mode/_test/tokens_tcl.json
@@ -1,950 +1,536 @@
[
{
"state": "commandItem",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "commandItem",
- "values": [
- "proc",
- " ",
- "dijkstra",
- " ",
- "{",
- "graph",
- " ",
- "origin",
- "}",
- " ",
- "{"
- ],
- "types": [
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "identifier",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "keyword", "proc" ],
+ [ "text", " " ],
+ [ "identifier", "dijkstra" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ],
+ [ "keyword", "graph" ],
+ [ "text", " " ],
+ [ "identifier", "origin" ],
+ [ "paren.rparen", "}" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "# Initialize"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", " " ],
+ [ "comment", "# Initialize" ]
]
},
{
"state": "commandItem",
- "values": [
- " ",
- "dict",
- " ",
- "for",
- " ",
- "{",
- "vertex",
- " ",
- "distmap",
- "}",
- " ",
- "$",
- "graph",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "identifier",
- "paren.rparen",
- "text",
- "variable.instancce",
- "variable.instancce",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "for" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ],
+ [ "keyword", "vertex" ],
+ [ "text", " " ],
+ [ "identifier", "distmap" ],
+ [ "paren.rparen", "}" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "graph" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "dict",
- " ",
- "set",
- " ",
- "dist",
- " ",
- "$",
- "vertex",
- " ",
- "Inf"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "variable.instancce",
- "variable.instancce",
- "text",
- "identifier"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "set" ],
+ [ "text", " " ],
+ [ "identifier", "dist" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "vertex" ],
+ [ "text", " " ],
+ [ "identifier", "Inf" ]
]
},
{
"state": "commandItem",
- "values": [
- "\t",
- "dict",
- " ",
- "set",
- " ",
- "path",
- " ",
- "$",
- "vertex",
- " ",
- "{",
- "}"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "variable.instancce",
- "variable.instancce",
- "text",
- "paren.lparen",
- "text"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "set" ],
+ [ "text", " " ],
+ [ "identifier", "path" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "vertex" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ],
+ [ "text", "}" ]
]
},
{
"state": "commandItem",
- "values": [
- " }"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " }" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "dict",
- " ",
- "set",
- " ",
- "dist",
- " ",
- "$",
- "origin",
- " 0"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "variable.instancce",
- "variable.instancce",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "set" ],
+ [ "text", " " ],
+ [ "identifier", "dist" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "origin" ],
+ [ "text", " 0" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "dict",
- " ",
- "set",
- " ",
- "path",
- " ",
- "$",
- "origin",
- " ",
- "[",
- "list",
- " ",
- "$",
- "origin",
- "]"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "variable.instancce",
- "variable.instancce",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "variable.instancce",
- "variable.instancce",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "set" ],
+ [ "text", " " ],
+ [ "identifier", "path" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "origin" ],
+ [ "text", " " ],
+ [ "paren.lparen", "[" ],
+ [ "keyword", "list" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "origin" ],
+ [ "paren.rparen", "]" ]
]
},
{
"state": "commandItem",
- "values": [
- " "
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " " ]
]
},
{
"state": "commandItem",
- "values": [
- " ",
- "while",
- " ",
- "{",
- "[",
- "dict",
- " ",
- "size",
- " ",
- "$",
- "graph",
- "]",
- "}",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "variable.instancce",
- "variable.instancce",
- "paren.rparen",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "while" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ],
+ [ "text", "[" ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "size" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "graph" ],
+ [ "paren.rparen", "]" ],
+ [ "paren.rparen", "}" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "# Find unhandled node with least weight"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", "\t" ],
+ [ "comment", "# Find unhandled node with least weight" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "set",
- " ",
- "d",
- " ",
- "Inf"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "set" ],
+ [ "text", " " ],
+ [ "identifier", "d" ],
+ [ "text", " " ],
+ [ "identifier", "Inf" ]
]
},
{
"state": "commandItem",
- "values": [
- "\t",
- "dict",
- " ",
- "for",
- " ",
- "{",
- "uu",
- " ",
- "-",
- "}",
- " ",
- "$",
- "graph",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "support.function",
- "paren.rparen",
- "text",
- "variable.instancce",
- "variable.instancce",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "for" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ],
+ [ "keyword", "uu" ],
+ [ "text", " " ],
+ [ "support.function", "-" ],
+ [ "paren.rparen", "}" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "graph" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "commandItem",
- "values": [
- "\t ",
- "if",
- " ",
- "{",
- "$",
- "d",
- " ",
- ">",
- " ",
- "[",
- "set",
- " ",
- "dd",
- " ",
- "[",
- "dict",
- " ",
- "get",
- " ",
- "$",
- "dist",
- " ",
- "$",
- "uu",
- "]",
- "]",
- "}",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "variable.instancce",
- "variable.instancce",
- "text",
- "support.function",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "identifier",
- "text",
- "variable.instancce",
- "variable.instancce",
- "text",
- "variable.instancce",
- "variable.instancce",
- "paren.rparen",
- "paren.rparen",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", "\t " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "d" ],
+ [ "text", " " ],
+ [ "support.function", ">" ],
+ [ "text", " " ],
+ [ "paren.lparen", "[" ],
+ [ "keyword", "set" ],
+ [ "text", " " ],
+ [ "identifier", "dd" ],
+ [ "text", " " ],
+ [ "paren.lparen", "[" ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "get" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "dist" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "uu" ],
+ [ "paren.rparen", "]" ],
+ [ "paren.rparen", "]" ],
+ [ "paren.rparen", "}" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- "\t\t",
- "set",
- " ",
- "u",
- " ",
- "$",
- "uu"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "variable.instancce",
- "variable.instancce"
+ "data": [
+ [ "text", "\t\t" ],
+ [ "keyword", "set" ],
+ [ "text", " " ],
+ [ "identifier", "u" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "uu" ]
]
},
{
"state": "start",
- "values": [
- "\t\t",
- "set",
- " ",
- "d",
- " ",
- "$",
- "dd"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "variable.instancce",
- "variable.instancce"
+ "data": [
+ [ "text", "\t\t" ],
+ [ "keyword", "set" ],
+ [ "text", " " ],
+ [ "identifier", "d" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "dd" ]
]
},
{
"state": "commandItem",
- "values": [
- "\t }"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "\t }" ]
]
},
{
"state": "commandItem",
- "values": [
- "\t}"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "\t}" ]
]
},
{
"state": "commandItem",
- "values": [
- " "
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "# No such node; graph must be disconnected"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", "\t" ],
+ [ "comment", "# No such node; graph must be disconnected" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "if",
- " ",
- "{",
- "$",
- "d",
- " ",
- "==",
- " ",
- "Inf",
- "}",
- " ",
- "break"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "variable.instancce",
- "variable.instancce",
- "text",
- "support.function",
- "text",
- "identifier",
- "paren.rparen",
- "text",
- "identifier"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "d" ],
+ [ "text", " " ],
+ [ "support.function", "==" ],
+ [ "text", " " ],
+ [ "identifier", "Inf" ],
+ [ "paren.rparen", "}" ],
+ [ "text", " " ],
+ [ "identifier", "break" ]
]
},
{
"state": "commandItem",
- "values": [
- " "
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " " ]
]
},
{
"state": "commentfollow",
- "values": [
- "\t",
- "# Update the weights for nodes\\"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", "\t" ],
+ [ "comment", "# Update the weights for nodes\\" ]
]
},
{
"state": "start",
- "values": [
- "\t lead to by the node we've picked"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "\t lead to by the node we've picked" ]
]
},
{
"state": "commandItem",
- "values": [
- "\t",
- "dict",
- " ",
- "for",
- " ",
- "{",
- "v",
- " ",
- "dd",
- "}",
- " ",
- "[",
- "dict",
- " ",
- "get",
- " ",
- "$",
- "graph",
- " ",
- "$",
- "u",
- "]",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "identifier",
- "paren.rparen",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "identifier",
- "text",
- "variable.instancce",
- "variable.instancce",
- "text",
- "variable.instancce",
- "variable.instancce",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "for" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ],
+ [ "keyword", "v" ],
+ [ "text", " " ],
+ [ "identifier", "dd" ],
+ [ "paren.rparen", "}" ],
+ [ "text", " " ],
+ [ "paren.lparen", "[" ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "get" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "graph" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "u" ],
+ [ "paren.rparen", "]" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "commandItem",
- "values": [
- "\t ",
- "if",
- " ",
- "{",
- "[",
- "dict",
- " ",
- "exists",
- " ",
- "$",
- "graph",
- " ",
- "$",
- "v",
- "]",
- "}",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "variable.instancce",
- "variable.instancce",
- "text",
- "variable.instancce",
- "variable.instancce",
- "paren.rparen",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", "\t " ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ],
+ [ "text", "[" ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "exists" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "graph" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "v" ],
+ [ "paren.rparen", "]" ],
+ [ "paren.rparen", "}" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- "\t\t",
- "set",
- " ",
- "alt",
- " ",
- "[",
- "expr",
- " ",
- "{",
- "$",
- "d",
- " ",
- "+",
- " ",
- "$",
- "dd",
- "}",
- "]"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "paren.lparen",
- "variable.instancce",
- "variable.instancce",
- "text",
- "support.function",
- "text",
- "variable.instancce",
- "variable.instancce",
- "paren.rparen",
- "paren.rparen"
+ "data": [
+ [ "text", "\t\t" ],
+ [ "keyword", "set" ],
+ [ "text", " " ],
+ [ "identifier", "alt" ],
+ [ "text", " " ],
+ [ "paren.lparen", "[" ],
+ [ "keyword", "expr" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "d" ],
+ [ "text", " " ],
+ [ "support.function", "+" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "dd" ],
+ [ "paren.rparen", "}" ],
+ [ "paren.rparen", "]" ]
]
},
{
"state": "commandItem",
- "values": [
- "\t\t",
- "if",
- " ",
- "{",
- "$",
- "alt",
- " ",
- "<",
- " ",
- "[",
- "dict",
- " ",
- "get",
- " ",
- "$",
- "dist",
- " ",
- "$",
- "v",
- "]",
- "}",
- " ",
- "{"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "variable.instancce",
- "variable.instancce",
- "text",
- "support.function",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "identifier",
- "text",
- "variable.instancce",
- "variable.instancce",
- "text",
- "variable.instancce",
- "variable.instancce",
- "paren.rparen",
- "paren.rparen",
- "text",
- "paren.lparen"
+ "data": [
+ [ "text", "\t\t" ],
+ [ "keyword", "if" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "alt" ],
+ [ "text", " " ],
+ [ "support.function", "<" ],
+ [ "text", " " ],
+ [ "paren.lparen", "[" ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "get" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "dist" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "v" ],
+ [ "paren.rparen", "]" ],
+ [ "paren.rparen", "}" ],
+ [ "text", " " ],
+ [ "paren.lparen", "{" ]
]
},
{
"state": "start",
- "values": [
- "\t\t ",
- "dict",
- " ",
- "set",
- " ",
- "dist",
- " ",
- "$",
- "v",
- " ",
- "$",
- "alt"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "variable.instancce",
- "variable.instancce",
- "text",
- "variable.instancce",
- "variable.instancce"
+ "data": [
+ [ "text", "\t\t " ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "set" ],
+ [ "text", " " ],
+ [ "identifier", "dist" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "v" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "alt" ]
]
},
{
"state": "start",
- "values": [
- "\t\t ",
- "dict",
- " ",
- "set",
- " ",
- "path",
- " ",
- "$",
- "v",
- " ",
- "[",
- "list",
- " ",
- "{*}",
- "[",
- "dict",
- " ",
- "get",
- " ",
- "$",
- "path",
- " ",
- "$",
- "u",
- "]",
- " ",
- "$",
- "v",
- "]"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "variable.instancce",
- "variable.instancce",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "support.function",
- "paren.lparen",
- "keyword",
- "text",
- "identifier",
- "text",
- "variable.instancce",
- "variable.instancce",
- "text",
- "variable.instancce",
- "variable.instancce",
- "paren.rparen",
- "text",
- "variable.instancce",
- "variable.instancce",
- "paren.rparen"
+ "data": [
+ [ "text", "\t\t " ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "set" ],
+ [ "text", " " ],
+ [ "identifier", "path" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "v" ],
+ [ "text", " " ],
+ [ "paren.lparen", "[" ],
+ [ "keyword", "list" ],
+ [ "text", " " ],
+ [ "support.function", "{*}" ],
+ [ "paren.lparen", "[" ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "get" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "path" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "u" ],
+ [ "paren.rparen", "]" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "v" ],
+ [ "paren.rparen", "]" ]
]
},
{
"state": "commandItem",
- "values": [
- "\t\t}"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "\t\t}" ]
]
},
{
"state": "commandItem",
- "values": [
- "\t }"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "\t }" ]
]
},
{
"state": "commandItem",
- "values": [
- "\t}"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "\t}" ]
]
},
{
"state": "commandItem",
- "values": [
- " "
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "# Remove chosen node from graph still to be handled"
- ],
- "types": [
- "text",
- "comment"
+ "data": [
+ [ "text", "\t" ],
+ [ "comment", "# Remove chosen node from graph still to be handled" ]
]
},
{
"state": "start",
- "values": [
- "\t",
- "dict",
- " ",
- "unset",
- " ",
- "graph",
- " ",
- "$",
- "u"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "identifier",
- "text",
- "identifier",
- "text",
- "variable.instancce",
- "variable.instancce"
+ "data": [
+ [ "text", "\t" ],
+ [ "keyword", "dict" ],
+ [ "text", " " ],
+ [ "identifier", "unset" ],
+ [ "text", " " ],
+ [ "identifier", "graph" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "u" ]
]
},
{
"state": "commandItem",
- "values": [
- " }"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " }" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "return",
- " ",
- "[",
- "list",
- " ",
- "$",
- "dist",
- " ",
- "$",
- "path",
- "]"
- ],
- "types": [
- "text",
- "keyword",
- "text",
- "paren.lparen",
- "keyword",
- "text",
- "variable.instancce",
- "variable.instancce",
- "text",
- "variable.instancce",
- "variable.instancce",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "keyword", "return" ],
+ [ "text", " " ],
+ [ "paren.lparen", "[" ],
+ [ "keyword", "list" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "dist" ],
+ [ "text", " " ],
+ [ "variable.instancce", "$" ],
+ [ "variable.instancce", "path" ],
+ [ "paren.rparen", "]" ]
]
},
{
"state": "commandItem",
- "values": [
- "}"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "}" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_text.json b/lib/ace/mode/_test/tokens_text.json
index 04841ed6..b74923cd 100644
--- a/lib/ace/mode/_test/tokens_text.json
+++ b/lib/ace/mode/_test/tokens_text.json
@@ -1,81 +1,58 @@
[
{
"state": "start",
- "values": [
- "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis."
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_textile.json b/lib/ace/mode/_test/tokens_textile.json
index c610133a..beb947bc 100644
--- a/lib/ace/mode/_test/tokens_textile.json
+++ b/lib/ace/mode/_test/tokens_textile.json
@@ -1,301 +1,195 @@
[
{
"state": "start",
- "values": [
- "h1",
- ". ",
- "Textile document"
- ],
- "types": [
- "markup.heading.1",
- "keyword",
- "text"
+ "data": [
+ [ "markup.heading.1", "h1" ],
+ [ "keyword", ". " ],
+ [ "text", "Textile document" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "h2",
- ". ",
- "Heading Two"
- ],
- "types": [
- "markup.heading.2",
- "keyword",
- "text"
+ "data": [
+ [ "markup.heading.2", "h2" ],
+ [ "keyword", ". " ],
+ [ "text", "Heading Two" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "h3",
- ". ",
- "A two-line"
- ],
- "types": [
- "markup.heading.3",
- "keyword",
- "text"
+ "data": [
+ [ "markup.heading.3", "h3" ],
+ [ "keyword", ". " ],
+ [ "text", "A two-line" ]
]
},
{
"state": "start",
- "values": [
- " header"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " header" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "h2",
- ". ",
- "Another two-line"
- ],
- "types": [
- "markup.heading.2",
- "keyword",
- "text"
+ "data": [
+ [ "markup.heading.2", "h2" ],
+ [ "keyword", ". " ],
+ [ "text", "Another two-line" ]
]
},
{
"state": "start",
- "values": [
- "header"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "header" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "Paragraph:"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "Paragraph:" ]
]
},
{
"state": "start",
- "values": [
- "one, two,"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "one, two," ]
]
},
{
"state": "start",
- "values": [
- "thee lines!"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "thee lines!" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "p",
- "(",
- "classone",
- " ",
- "two",
- " ",
- "three",
- ")",
- ". ",
- "This is a paragraph with classes"
- ],
- "types": [
- "markup.heading",
- "keyword",
- "string",
- "text",
- "string",
- "text",
- "string",
- "keyword",
- "keyword",
- "text"
+ "data": [
+ [ "markup.heading", "p" ],
+ [ "keyword", "(" ],
+ [ "string", "classone" ],
+ [ "text", " " ],
+ [ "string", "two" ],
+ [ "text", " " ],
+ [ "string", "three" ],
+ [ "keyword", ")" ],
+ [ "keyword", ". " ],
+ [ "text", "This is a paragraph with classes" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "p",
- "(",
- "#",
- "id",
- ")",
- ". ",
- "(one with an id)"
- ],
- "types": [
- "markup.heading",
- "keyword",
- "keyword",
- "string",
- "keyword",
- "keyword",
- "text"
+ "data": [
+ [ "markup.heading", "p" ],
+ [ "keyword", "(" ],
+ [ "keyword", "#" ],
+ [ "string", "id" ],
+ [ "keyword", ")" ],
+ [ "keyword", ". " ],
+ [ "text", "(one with an id)" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "p",
- "(",
- "one",
- " ",
- "two",
- " ",
- "three",
- "#",
- "my_id",
- ")",
- ". ",
- "..classes + id"
- ],
- "types": [
- "markup.heading",
- "keyword",
- "string",
- "text",
- "string",
- "text",
- "string",
- "keyword",
- "string",
- "keyword",
- "keyword",
- "text"
+ "data": [
+ [ "markup.heading", "p" ],
+ [ "keyword", "(" ],
+ [ "string", "one" ],
+ [ "text", " " ],
+ [ "string", "two" ],
+ [ "text", " " ],
+ [ "string", "three" ],
+ [ "keyword", "#" ],
+ [ "string", "my_id" ],
+ [ "keyword", ")" ],
+ [ "keyword", ". " ],
+ [ "text", "..classes + id" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "*",
- " Unordered list"
- ],
- "types": [
- "keyword",
- "text"
+ "data": [
+ [ "keyword", "*" ],
+ [ "text", " Unordered list" ]
]
},
{
"state": "start",
- "values": [
- "**",
- " sublist"
- ],
- "types": [
- "keyword",
- "text"
+ "data": [
+ [ "keyword", "**" ],
+ [ "text", " sublist" ]
]
},
{
"state": "start",
- "values": [
- "*",
- " back again!"
- ],
- "types": [
- "keyword",
- "text"
+ "data": [
+ [ "keyword", "*" ],
+ [ "text", " back again!" ]
]
},
{
"state": "start",
- "values": [
- "**",
- " sublist again.."
- ],
- "types": [
- "keyword",
- "text"
+ "data": [
+ [ "keyword", "**" ],
+ [ "text", " sublist again.." ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "#",
- " ordered"
- ],
- "types": [
- "keyword",
- "text"
+ "data": [
+ [ "keyword", "#" ],
+ [ "text", " ordered" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "bg. Blockquote!"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", "bg. Blockquote!" ]
]
},
{
"state": "start",
- "values": [
- " This is a two-list blockquote..!"
- ],
- "types": [
- "text"
+ "data": [
+ [ "text", " This is a two-list blockquote..!" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_xml.json b/lib/ace/mode/_test/tokens_xml.json
index e5047146..06b50b48 100644
--- a/lib/ace/mode/_test/tokens_xml.json
+++ b/lib/ace/mode/_test/tokens_xml.json
@@ -1,1243 +1,705 @@
[
{
"state": "start",
- "values": [
- ""
- ],
- "types": [
- "xml_pe"
+ "data": [
+ [ "xml_pe", "" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- "<",
- "query",
- " ",
- "xmlns:yahoo",
- "=",
- "\"http://www.yahooapis.com/v1/base.rng\""
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "query" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xmlns:yahoo" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://www.yahooapis.com/v1/base.rng\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "yahoo:count",
- "=",
- "\"7\"",
- " ",
- "yahoo:created",
- "=",
- "\"2011-10-11T08:40:23Z\"",
- " ",
- "yahoo:lang",
- "=",
- "\"en-US\"",
- ">"
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "yahoo:count" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"7\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "yahoo:created" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"2011-10-11T08:40:23Z\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "yahoo:lang" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"en-US\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "diagnostics",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "diagnostics" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "publiclyCallable",
- ">",
- "true",
- "",
- "publiclyCallable",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "publiclyCallable" ],
+ [ "meta.tag", ">" ],
+ [ "text", "true" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "publiclyCallable" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "url",
- " ",
- "execution-start-time",
- "=",
- "\"0\"",
- " ",
- "execution-stop-time",
- "=",
- "\"25\"",
- " ",
- "execution-time",
- "=",
- "\"25\"",
- ">",
- "",
- "",
- "url",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "url" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "execution-start-time" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"0\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "execution-stop-time" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"25\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "execution-time" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"25\"" ],
+ [ "meta.tag", ">" ],
+ [ "text", "" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "url" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "user-time",
- ">",
- "26",
- "",
- "user-time",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "user-time" ],
+ [ "meta.tag", ">" ],
+ [ "text", "26" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "user-time" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "service-time",
- ">",
- "25",
- "",
- "service-time",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "service-time" ],
+ [ "meta.tag", ">" ],
+ [ "text", "25" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "service-time" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "build-version",
- ">",
- "21978",
- "",
- "build-version",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "build-version" ],
+ [ "meta.tag", ">" ],
+ [ "text", "21978" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "build-version" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "",
- "diagnostics",
- ">",
- " "
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "diagnostics" ],
+ [ "meta.tag", ">" ],
+ [ "text", " " ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "results",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "results" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "<",
- "place",
- " ",
- "xmlns",
- "=",
- "\"http://where.yahooapis.com/v1/schema.rng\""
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "place" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xmlns" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://where.yahooapis.com/v1/schema.rng\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "xml:lang",
- "=",
- "\"en-US\"",
- " ",
- "yahoo:uri",
- "=",
- "\"http://where.yahooapis.com/v1/place/24865670\"",
- ">"
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xml:lang" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"en-US\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "yahoo:uri" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://where.yahooapis.com/v1/place/24865670\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "woeid",
- ">",
- "24865670",
- "",
- "woeid",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "woeid" ],
+ [ "meta.tag", ">" ],
+ [ "text", "24865670" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "woeid" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "placeTypeName",
- " ",
- "code",
- "=",
- "\"29\"",
- ">",
- "Continent",
- "",
- "placeTypeName",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "placeTypeName" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "code" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"29\"" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Continent" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "placeTypeName" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "name",
- ">",
- "Africa",
- "",
- "name",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "name" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Africa" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "name" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "",
- "place",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "place" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "<",
- "place",
- " ",
- "xmlns",
- "=",
- "\"http://where.yahooapis.com/v1/schema.rng\""
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "place" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xmlns" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://where.yahooapis.com/v1/schema.rng\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "xml:lang",
- "=",
- "\"en-US\"",
- " ",
- "yahoo:uri",
- "=",
- "\"http://where.yahooapis.com/v1/place/24865675\"",
- ">"
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xml:lang" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"en-US\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "yahoo:uri" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://where.yahooapis.com/v1/place/24865675\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "woeid",
- ">",
- "24865675",
- "",
- "woeid",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "woeid" ],
+ [ "meta.tag", ">" ],
+ [ "text", "24865675" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "woeid" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "placeTypeName",
- " ",
- "code",
- "=",
- "\"29\"",
- ">",
- "Continent",
- "",
- "placeTypeName",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "placeTypeName" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "code" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"29\"" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Continent" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "placeTypeName" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "name",
- ">",
- "Europe",
- "",
- "name",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "name" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Europe" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "name" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "",
- "place",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "place" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "<",
- "place",
- " ",
- "xmlns",
- "=",
- "\"http://where.yahooapis.com/v1/schema.rng\""
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "place" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xmlns" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://where.yahooapis.com/v1/schema.rng\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "xml:lang",
- "=",
- "\"en-US\"",
- " ",
- "yahoo:uri",
- "=",
- "\"http://where.yahooapis.com/v1/place/24865673\"",
- ">"
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xml:lang" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"en-US\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "yahoo:uri" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://where.yahooapis.com/v1/place/24865673\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "woeid",
- ">",
- "24865673",
- "",
- "woeid",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "woeid" ],
+ [ "meta.tag", ">" ],
+ [ "text", "24865673" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "woeid" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "placeTypeName",
- " ",
- "code",
- "=",
- "\"29\"",
- ">",
- "Continent",
- "",
- "placeTypeName",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "placeTypeName" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "code" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"29\"" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Continent" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "placeTypeName" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "name",
- ">",
- "South America",
- "",
- "name",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "name" ],
+ [ "meta.tag", ">" ],
+ [ "text", "South America" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "name" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "",
- "place",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "place" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "<",
- "place",
- " ",
- "xmlns",
- "=",
- "\"http://where.yahooapis.com/v1/schema.rng\""
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "place" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xmlns" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://where.yahooapis.com/v1/schema.rng\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "xml:lang",
- "=",
- "\"en-US\"",
- " ",
- "yahoo:uri",
- "=",
- "\"http://where.yahooapis.com/v1/place/28289421\"",
- ">"
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xml:lang" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"en-US\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "yahoo:uri" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://where.yahooapis.com/v1/place/28289421\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "woeid",
- ">",
- "28289421",
- "",
- "woeid",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "woeid" ],
+ [ "meta.tag", ">" ],
+ [ "text", "28289421" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "woeid" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "placeTypeName",
- " ",
- "code",
- "=",
- "\"29\"",
- ">",
- "Continent",
- "",
- "placeTypeName",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "placeTypeName" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "code" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"29\"" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Continent" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "placeTypeName" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "name",
- ">",
- "Antarctic",
- "",
- "name",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "name" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Antarctic" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "name" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "",
- "place",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "place" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "<",
- "place",
- " ",
- "xmlns",
- "=",
- "\"http://where.yahooapis.com/v1/schema.rng\""
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "place" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xmlns" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://where.yahooapis.com/v1/schema.rng\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "xml:lang",
- "=",
- "\"en-US\"",
- " ",
- "yahoo:uri",
- "=",
- "\"http://where.yahooapis.com/v1/place/24865671\"",
- ">"
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xml:lang" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"en-US\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "yahoo:uri" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://where.yahooapis.com/v1/place/24865671\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "woeid",
- ">",
- "24865671",
- "",
- "woeid",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "woeid" ],
+ [ "meta.tag", ">" ],
+ [ "text", "24865671" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "woeid" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "placeTypeName",
- " ",
- "code",
- "=",
- "\"29\"",
- ">",
- "Continent",
- "",
- "placeTypeName",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "placeTypeName" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "code" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"29\"" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Continent" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "placeTypeName" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "name",
- ">",
- "Asia",
- "",
- "name",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "name" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Asia" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "name" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "",
- "place",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "place" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "<",
- "place",
- " ",
- "xmlns",
- "=",
- "\"http://where.yahooapis.com/v1/schema.rng\""
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "place" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xmlns" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://where.yahooapis.com/v1/schema.rng\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "xml:lang",
- "=",
- "\"en-US\"",
- " ",
- "yahoo:uri",
- "=",
- "\"http://where.yahooapis.com/v1/place/24865672\"",
- ">"
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xml:lang" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"en-US\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "yahoo:uri" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://where.yahooapis.com/v1/place/24865672\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "woeid",
- ">",
- "24865672",
- "",
- "woeid",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "woeid" ],
+ [ "meta.tag", ">" ],
+ [ "text", "24865672" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "woeid" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "placeTypeName",
- " ",
- "code",
- "=",
- "\"29\"",
- ">",
- "Continent",
- "",
- "placeTypeName",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "placeTypeName" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "code" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"29\"" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Continent" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "placeTypeName" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "name",
- ">",
- "North America",
- "",
- "name",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "name" ],
+ [ "meta.tag", ">" ],
+ [ "text", "North America" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "name" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "",
- "place",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "place" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "tag_embed_attribute_list",
- "values": [
- " ",
- "<",
- "place",
- " ",
- "xmlns",
- "=",
- "\"http://where.yahooapis.com/v1/schema.rng\""
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "place" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xmlns" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://where.yahooapis.com/v1/schema.rng\"" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "xml:lang",
- "=",
- "\"en-US\"",
- " ",
- "yahoo:uri",
- "=",
- "\"http://where.yahooapis.com/v1/place/55949070\"",
- ">"
- ],
- "types": [
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "xml:lang" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"en-US\"" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "yahoo:uri" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"http://where.yahooapis.com/v1/place/55949070\"" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "woeid",
- ">",
- "55949070",
- "",
- "woeid",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "woeid" ],
+ [ "meta.tag", ">" ],
+ [ "text", "55949070" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "woeid" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "placeTypeName",
- " ",
- "code",
- "=",
- "\"29\"",
- ">",
- "Continent",
- "",
- "placeTypeName",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "text",
- "entity.other.attribute-name",
- "keyword.operator",
- "string",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "placeTypeName" ],
+ [ "text", " " ],
+ [ "entity.other.attribute-name", "code" ],
+ [ "keyword.operator", "=" ],
+ [ "string", "\"29\"" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Continent" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "placeTypeName" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "<",
- "name",
- ">",
- "Australia",
- "",
- "name",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag",
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "<" ],
+ [ "meta.tag.tag-name", "name" ],
+ [ "meta.tag", ">" ],
+ [ "text", "Australia" ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "name" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "",
- "place",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "place" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "",
- "results",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "text", " " ],
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "results" ],
+ [ "meta.tag", ">" ]
]
},
{
"state": "start",
- "values": [
- "",
- "query",
- ">"
- ],
- "types": [
- "meta.tag",
- "meta.tag.tag-name",
- "meta.tag"
+ "data": [
+ [ "meta.tag", "" ],
+ [ "meta.tag.tag-name", "query" ],
+ [ "meta.tag", ">" ]
]
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_xquery.json b/lib/ace/mode/_test/tokens_xquery.json
index 2c1a8499..62d9c927 100644
--- a/lib/ace/mode/_test/tokens_xquery.json
+++ b/lib/ace/mode/_test/tokens_xquery.json
@@ -1,105 +1,64 @@
[
{
"state": "start",
- "values": [
- "xquery",
- " ",
- "version",
- " ",
- "\"1.0\"",
- ";"
- ],
- "types": [
- "keyword",
- "text",
- "keyword",
- "text",
- "string",
- "text"
+ "data": [
+ [ "keyword", "xquery" ],
+ [ "text", " " ],
+ [ "keyword", "version" ],
+ [ "text", " " ],
+ [ "string", "\"1.0\"" ],
+ [ "text", ";" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "let",
- " ",
- "$message",
- " :",
- "=",
- " ",
- "\"Hello World!\""
- ],
- "types": [
- "keyword",
- "text",
- "variable",
- "text",
- "keyword.operator",
- "text",
- "string"
+ "data": [
+ [ "keyword", "let" ],
+ [ "text", " " ],
+ [ "variable", "$message" ],
+ [ "text", " :" ],
+ [ "keyword.operator", "=" ],
+ [ "text", " " ],
+ [ "string", "\"Hello World!\"" ]
]
},
{
"state": "start",
- "values": [
- "return",
- " <",
- "results",
- ">"
- ],
- "types": [
- "keyword",
- "text",
- "meta.tag",
- "text"
+ "data": [
+ [ "keyword", "return" ],
+ [ "text", " <" ],
+ [ "meta.tag", "results" ],
+ [ "text", ">" ]
]
},
{
"state": "start",
- "values": [
- " <",
- "message",
- ">",
- "{",
- "$message",
- "}",
- "",
- "message",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "text",
- "lparen",
- "variable",
- "rparen",
- "text",
- "meta.tag",
- "text"
+ "data": [
+ [ "text", " <" ],
+ [ "meta.tag", "message" ],
+ [ "text", ">" ],
+ [ "lparen", "{" ],
+ [ "variable", "$message" ],
+ [ "rparen", "}" ],
+ [ "text", "" ],
+ [ "meta.tag", "message" ],
+ [ "text", ">" ]
]
},
{
"state": "start",
- "values": [
- "",
- "results",
- ">"
- ],
- "types": [
- "text",
- "meta.tag",
- "text"
+ "data": [
+ [ "text", "" ],
+ [ "meta.tag", "results" ],
+ [ "text", ">" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/_test/tokens_yaml.json b/lib/ace/mode/_test/tokens_yaml.json
index 4b5c63b5..9a8c1ce7 100644
--- a/lib/ace/mode/_test/tokens_yaml.json
+++ b/lib/ace/mode/_test/tokens_yaml.json
@@ -1,410 +1,260 @@
[
{
"state": "start",
- "values": [
- "# This sample document was taken from wikipedia:"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "# This sample document was taken from wikipedia:" ]
]
},
{
"state": "start",
- "values": [
- "# http://en.wikipedia.org/wiki/YAML#Sample_document"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "# http://en.wikipedia.org/wiki/YAML#Sample_document" ]
]
},
{
"state": "start",
- "values": [
- "---"
- ],
- "types": [
- "comment"
+ "data": [
+ [ "comment", "---" ]
]
},
{
"state": "start",
- "values": [
- "receipt:",
- " Oz-Ware Purchase Invoice"
- ],
- "types": [
- "identifier",
- "text"
+ "data": [
+ [ "identifier", "receipt:" ],
+ [ "text", " Oz-Ware Purchase Invoice" ]
]
},
{
"state": "start",
- "values": [
- "date:",
- " ",
- "2007",
- "-08",
- "-06"
- ],
- "types": [
- "identifier",
- "text",
- "constant.numeric",
- "constant.numeric",
- "constant.numeric"
+ "data": [
+ [ "identifier", "date:" ],
+ [ "text", " " ],
+ [ "constant.numeric", "2007" ],
+ [ "constant.numeric", "-08" ],
+ [ "constant.numeric", "-06" ]
]
},
{
"state": "start",
- "values": [
- "customer:"
- ],
- "types": [
- "identifier"
+ "data": [
+ [ "identifier", "customer:" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "given:",
- " Dorothy"
- ],
- "types": [
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "given:" ],
+ [ "text", " Dorothy" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "family:",
- " Gale"
- ],
- "types": [
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "family:" ],
+ [ "text", " Gale" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "items:"
- ],
- "types": [
- "identifier"
+ "data": [
+ [ "identifier", "items:" ]
]
},
{
"state": "start",
- "values": [
- " - ",
- "part_no:",
- " ",
- "'A4786'"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "string"
+ "data": [
+ [ "text", " - " ],
+ [ "identifier", "part_no:" ],
+ [ "text", " " ],
+ [ "string", "'A4786'" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "descrip:",
- " Water Bucket ",
- "(",
- "Filled",
- ")"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "paren.lparen",
- "text",
- "paren.rparen"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "descrip:" ],
+ [ "text", " Water Bucket " ],
+ [ "paren.lparen", "(" ],
+ [ "text", "Filled" ],
+ [ "paren.rparen", ")" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "price:",
- " ",
- "1.47"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "price:" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1.47" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "quantity:",
- " ",
- "4"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "quantity:" ],
+ [ "text", " " ],
+ [ "constant.numeric", "4" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- " - ",
- "part_no:",
- " ",
- "'E1628'"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "string"
+ "data": [
+ [ "text", " - " ],
+ [ "identifier", "part_no:" ],
+ [ "text", " " ],
+ [ "string", "'E1628'" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "descrip:",
- " High Heeled ",
- "\"Ruby\"",
- " Slippers"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "string",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "descrip:" ],
+ [ "text", " High Heeled " ],
+ [ "string", "\"Ruby\"" ],
+ [ "text", " Slippers" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "size:",
- " ",
- "8"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "size:" ],
+ [ "text", " " ],
+ [ "constant.numeric", "8" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "price:",
- " ",
- "100.27"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "price:" ],
+ [ "text", " " ],
+ [ "constant.numeric", "100.27" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "quantity:",
- " ",
- "1"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "constant.numeric"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "quantity:" ],
+ [ "text", " " ],
+ [ "constant.numeric", "1" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "bill-",
- "to:",
- " ",
- "&id001"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "variable"
+ "data": [
+ [ "text", "bill-" ],
+ [ "identifier", "to:" ],
+ [ "text", " " ],
+ [ "variable", "&id001" ]
]
},
{
"state": "qqstring",
- "values": [
- " ",
- "street:",
- " ",
- "|"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "string"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "street:" ],
+ [ "text", " " ],
+ [ "string", "|" ]
]
},
{
"state": "qqstring",
- "values": [
- " 123 Tornado Alley"
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", " 123 Tornado Alley" ]
]
},
{
"state": "qqstring",
- "values": [
- " Suite 16"
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", " Suite 16" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "city:",
- " East Centerville"
- ],
- "types": [
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "city:" ],
+ [ "text", " East Centerville" ]
]
},
{
"state": "start",
- "values": [
- " ",
- "state:",
- " KS"
- ],
- "types": [
- "text",
- "identifier",
- "text"
+ "data": [
+ [ "text", " " ],
+ [ "identifier", "state:" ],
+ [ "text", " KS" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "start",
- "values": [
- "ship-",
- "to:",
- " ",
- "*id001"
- ],
- "types": [
- "text",
- "identifier",
- "text",
- "variable"
+ "data": [
+ [ "text", "ship-" ],
+ [ "identifier", "to:" ],
+ [ "text", " " ],
+ [ "variable", "*id001" ]
]
},
{
"state": "start",
- "values": [],
- "types": []
+ "data": []
},
{
"state": "qqstring",
- "values": [
- "specialDelivery:",
- " ",
- ">"
- ],
- "types": [
- "identifier",
- "text",
- "string"
+ "data": [
+ [ "identifier", "specialDelivery:" ],
+ [ "text", " " ],
+ [ "string", ">" ]
]
},
{
"state": "qqstring",
- "values": [
- " Follow the Yellow Brick"
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", " Follow the Yellow Brick" ]
]
},
{
"state": "qqstring",
- "values": [
- " Road to the Emerald City."
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", " Road to the Emerald City." ]
]
},
{
"state": "qqstring",
- "values": [
- " Pay no attention to the"
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", " Pay no attention to the" ]
]
},
{
"state": "qqstring",
- "values": [
- " man behind the curtain."
- ],
- "types": [
- "string"
+ "data": [
+ [ "string", " man behind the curtain." ]
]
},
{
"state": "qqstring",
- "values": [],
- "types": []
+ "data": []
}
]
\ No newline at end of file
diff --git a/lib/ace/mode/javascript_highlight_rules.js b/lib/ace/mode/javascript_highlight_rules.js
index 8edebde7..bad7e526 100644
--- a/lib/ace/mode/javascript_highlight_rules.js
+++ b/lib/ace/mode/javascript_highlight_rules.js
@@ -243,6 +243,7 @@ var JavaScriptHighlightRules = function() {
],
"regex": [
{
+ // escapes
token: "regexp.keyword.operator",
regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
}, {
@@ -251,13 +252,21 @@ var JavaScriptHighlightRules = function() {
regex: "/\\w*",
next: "start",
merge: true
+ }, {
+ // invalid operators
+ token : "invalid",
+ regex: /\{\d+,?(?:\d+)?}[+*]|[+*^$?][+*]|\?\?/ // |[^$][?]
+ }, {
+ // operators
+ token : "constant.language.escape",
+ regex: /\(\?[:=!]|\)|\{\d+,?(?:\d+)?}|[+*]\?|[(|)$^+*?]/
}, {
token: "string.regexp",
- regex: "[^\\\\/\\[]+",
+ regex: /{|[^\[\\{()$^+*?\/]+/,
merge: true
}, {
- token: "string.regexp.charachterclass",
- regex: "\\[",
+ token: "constant.language.escape",
+ regex: /\[\^?/,
next: "regex_character_class",
merge: true
}, {
@@ -271,13 +280,16 @@ var JavaScriptHighlightRules = function() {
token: "regexp.keyword.operator",
regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
}, {
- token: "string.regexp.charachterclass",
+ token: "constant.language.escape",
regex: "]",
next: "regex",
merge: true
+ }, {
+ token: "constant.language.escape",
+ regex: "-",
}, {
token: "string.regexp.charachterclass",
- regex: "[^\\\\\\]]+",
+ regex: /[^\]\-\\]+/,
merge: true
}, {
token: "empty",
diff --git a/lib/ace/mode/javascript_highlight_rules_test.js b/lib/ace/mode/javascript_highlight_rules_test.js
index 0f2ba006..36647b0f 100644
--- a/lib/ace/mode/javascript_highlight_rules_test.js
+++ b/lib/ace/mode/javascript_highlight_rules_test.js
@@ -134,7 +134,7 @@ module.exports = {
assert.equal("string.regexp", tokens[2].type);
var tokens = this.tokenizer.getLineTokens("a = 1 + /2 + 1/b", "start").tokens;
- assert.equal(9, tokens.length);
+ assert.equal(11, tokens.length);
assert.equal("string.regexp", tokens[8].type);
var tokens = this.tokenizer.getLineTokens("a=/a/ / /a/", "start").tokens;
diff --git a/lib/ace/multi_select.js b/lib/ace/multi_select.js
index 7b90ebe6..857ffba0 100644
--- a/lib/ace/multi_select.js
+++ b/lib/ace/multi_select.js
@@ -3,7 +3,7 @@
*
* Copyright (c) 2010, Ajax.org B.V.
* All rights reserved.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
@@ -14,7 +14,7 @@
* * Neither the name of Ajax.org B.V. nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
- *
+ *
* 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
@@ -35,6 +35,7 @@ var Range = require("./range").Range;
var Selection = require("./selection").Selection;
var onMouseDown = require("./mouse/multi_select_handler").onMouseDown;
var event = require("./lib/event");
+var lang = require("./lib/lang");
var commands = require("./commands/multi_select_commands");
exports.commands = commands.defaultCommands.concat(commands.multiSelectCommands);
@@ -66,7 +67,7 @@ var EditSession = require("./edit_session").EditSession;
this.rangeList = null;
/** extension
- * Selection.addRange(range, $blockChangeEvents)
+ * Selection.addRange(range, $blockChangeEvents)
* - range (Range): The new range to add
* - $blockChangeEvents (Boolean): Whether or not to block changing events
*
@@ -113,7 +114,7 @@ var EditSession = require("./edit_session").EditSession;
range && this.fromOrientedRange(range);
};
-
+
/** extension
* Selection.substractPoint(pos) -> Range
* - pos (Range): The position to remove, as a `{row, column}` object
@@ -129,7 +130,7 @@ var EditSession = require("./edit_session").EditSession;
};
/** extension
- * Selection.mergeOverlappingRanges()
+ * Selection.mergeOverlappingRanges()
*
* Merges overlapping ranges ensuring consistency after changes
**/
@@ -198,10 +199,19 @@ var EditSession = require("./edit_session").EditSession;
this.setSelectionRange(range, lastRange.cursor == lastRange.start);
} else {
var range = this.getRange();
+ var isBackwards = this.isBackwards();
var startRow = range.start.row;
var endRow = range.end.row;
- if (startRow == endRow)
+ if (startRow == endRow) {
+ if (isBackwards)
+ var start = range.end, end = range.start;
+ else
+ var start = range.start, end = range.end;
+
+ this.addRange(Range.fromPoints(end, end));
+ this.addRange(Range.fromPoints(start, start));
return;
+ }
var rectSel = [];
var r = this.getLineRange(startRow, true);
@@ -241,7 +251,7 @@ var EditSession = require("./edit_session").EditSession;
* - screenCursor (Cursor): The cursor to use
* - screenAnchor (Anchor): The anchor to use
* - includeEmptyLines (Boolean): If true, this includes ranges inside the block which are empty due to clipping
- *
+ *
* Gets list of ranges composing rectangular block on the screen
*
**/
@@ -313,9 +323,9 @@ var EditSession = require("./edit_session").EditSession;
// extend Editor
var Editor = require("./editor").Editor;
(function() {
-
+
/** extension
- * Editor.updateSelectionMarkers()
+ * Editor.updateSelectionMarkers()
*
* Updates the cursor and marker layers.
**/
@@ -343,7 +353,7 @@ var Editor = require("./editor").Editor;
};
/** extension
- * Editor.removeSelectionMarker(range)
+ * Editor.removeSelectionMarker(range)
* - range (Range): The selection range added with [[Editor.addSelectionMarker `addSelectionMarker()`]].
*
* Removes the selection marker.
@@ -431,7 +441,7 @@ var Editor = require("./editor").Editor;
};
/** extension
- * Editor.forEachSelection(cmd, args)
+ * Editor.forEachSelection(cmd, args)
* - cmd (String): The command to execute
* - args (String): Any arguments for the command
*
@@ -496,7 +506,7 @@ var Editor = require("./editor").Editor;
// todo this should change when paste becomes a command
this.onPaste = function(text) {
- if (this.$readOnly)
+ if (this.$readOnly)
return;
this._emit("paste", text);
@@ -551,7 +561,7 @@ var Editor = require("./editor").Editor;
// commands
/** extension
- * Editor.selectMoreLines(dir, skip)
+ * Editor.selectMoreLines(dir, skip)
* - dir (Number): The direction of lines to select: -1 for up, 1 for down
* - skip (Boolean): If `true`, removes the active selection range
*
@@ -596,10 +606,10 @@ var Editor = require("./editor").Editor;
};
/** extension
- * Editor.transposeSelections(dir)
+ * Editor.transposeSelections(dir)
* - dir (Number): The direction to rotate selections
*
- * Transposes the selected ranges.
+ * Transposes the selected ranges.
**/
this.transposeSelections = function(dir) {
var session = this.session;
@@ -639,13 +649,13 @@ var Editor = require("./editor").Editor;
}
/** extension
- * Editor.selectMore(dir, skip)
+ * Editor.selectMore(dir, skip)
* - dir (Number): The direction of lines to select: -1 for up, 1 for down
* - skip (Boolean): If `true`, removes the active selection range
*
* Finds the next occurence of text in an active selection and adds it to the selections.
**/
- this.selectMore = function (dir, skip) {
+ this.selectMore = function(dir, skip) {
var session = this.session;
var sel = session.multiSelect;
@@ -665,6 +675,121 @@ var Editor = require("./editor").Editor;
if (skip)
this.multiSelect.substractPoint(range.cursor);
};
+
+ /** extension
+ * Editor.alignCursors()
+ *
+ * aligns cursors or selected text
+ **/
+ this.alignCursors = function() {
+ var session = this.session;
+ var sel = session.multiSelect;
+ var ranges = sel.ranges;
+
+ if (!ranges.length) {
+ var range = this.selection.getRange();
+ var fr = range.start.row, lr = range.end.row;
+ var lines = this.session.doc.removeLines(fr, lr);
+ lines = this.$reAlignText(lines);
+ this.session.doc.insertLines(fr, lines);
+ range.start.column = 0;
+ range.end.column = lines[lines.length - 1].length;
+ this.selection.setRange(range);
+ } else {
+ // filter out ranges on same row
+ var row = -1;
+ var sameRowRanges = ranges.filter(function(r) {
+ if (r.cursor.row == row)
+ return true;
+ row = r.cursor.row;
+ });
+ sel.$onRemoveRange(sameRowRanges);
+
+ var maxCol = 0;
+ var minSpace = Infinity;
+ var spaceOffsets = ranges.map(function(r) {
+ var p = r.cursor;
+ var line = session.getLine(p.row);
+ var spaceOffset = line.substr(p.column).search(/\S/g);
+ if (spaceOffset == -1)
+ spaceOffset = 0;
+
+ if (p.column > maxCol)
+ maxCol = p.column;
+ if (spaceOffset < minSpace)
+ minSpace = spaceOffset;
+ return spaceOffset;
+ });
+ ranges.forEach(function(r, i) {
+ var p = r.cursor;
+ var l = maxCol - p.column;
+ var d = spaceOffsets[i] - minSpace;
+ if (l > d)
+ session.insert(p, lang.stringRepeat(" ", l - d));
+ else
+ session.remove(new Range(p.row, p.column, p.row, p.column - l + d));
+
+ r.start.column = r.end.column = maxCol;
+ r.start.row = r.end.row = p.row;
+ r.cursor = r.end;
+ });
+ sel.fromOrientedRange(ranges[0]);
+ this.renderer.updateCursor();
+ this.renderer.updateBackMarkers();
+ }
+ };
+
+ this.$reAlignText = function(lines) {
+ var isLeftAligned = true, isRightAligned = true;
+ var startW, textW, endW;
+
+ return lines.map(function(line) {
+ var m = line.match(/(\s*)(.*?)(\s*)([=:].*)/);
+ if (!m)
+ return [line];
+
+ if (startW == null) {
+ startW = m[1].length;
+ textW = m[2].length;
+ endW = m[3].length;
+ return m;
+ }
+
+ if (startW + textW + endW != m[1].length + m[2].length + m[3].length)
+ isRightAligned = false;
+ if (startW != m[1].length)
+ isLeftAligned = false;
+
+ if (startW > m[1].length)
+ startW = m[1].length;
+ if (textW < m[2].length)
+ textW = m[2].length;
+ if (endW > m[3].length)
+ endW = m[3].length;
+
+ return m;
+ }).map(isLeftAligned ? isRightAligned ? alignRight : alignLeft : unAlign);
+
+ function strRepeat(n, ch) {
+ return Array(n + 1).join(ch)
+ }
+
+ function alignLeft(m) {
+ return !m[2] ? m[0] : strRepeat(startW, " ") + m[2]
+ + strRepeat(textW - m[2].length + endW, " ")
+ + m[4].replace(/^([=:])\s+/, "$1 ")
+ }
+ function alignRight(m) {
+ return !m[2] ? m[0] : strRepeat(startW + textW - m[2].length, " ") + m[2]
+ + strRepeat(endW, " ")
+ + m[4].replace(/^([=:])\s+/, "$1 ")
+ }
+ function unAlign(m) {
+ return !m[2] ? m[0] : strRepeat(startW, " ") + m[2]
+ + strRepeat(endW, " ")
+ + m[4].replace(/^([=:])\s+/, "$1 ")
+ }
+ }
}).call(Editor.prototype);
@@ -710,7 +835,7 @@ exports.onSessionChange = function(e) {
}
};
-// MultiSelect(editor)
+// MultiSelect(editor)
// adds multiple selection support to the editor
// (note: should be called only once for each editor instance)
function MultiSelect(editor) {
diff --git a/lib/ace/scrollbar.js b/lib/ace/scrollbar.js
index 7ee4da6f..edb37ea9 100644
--- a/lib/ace/scrollbar.js
+++ b/lib/ace/scrollbar.js
@@ -123,7 +123,7 @@ var ScrollBar = function(parent) {
* Sets the scroll top of the scroll bar.
*
**/
- // TODO: on chrome 17+ after for small zoom levels after this function
+ // TODO: on chrome 17+ for small zoom levels after calling this function
// this.element.scrollTop != scrollTop which makes page to scroll up.
this.setScrollTop = function(scrollTop) {
this.element.scrollTop = scrollTop;
diff --git a/lib/ace/theme/chrome.css b/lib/ace/theme/chrome.css
index 8a50d17f..7c0ed3bd 100644
--- a/lib/ace/theme/chrome.css
+++ b/lib/ace/theme/chrome.css
@@ -17,7 +17,8 @@
background: #e8e8e8;
}
-.ace-chrome .ace_text-layer {
+.ace-chrome .ace_scroller {
+ background-color: #FFFFFF;
}
.ace-chrome .ace_cursor {
@@ -69,7 +70,7 @@
.ace-chrome .ace_variable.ace_parameter {
font-style:italic;
-color:#FD971F;
+ color:#FD971F;
}
.ace-chrome .ace_line .ace_keyword.ace_operator {
color: rgb(104, 118, 135);
@@ -103,7 +104,7 @@ color:#FD971F;
color: #0000A2;
}
-.ace-chrome .ace_markup.ace_markupine {
+.ace-chrome .ace_markup.ace_underline {
text-decoration:underline;
}
@@ -155,11 +156,11 @@ color:#FD971F;
color: rgb(255, 0, 0)
}
-.ace-chrome .ace_line .ace_string{
+.ace-chrome .ace_line .ace_string {
color: #1A1AA6;
}
-.ace-chrome .ace_entity.ace_other.ace_attribute-name{
+.ace-chrome .ace_entity.ace_other.ace_attribute-name {
color: #994409;
}
diff --git a/lib/ace/theme/crimson_editor.css b/lib/ace/theme/crimson_editor.css
index 433ed071..ab8300de 100644
--- a/lib/ace/theme/crimson_editor.css
+++ b/lib/ace/theme/crimson_editor.css
@@ -22,6 +22,10 @@
background: #e8e8e8;
}
+.ace-crimson-editor .ace_scroller {
+ background-color: #FFFFFF;
+}
+
.ace-crimson-editor .ace_text-layer {
color: rgb(64, 64, 64);
}
diff --git a/lib/ace/theme/dreamweaver.css b/lib/ace/theme/dreamweaver.css
index 428b587a..ab845390 100644
--- a/lib/ace/theme/dreamweaver.css
+++ b/lib/ace/theme/dreamweaver.css
@@ -16,6 +16,10 @@
background: #e8e8e8;
}
+.ace-dreamweaver .ace_scroller {
+ background-color: #FFFFFF;
+}
+
.ace-dreamweaver .ace_fold {
background-color: #757AD8;
}
@@ -111,7 +115,7 @@
color: #00F;
}
-.ace-dreamweaver .ace_markup.ace_markupine {
+.ace-dreamweaver .ace_markup.ace_underline {
text-decoration:underline;
}
diff --git a/lib/ace/theme/eclipse.css b/lib/ace/theme/eclipse.css
index af613b34..27b9a001 100644
--- a/lib/ace/theme/eclipse.css
+++ b/lib/ace/theme/eclipse.css
@@ -17,6 +17,10 @@
background: #ebebeb;
}
+.ace-eclipse .ace_scroller {
+ background-color: #FFFFFF;
+}
+
.ace-eclipse .ace_fold {
background-color: rgb(60, 76, 114);
}
diff --git a/lib/ace/theme/github.css b/lib/ace/theme/github.css
index ac4f29ac..6233b427 100644
--- a/lib/ace/theme/github.css
+++ b/lib/ace/theme/github.css
@@ -117,7 +117,7 @@
border: 1px solid rgb(192, 192, 192);
}
-.ace-github .ace_gutter_active_line{
+.ace-github .ace_gutter_active_line {
background-color : rgba(0, 0, 0, 0.07);
}
diff --git a/lib/ace/theme/monokai.css b/lib/ace/theme/monokai.css
index be54ca9b..19c95ed3 100644
--- a/lib/ace/theme/monokai.css
+++ b/lib/ace/theme/monokai.css
@@ -125,7 +125,7 @@ color:#66D9EF;
color:#F92672;
}
-.ace-monokai .ace_storage.ace_type, .ace-monokai .ace_support.ace_type{
+.ace-monokai .ace_storage.ace_type, .ace-monokai .ace_support.ace_type {
font-style:italic;
color:#66D9EF;
}
diff --git a/lib/ace/theme/textmate.css b/lib/ace/theme/textmate.css
index 7f9f5538..80b9ae1d 100644
--- a/lib/ace/theme/textmate.css
+++ b/lib/ace/theme/textmate.css
@@ -20,7 +20,8 @@
background-color: #6B72E6;
}
-.ace-tm .ace_text-layer {
+.ace-tm .ace_scroller {
+ background-color: #FFFFFF;
}
.ace-tm .ace_cursor {
@@ -111,7 +112,7 @@
color: #0000A2;
}
-.ace-tm .ace_markup.ace_markupine {
+.ace-tm .ace_markup.ace_underline {
text-decoration:underline;
}
@@ -123,6 +124,14 @@
color:rgb(185, 6, 144);
}
+.ace-tm .ace_meta.ace_tag {
+ color:rgb(0, 22, 142);
+}
+
+.ace-tm .ace_string.ace_regex {
+ color: rgb(255, 0, 0)
+}
+
.ace-tm .ace_marker-layer .ace_selection {
background: rgb(181, 213, 255);
}
@@ -156,14 +165,6 @@
border: 1px solid rgb(200, 200, 250);
}
-.ace-tm .ace_meta.ace_tag {
- color:rgb(0, 22, 142);
-}
-
-.ace-tm .ace_string.ace_regex {
- color: rgb(255, 0, 0)
-}
-
.ace-tm .ace_indent-guide {
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
}
diff --git a/lib/ace/theme/tomorrow.css b/lib/ace/theme/tomorrow.css
index 90ea2b72..e5bb2e88 100644
--- a/lib/ace/theme/tomorrow.css
+++ b/lib/ace/theme/tomorrow.css
@@ -127,7 +127,7 @@ background-color:#8959A8;
color:#8959A8;
}
-.ace-tomorrow .ace_storage.ace_type, .ace-tomorrow .ace_support.ace_type{
+.ace-tomorrow .ace_storage.ace_type, .ace-tomorrow .ace_support.ace_type {
color:#8959A8;
}
diff --git a/lib/ace/theme/tomorrow_night.css b/lib/ace/theme/tomorrow_night.css
index baf95470..90ac0f0c 100644
--- a/lib/ace/theme/tomorrow_night.css
+++ b/lib/ace/theme/tomorrow_night.css
@@ -127,7 +127,7 @@ background-color:#B798BF;
color:#B294BB;
}
-.ace-tomorrow-night .ace_storage.ace_type, .ace-tomorrow-night .ace_support.ace_type{
+.ace-tomorrow-night .ace_storage.ace_type, .ace-tomorrow-night .ace_support.ace_type {
color:#B294BB;
}
diff --git a/lib/ace/theme/tomorrow_night_blue.css b/lib/ace/theme/tomorrow_night_blue.css
index 2efb818d..17821602 100644
--- a/lib/ace/theme/tomorrow_night_blue.css
+++ b/lib/ace/theme/tomorrow_night_blue.css
@@ -127,7 +127,7 @@ background-color:#EBBBFF;
color:#EBBBFF;
}
-.ace-tomorrow-night-blue .ace_storage.ace_type, .ace-tomorrow-night-blue .ace_support.ace_type{
+.ace-tomorrow-night-blue .ace_storage.ace_type, .ace-tomorrow-night-blue .ace_support.ace_type {
color:#EBBBFF;
}
diff --git a/lib/ace/theme/tomorrow_night_bright.css b/lib/ace/theme/tomorrow_night_bright.css
index 3702017d..f200e37a 100644
--- a/lib/ace/theme/tomorrow_night_bright.css
+++ b/lib/ace/theme/tomorrow_night_bright.css
@@ -127,7 +127,7 @@ background-color:#B798BF;
color:#C397D8;
}
-.ace-tomorrow-night-bright .ace_storage.ace_type, .ace-tomorrow-night-bright .ace_support.ace_type{
+.ace-tomorrow-night-bright .ace_storage.ace_type, .ace-tomorrow-night-bright .ace_support.ace_type {
color:#C397D8;
}
diff --git a/lib/ace/theme/tomorrow_night_eighties.css b/lib/ace/theme/tomorrow_night_eighties.css
index 714320e0..6dfdbbd1 100644
--- a/lib/ace/theme/tomorrow_night_eighties.css
+++ b/lib/ace/theme/tomorrow_night_eighties.css
@@ -127,7 +127,7 @@ background-color:#CC99CC;
color:#CC99CC;
}
-.ace-tomorrow-night-eighties .ace_storage.ace_type, .ace-tomorrow-night-eighties .ace_support.ace_type{
+.ace-tomorrow-night-eighties .ace_storage.ace_type, .ace-tomorrow-night-eighties .ace_support.ace_type {
color:#CC99CC;
}
diff --git a/lib/ace/virtual_renderer.js b/lib/ace/virtual_renderer.js
index a97860d1..5ec1ffc5 100644
--- a/lib/ace/virtual_renderer.js
+++ b/lib/ace/virtual_renderer.js
@@ -1038,9 +1038,11 @@ var VirtualRenderer = function(container, theme) {
cursor = {row: cursor, column: 0};
var pos = this.$cursorLayer.getPixelPosition(cursor);
- var offset = pos.top - this.$size.scrollerHeight * (alignment || 0);
+ var h = this.$size.scrollerHeight - this.lineHeight;
+ var offset = pos.top - h * (alignment || 0);
this.session.setScrollTop(offset);
+ return offset;
};
this.STEPS = 8;
diff --git a/package.json b/package.json
index 652611d2..1dfd461d 100644
--- a/package.json
+++ b/package.json
@@ -15,7 +15,6 @@
"asyncjs": "0.0.x",
"jsdom": "0.2.x",
"amd-loader": "~0.0.4",
- "plist": "",
"dryice": ""
},
"mappings": {
diff --git a/tool/package.json b/tool/package.json
new file mode 100644
index 00000000..c576aff2
--- /dev/null
+++ b/tool/package.json
@@ -0,0 +1,7 @@
+{
+ "name": "ace-tools",
+ "version": "0.1.0",
+ "dependencies": {
+ "plist": ""
+ }
+}