You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ga...@apache.org on 2013/10/29 16:40:16 UTC

[31/51] [partial] working replacement

http://git-wip-us.apache.org/repos/asf/couchdb/blob/9abd128c/src/fauxton/assets/js/libs/ace/mode/_test/tokens_tcl.json
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/js/libs/ace/mode/_test/tokens_tcl.json b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_tcl.json
new file mode 100644
index 0000000..6a032dd
--- /dev/null
+++ b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_tcl.json
@@ -0,0 +1,385 @@
+[[
+   "commandItem"
+],[
+   "commandItem",
+  ["keyword","proc"],
+  ["text"," "],
+  ["identifier","dijkstra"],
+  ["text"," "],
+  ["paren.lparen","{"],
+  ["keyword","graph"],
+  ["text"," "],
+  ["identifier","origin"],
+  ["paren.rparen","}"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","    "],
+  ["comment","# Initialize"]
+],[
+   "commandItem",
+  ["text","    "],
+  ["keyword","dict"],
+  ["text"," "],
+  ["identifier","for"],
+  ["text"," "],
+  ["paren.lparen","{"],
+  ["keyword","vertex"],
+  ["text"," "],
+  ["identifier","distmap"],
+  ["paren.rparen","}"],
+  ["text"," "],
+  ["variable.instance","$graph"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","\t"],
+  ["keyword","dict"],
+  ["text"," "],
+  ["identifier","set"],
+  ["text"," "],
+  ["identifier","dist"],
+  ["text"," "],
+  ["variable.instance","$vertex"],
+  ["text"," "],
+  ["identifier","Inf"]
+],[
+   "commandItem",
+  ["text","\t"],
+  ["keyword","dict"],
+  ["text"," "],
+  ["identifier","set"],
+  ["text"," "],
+  ["identifier","path"],
+  ["text"," "],
+  ["variable.instance","$vertex"],
+  ["text"," "],
+  ["paren.lparen","{"],
+  ["paren.rparen","}"]
+],[
+   "commandItem",
+  ["text","    "],
+  ["paren.rparen","}"]
+],[
+   "start",
+  ["text","    "],
+  ["keyword","dict"],
+  ["text"," "],
+  ["identifier","set"],
+  ["text"," "],
+  ["identifier","dist"],
+  ["text"," "],
+  ["variable.instance","$origin"],
+  ["text"," 0"]
+],[
+   "start",
+  ["text","    "],
+  ["keyword","dict"],
+  ["text"," "],
+  ["identifier","set"],
+  ["text"," "],
+  ["identifier","path"],
+  ["text"," "],
+  ["variable.instance","$origin"],
+  ["text"," "],
+  ["paren.lparen","["],
+  ["keyword","list"],
+  ["text"," "],
+  ["variable.instance","$origin"],
+  ["paren.rparen","]"]
+],[
+   "commandItem",
+  ["text"," "]
+],[
+   "commandItem",
+  ["text","    "],
+  ["keyword","while"],
+  ["text"," "],
+  ["paren.lparen","{"],
+  ["text","["],
+  ["keyword","dict"],
+  ["text"," "],
+  ["identifier","size"],
+  ["text"," "],
+  ["variable.instance","$graph"],
+  ["paren.rparen","]}"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","\t"],
+  ["comment","# Find unhandled node with least weight"]
+],[
+   "start",
+  ["text","\t"],
+  ["keyword","set"],
+  ["text"," "],
+  ["identifier","d"],
+  ["text"," "],
+  ["identifier","Inf"]
+],[
+   "commandItem",
+  ["text","\t"],
+  ["keyword","dict"],
+  ["text"," "],
+  ["identifier","for"],
+  ["text"," "],
+  ["paren.lparen","{"],
+  ["keyword","uu"],
+  ["text"," "],
+  ["support.function","-"],
+  ["paren.rparen","}"],
+  ["text"," "],
+  ["variable.instance","$graph"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "commandItem",
+  ["text","\t    "],
+  ["keyword","if"],
+  ["text"," "],
+  ["paren.lparen","{"],
+  ["variable.instance","$d"],
+  ["text"," "],
+  ["support.function",">"],
+  ["text"," "],
+  ["paren.lparen","["],
+  ["keyword","set"],
+  ["text"," "],
+  ["identifier","dd"],
+  ["text"," "],
+  ["paren.lparen","["],
+  ["keyword","dict"],
+  ["text"," "],
+  ["identifier","get"],
+  ["text"," "],
+  ["variable.instance","$dist"],
+  ["text"," "],
+  ["variable.instance","$uu"],
+  ["paren.rparen","]]}"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","\t\t"],
+  ["keyword","set"],
+  ["text"," "],
+  ["identifier","u"],
+  ["text"," "],
+  ["variable.instance","$uu"]
+],[
+   "start",
+  ["text","\t\t"],
+  ["keyword","set"],
+  ["text"," "],
+  ["identifier","d"],
+  ["text"," "],
+  ["variable.instance","$dd"]
+],[
+   "commandItem",
+  ["text","\t    "],
+  ["paren.rparen","}"]
+],[
+   "commandItem",
+  ["text","\t"],
+  ["paren.rparen","}"]
+],[
+   "commandItem",
+  ["text"," "]
+],[
+   "start",
+  ["text","\t"],
+  ["comment","# No such node; graph must be disconnected"]
+],[
+   "start",
+  ["text","\t"],
+  ["keyword","if"],
+  ["text"," "],
+  ["paren.lparen","{"],
+  ["variable.instance","$d"],
+  ["text"," "],
+  ["support.function","=="],
+  ["text"," "],
+  ["identifier","Inf"],
+  ["paren.rparen","}"],
+  ["text"," "],
+  ["identifier","break"]
+],[
+   "commandItem",
+  ["text"," "]
+],[
+   "commentfollow",
+  ["text","\t"],
+  ["comment","# Update the weights for nodes\\"]
+],[
+   "start",
+  ["comment","\t lead to by the node we've picked"]
+],[
+   "commandItem",
+  ["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.instance","$graph"],
+  ["text"," "],
+  ["variable.instance","$u"],
+  ["paren.rparen","]"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "commandItem",
+  ["text","\t    "],
+  ["keyword","if"],
+  ["text"," "],
+  ["paren.lparen","{"],
+  ["text","["],
+  ["keyword","dict"],
+  ["text"," "],
+  ["identifier","exists"],
+  ["text"," "],
+  ["variable.instance","$graph"],
+  ["text"," "],
+  ["variable.instance","$v"],
+  ["paren.rparen","]}"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","\t\t"],
+  ["keyword","set"],
+  ["text"," "],
+  ["identifier","alt"],
+  ["text"," "],
+  ["paren.lparen","["],
+  ["keyword","expr"],
+  ["text"," "],
+  ["paren.lparen","{"],
+  ["variable.instance","$d"],
+  ["text"," "],
+  ["support.function","+"],
+  ["text"," "],
+  ["variable.instance","$dd"],
+  ["paren.rparen","}]"]
+],[
+   "commandItem",
+  ["text","\t\t"],
+  ["keyword","if"],
+  ["text"," "],
+  ["paren.lparen","{"],
+  ["variable.instance","$alt"],
+  ["text"," "],
+  ["support.function","<"],
+  ["text"," "],
+  ["paren.lparen","["],
+  ["keyword","dict"],
+  ["text"," "],
+  ["identifier","get"],
+  ["text"," "],
+  ["variable.instance","$dist"],
+  ["text"," "],
+  ["variable.instance","$v"],
+  ["paren.rparen","]}"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","\t\t    "],
+  ["keyword","dict"],
+  ["text"," "],
+  ["identifier","set"],
+  ["text"," "],
+  ["identifier","dist"],
+  ["text"," "],
+  ["variable.instance","$v"],
+  ["text"," "],
+  ["variable.instance","$alt"]
+],[
+   "start",
+  ["text","\t\t    "],
+  ["keyword","dict"],
+  ["text"," "],
+  ["identifier","set"],
+  ["text"," "],
+  ["identifier","path"],
+  ["text"," "],
+  ["variable.instance","$v"],
+  ["text"," "],
+  ["paren.lparen","["],
+  ["keyword","list"],
+  ["text"," "],
+  ["support.function","{*}"],
+  ["paren.lparen","["],
+  ["keyword","dict"],
+  ["text"," "],
+  ["identifier","get"],
+  ["text"," "],
+  ["variable.instance","$path"],
+  ["text"," "],
+  ["variable.instance","$u"],
+  ["paren.rparen","]"],
+  ["text"," "],
+  ["variable.instance","$v"],
+  ["paren.rparen","]"]
+],[
+   "commandItem",
+  ["text","\t\t"],
+  ["paren.rparen","}"]
+],[
+   "commandItem",
+  ["text","\t    "],
+  ["paren.rparen","}"]
+],[
+   "commandItem",
+  ["text","\t"],
+  ["paren.rparen","}"]
+],[
+   "commandItem",
+  ["text"," "]
+],[
+   "start",
+  ["text","\t"],
+  ["comment","# Remove chosen node from graph still to be handled"]
+],[
+   "start",
+  ["text","\t"],
+  ["keyword","dict"],
+  ["text"," "],
+  ["identifier","unset"],
+  ["text"," "],
+  ["identifier","graph"],
+  ["text"," "],
+  ["variable.instance","$u"]
+],[
+   "commandItem",
+  ["text","    "],
+  ["paren.rparen","}"]
+],[
+   "start",
+  ["text","    "],
+  ["keyword","return"],
+  ["text"," "],
+  ["paren.lparen","["],
+  ["keyword","list"],
+  ["text"," "],
+  ["variable.instance","$dist"],
+  ["text"," "],
+  ["variable.instance","$path"],
+  ["paren.rparen","]"]
+],[
+   "commandItem",
+  ["paren.rparen","}"]
+]]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/9abd128c/src/fauxton/assets/js/libs/ace/mode/_test/tokens_tex.json
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/js/libs/ace/mode/_test/tokens_tex.json b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_tex.json
new file mode 100644
index 0000000..2d02367
--- /dev/null
+++ b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_tex.json
@@ -0,0 +1,130 @@
+[[
+   "start",
+  ["text","The quadratic formula is $$-b "],
+  ["keyword","\\pm"],
+  ["text"," "],
+  ["keyword","\\sqrt"],
+  ["paren.keyword.operator","{"],
+  ["text","b^2 - 4ac"],
+  ["paren.keyword.operator","}"],
+  ["text"," "],
+  ["keyword","\\over"],
+  ["text"," 2a$$"]
+],[
+   "start",
+  ["keyword","\\bye"]
+],[
+   "start"
+],[
+   "start",
+  ["keyword","\\makeatletter"]
+],[
+   "start",
+  ["text"," "],
+  ["keyword","\\newcommand"],
+  ["paren.keyword.operator","{"],
+  ["keyword","\\be"],
+  ["paren.keyword.operator","}{"],
+  ["comment","%"]
+],[
+   "start",
+  ["text"," "],
+  ["keyword","\\begingroup"]
+],[
+   "start",
+  ["text"," "],
+  ["comment","% \\setlength{\\arraycolsep}{2pt}"]
+],[
+   "start",
+  ["text"," "],
+  ["keyword","\\eqnarray"],
+  ["comment","%"]
+],[
+   "start",
+  ["text"," "],
+  ["keyword","\\@"],
+  ["text","ifstar"],
+  ["paren.keyword.operator","{"],
+  ["keyword","\\nonumber"],
+  ["paren.keyword.operator","}{}"],
+  ["comment","%"]
+],[
+   "start",
+  ["text","  "],
+  ["paren.keyword.operator","}"]
+],[
+   "start",
+  ["text","  "],
+  ["keyword","\\newcommand"],
+  ["paren.keyword.operator","{"],
+  ["keyword","\\ee"],
+  ["paren.keyword.operator","}{"],
+  ["keyword","\\endeqnarray\\endgroup"],
+  ["paren.keyword.operator","}"]
+],[
+   "start",
+  ["text","  "],
+  ["keyword","\\makeatother"]
+],[
+   "start"
+],[
+   "start",
+  ["text"," "],
+  ["keyword","\\begin"],
+  ["paren.keyword.operator","{"],
+  ["nospell.text","equation"],
+  ["paren.keyword.operator","}"]
+],[
+   "start",
+  ["text"," x="],
+  ["keyword","\\left\\"],
+  ["paren.keyword.operator","{"],
+  ["text"," "],
+  ["keyword","\\begin"],
+  ["paren.keyword.operator","{"],
+  ["nospell.text","array"],
+  ["paren.keyword.operator","}{"],
+  ["text","cl"],
+  ["paren.keyword.operator","}"]
+],[
+   "start",
+  ["text"," 0 & "],
+  ["keyword","\\textrm"],
+  ["paren.keyword.operator","{"],
+  ["text","if "],
+  ["paren.keyword.operator","}"],
+  ["text","A="],
+  ["keyword","\\ldots\\\\"]
+],[
+   "start",
+  ["text"," 1 & "],
+  ["keyword","\\textrm"],
+  ["paren.keyword.operator","{"],
+  ["text","if "],
+  ["paren.keyword.operator","}"],
+  ["text","B="],
+  ["keyword","\\ldots\\\\"]
+],[
+   "start",
+  ["text"," x & "],
+  ["keyword","\\textrm"],
+  ["paren.keyword.operator","{"],
+  ["text","this runs with as much text as you like, but without an raggeright text"]
+],[
+   "start",
+  ["text","."],
+  ["paren.keyword.operator","}"],
+  ["keyword","\\end"],
+  ["paren.keyword.operator","{"],
+  ["nospell.text","array"],
+  ["paren.keyword.operator","}"],
+  ["keyword","\\right"],
+  ["text","."]
+],[
+   "start",
+  ["text"," "],
+  ["keyword","\\end"],
+  ["paren.keyword.operator","{"],
+  ["nospell.text","equation"],
+  ["paren.keyword.operator","}"]
+]]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/9abd128c/src/fauxton/assets/js/libs/ace/mode/_test/tokens_text.json
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/js/libs/ace/mode/_test/tokens_text.json b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_text.json
new file mode 100644
index 0000000..fff7ef4
--- /dev/null
+++ b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_text.json
@@ -0,0 +1,29 @@
+[[
+   "start",
+  ["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."]
+],[
+   "start"
+],[
+   "start",
+  ["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."]
+],[
+   "start"
+],[
+   "start",
+  ["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."]
+],[
+   "start"
+],[
+   "start",
+  ["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."]
+],[
+   "start"
+],[
+   "start",
+  ["text","Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis."]
+],[
+   "start"
+],[
+   "start",
+  ["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

http://git-wip-us.apache.org/repos/asf/couchdb/blob/9abd128c/src/fauxton/assets/js/libs/ace/mode/_test/tokens_textile.json
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/js/libs/ace/mode/_test/tokens_textile.json b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_textile.json
new file mode 100644
index 0000000..59000ce
--- /dev/null
+++ b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_textile.json
@@ -0,0 +1,113 @@
+[[
+   "start",
+  ["markup.heading.1","h1"],
+  ["keyword",". "],
+  ["text","Textile document"]
+],[
+   "start"
+],[
+   "start",
+  ["markup.heading.2","h2"],
+  ["keyword",". "],
+  ["text","Heading Two"]
+],[
+   "start"
+],[
+   "start",
+  ["markup.heading.3","h3"],
+  ["keyword",". "],
+  ["text","A two-line"]
+],[
+   "start",
+  ["text","    header"]
+],[
+   "start"
+],[
+   "start",
+  ["markup.heading.2","h2"],
+  ["keyword",". "],
+  ["text","Another two-line"]
+],[
+   "start",
+  ["text","header"]
+],[
+   "start"
+],[
+   "start",
+  ["text","Paragraph:"]
+],[
+   "start",
+  ["text","one, two,"]
+],[
+   "start",
+  ["text","thee lines!"]
+],[
+   "start"
+],[
+   "start",
+  ["markup.heading","p"],
+  ["keyword","("],
+  ["string","classone"],
+  ["text"," "],
+  ["string","two"],
+  ["text"," "],
+  ["string","three"],
+  ["keyword","). "],
+  ["text","This is a paragraph with classes"]
+],[
+   "start"
+],[
+   "start",
+  ["markup.heading","p"],
+  ["keyword","(#"],
+  ["string","id"],
+  ["keyword","). "],
+  ["text","(one with an id)"]
+],[
+   "start"
+],[
+   "start",
+  ["markup.heading","p"],
+  ["keyword","("],
+  ["string","one"],
+  ["text"," "],
+  ["string","two"],
+  ["text"," "],
+  ["string","three"],
+  ["keyword","#"],
+  ["string","my_id"],
+  ["keyword","). "],
+  ["text","..classes + id"]
+],[
+   "start"
+],[
+   "start",
+  ["keyword","*"],
+  ["text"," Unordered list"]
+],[
+   "start",
+  ["keyword","**"],
+  ["text"," sublist"]
+],[
+   "start",
+  ["keyword","*"],
+  ["text"," back again!"]
+],[
+   "start",
+  ["keyword","**"],
+  ["text"," sublist again.."]
+],[
+   "start"
+],[
+   "start",
+  ["keyword","#"],
+  ["text"," ordered"]
+],[
+   "start"
+],[
+   "start",
+  ["text","bg. Blockquote!"]
+],[
+   "start",
+  ["text","    This is a two-list blockquote..!"]
+]]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/9abd128c/src/fauxton/assets/js/libs/ace/mode/_test/tokens_toml.json
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/js/libs/ace/mode/_test/tokens_toml.json b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_toml.json
new file mode 100644
index 0000000..ec471f7
--- /dev/null
+++ b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_toml.json
@@ -0,0 +1,131 @@
+[[
+   "start",
+  ["comment.toml","# This is a TOML document. Boom."]
+],[
+   "start"
+],[
+   "start",
+  ["identifier","title"],
+  ["text"," = "],
+  ["string","\"TOML Example\""]
+],[
+   "start"
+],[
+   "start",
+  ["variable.keygroup.toml","[owner]"]
+],[
+   "start",
+  ["identifier","name"],
+  ["text"," = "],
+  ["string","\"Tom Preston-Werner\""]
+],[
+   "start",
+  ["identifier","organization"],
+  ["text"," = "],
+  ["string","\"GitHub\""]
+],[
+   "start",
+  ["identifier","bio"],
+  ["text"," = "],
+  ["string","\"GitHub Cofounder & CEO"],
+  ["constant.language.escape","\\n"],
+  ["string","Likes tater tots and beer.\""]
+],[
+   "start",
+  ["identifier","dob"],
+  ["text"," = "],
+  ["support.date.toml","1979-05-27T07:32:00Z"],
+  ["text"," "],
+  ["comment.toml","# First class dates? Why not?"]
+],[
+   "start"
+],[
+   "start",
+  ["variable.keygroup.toml","[database]"]
+],[
+   "start",
+  ["identifier","server"],
+  ["text"," = "],
+  ["string","\"192.168.1.1\""]
+],[
+   "start",
+  ["identifier","ports"],
+  ["text"," = [ "],
+  ["constant.numeric.toml","8001"],
+  ["text",", "],
+  ["constant.numeric.toml","8001"],
+  ["text",", "],
+  ["constant.numeric.toml","8002"],
+  ["text"," ]"]
+],[
+   "start",
+  ["identifier","connection_max"],
+  ["text"," = "],
+  ["constant.numeric.toml","5000"]
+],[
+   "start",
+  ["identifier","enabled"],
+  ["text"," = "],
+  ["constant.language.boolean","true"]
+],[
+   "start"
+],[
+   "start",
+  ["variable.keygroup.toml","[servers]"]
+],[
+   "start"
+],[
+   "start",
+  ["text","  "],
+  ["comment.toml","# You can indent as you please. Tabs or spaces. TOML don't care."]
+],[
+   "start",
+  ["variable.keygroup.toml","  [servers.alpha]"]
+],[
+   "start",
+  ["text","  "],
+  ["identifier","ip"],
+  ["text"," = "],
+  ["string","\"10.0.0.1\""]
+],[
+   "start",
+  ["text","  "],
+  ["identifier","dc"],
+  ["text"," = "],
+  ["string","\"eqdc10\""]
+],[
+   "start"
+],[
+   "start",
+  ["variable.keygroup.toml","  [servers.beta]"]
+],[
+   "start",
+  ["text","  "],
+  ["identifier","ip"],
+  ["text"," = "],
+  ["string","\"10.0.0.2\""]
+],[
+   "start",
+  ["text","  "],
+  ["identifier","dc"],
+  ["text"," = "],
+  ["string","\"eqdc10\""]
+],[
+   "start"
+],[
+   "start",
+  ["variable.keygroup.toml","[clients]"]
+],[
+   "start",
+  ["identifier","data"],
+  ["text"," = [ ["],
+  ["string","\"gamma\""],
+  ["text",", "],
+  ["string","\"delta\""],
+  ["text","], ["],
+  ["constant.numeric.toml","1"],
+  ["text",", "],
+  ["constant.numeric.toml","2"],
+  ["text","] ] "],
+  ["comment.toml","# just an update to make sure parsers support it"]
+]]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/9abd128c/src/fauxton/assets/js/libs/ace/mode/_test/tokens_twig.json
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/js/libs/ace/mode/_test/tokens_twig.json b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_twig.json
new file mode 100644
index 0000000..c4101de
--- /dev/null
+++ b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_twig.json
@@ -0,0 +1,288 @@
+[[
+   "start",
+  ["punctuation.doctype.begin","<!"],
+  ["meta.tag.doctype","DOCTYPE"],
+  ["text"," "],
+  ["xml-pe","html"],
+  ["punctuation.doctype.end",">"]
+],[
+   "start",
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name","html"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start",
+  ["text","    "],
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name","head"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start",
+  ["text","        "],
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name","title"],
+  ["meta.tag.punctuation.end",">"],
+  ["text","My Webpage"],
+  ["meta.tag.punctuation.begin","</"],
+  ["meta.tag.name","title"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start",
+  ["text","    "],
+  ["meta.tag.punctuation.begin","</"],
+  ["meta.tag.name","head"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start",
+  ["text","    "],
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name","body"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start",
+  ["text","        "],
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name","ul"],
+  ["text"," "],
+  ["entity.other.attribute-name","id"],
+  ["keyword.operator.separator","="],
+  ["string","\"navigation\""],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start",
+  ["text","        "],
+  ["meta.tag.twig","{%"],
+  ["text"," "],
+  ["keyword.control.twig","for"],
+  ["text"," "],
+  ["identifier","item"],
+  ["text"," "],
+  ["keyword.operator.twig","in"],
+  ["text"," "],
+  ["identifier","navigation"],
+  ["text"," "],
+  ["meta.tag.twig","%}"]
+],[
+   "start",
+  ["text","            "],
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name","li"],
+  ["meta.tag.punctuation.end",">"],
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name.anchor","a"],
+  ["text"," "],
+  ["entity.other.attribute-name","href"],
+  ["keyword.operator.separator","="],
+  ["string","\""],
+  ["variable.other.readwrite.local.twig","{{"],
+  ["text"," "],
+  ["identifier","item"],
+  ["punctuation.operator","."],
+  ["identifier","href"],
+  ["keyword.operator.other","|"],
+  ["support.function.twig","escape"],
+  ["text"," "],
+  ["variable.other.readwrite.local.twig","}}"],
+  ["string","\""],
+  ["meta.tag.punctuation.end",">"],
+  ["variable.other.readwrite.local.twig","{{"],
+  ["text"," "],
+  ["identifier","item"],
+  ["punctuation.operator","."],
+  ["identifier","caption"],
+  ["text"," "],
+  ["variable.other.readwrite.local.twig","}}"],
+  ["meta.tag.punctuation.begin","</"],
+  ["meta.tag.name.anchor","a"],
+  ["meta.tag.punctuation.end",">"],
+  ["meta.tag.punctuation.begin","</"],
+  ["meta.tag.name","li"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start",
+  ["text","        "],
+  ["meta.tag.twig","{%"],
+  ["text"," "],
+  ["keyword.control.twig","endfor"],
+  ["text"," "],
+  ["meta.tag.twig","%}"]
+],[
+   "start",
+  ["text","        "],
+  ["meta.tag.punctuation.begin","</"],
+  ["meta.tag.name","ul"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start"
+],[
+   "start",
+  ["text","        "],
+  ["meta.tag.twig","{%"],
+  ["text"," "],
+  ["keyword.control.twig","if"],
+  ["text"," "],
+  ["constant.numeric","1"],
+  ["text"," "],
+  ["keyword.operator.twig","not"],
+  ["text"," "],
+  ["keyword.operator.twig","in"],
+  ["text"," "],
+  ["paren.lparen","["],
+  ["constant.numeric","1"],
+  ["punctuation.operator",","],
+  ["text"," "],
+  ["constant.numeric","2"],
+  ["punctuation.operator",","],
+  ["text"," "],
+  ["constant.numeric","3"],
+  ["paren.rparen","]"],
+  ["text"," "],
+  ["meta.tag.twig","%}"]
+],[
+   "start"
+],[
+   "start",
+  ["text","        "],
+  ["comment.block.twig","{# is equivalent to #}"]
+],[
+   "start",
+  ["text","        "],
+  ["meta.tag.twig","{%"],
+  ["text"," "],
+  ["keyword.control.twig","if"],
+  ["text"," "],
+  ["keyword.operator.twig","not"],
+  ["text"," "],
+  ["paren.lparen","("],
+  ["constant.numeric","1"],
+  ["text"," "],
+  ["keyword.operator.twig","in"],
+  ["text"," "],
+  ["paren.lparen","["],
+  ["constant.numeric","1"],
+  ["punctuation.operator",","],
+  ["text"," "],
+  ["constant.numeric","2"],
+  ["punctuation.operator",","],
+  ["text"," "],
+  ["constant.numeric","3"],
+  ["paren.rparen","])"],
+  ["text"," "],
+  ["meta.tag.twig","%}"]
+],[
+   "start"
+],[
+   "start",
+  ["text","        "],
+  ["meta.tag.twig","{%"],
+  ["text"," "],
+  ["keyword.control.twig","autoescape"],
+  ["text"," "],
+  ["constant.language.boolean","true"],
+  ["text"," "],
+  ["meta.tag.twig","%}"]
+],[
+   "start",
+  ["text","            "],
+  ["variable.other.readwrite.local.twig","{{"],
+  ["text"," "],
+  ["identifier","var"],
+  ["text"," "],
+  ["variable.other.readwrite.local.twig","}}"]
+],[
+   "start",
+  ["text","            "],
+  ["variable.other.readwrite.local.twig","{{"],
+  ["text"," "],
+  ["identifier","var"],
+  ["keyword.operator.other","|"],
+  ["support.function.twig","raw"],
+  ["text"," "],
+  ["variable.other.readwrite.local.twig","}}"],
+  ["text","     "],
+  ["comment.block.twig","{# var won't be escaped #}"]
+],[
+   "start",
+  ["text","            "],
+  ["variable.other.readwrite.local.twig","{{"],
+  ["text"," "],
+  ["identifier","var"],
+  ["keyword.operator.other","|"],
+  ["support.function.twig","escape"],
+  ["text"," "],
+  ["variable.other.readwrite.local.twig","}}"],
+  ["text","  "],
+  ["comment.block.twig","{# var won't be doubled-escaped #}"]
+],[
+   "start",
+  ["text","        "],
+  ["meta.tag.twig","{%"],
+  ["text"," "],
+  ["keyword.control.twig","endautoescape"],
+  ["text"," "],
+  ["meta.tag.twig","%}"]
+],[
+   "start"
+],[
+   "start",
+  ["text","        "],
+  ["variable.other.readwrite.local.twig","{{"],
+  ["text"," "],
+  ["keyword.control.twig","include"],
+  ["paren.lparen","("],
+  ["string","'twig.html'"],
+  ["punctuation.operator",","],
+  ["text"," "],
+  ["identifier","sandboxed"],
+  ["text"," "],
+  ["keyword.operator.assignment","="],
+  ["text"," "],
+  ["constant.language.boolean","true"],
+  ["paren.rparen",")"],
+  ["text"," "],
+  ["variable.other.readwrite.local.twig","}}"]
+],[
+   "start"
+],[
+   "start",
+  ["text","        "],
+  ["variable.other.readwrite.local.twig","{{"],
+  ["string","\"string "],
+  ["constant.language.escape","#{with}"],
+  ["string"," "],
+  ["constant.language.escape","\\\""],
+  ["string"," escapes\""],
+  ["text"," "],
+  ["string","'another#one'"],
+  ["text"," "],
+  ["variable.other.readwrite.local.twig","}}"]
+],[
+   "start",
+  ["text","        "],
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name","h1"],
+  ["meta.tag.punctuation.end",">"],
+  ["text","My Webpage"],
+  ["meta.tag.punctuation.begin","</"],
+  ["meta.tag.name","h1"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start",
+  ["text","        "],
+  ["variable.other.readwrite.local.twig","{{"],
+  ["text"," "],
+  ["identifier","a_variable"],
+  ["text"," "],
+  ["variable.other.readwrite.local.twig","}}"]
+],[
+   "start",
+  ["text","    "],
+  ["meta.tag.punctuation.begin","</"],
+  ["meta.tag.name","body"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start",
+  ["meta.tag.punctuation.begin","</"],
+  ["meta.tag.name","html"],
+  ["meta.tag.punctuation.end",">"]
+]]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/9abd128c/src/fauxton/assets/js/libs/ace/mode/_test/tokens_typescript.json
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/js/libs/ace/mode/_test/tokens_typescript.json b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_typescript.json
new file mode 100644
index 0000000..18f2eea
--- /dev/null
+++ b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_typescript.json
@@ -0,0 +1,559 @@
+[[
+   "start",
+  ["keyword.operator.ts","class"],
+  ["text"," "],
+  ["identifier","Greeter"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","\t"],
+  ["variable.parameter.function.ts","greeting"],
+  ["text",": "],
+  ["variable.parameter.function.ts","string"],
+  ["punctuation.operator",";"]
+],[
+   "start",
+  ["text","\t"],
+  ["keyword.operator.ts","constructor"],
+  ["text"," "],
+  ["paren.lparen","("],
+  ["variable.parameter.function.ts","message"],
+  ["text",": "],
+  ["variable.parameter.function.ts","string"],
+  ["paren.rparen",")"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","\t\t"],
+  ["storage.type.variable.ts","this."],
+  ["identifier","greeting"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["identifier","message"],
+  ["punctuation.operator",";"]
+],[
+   "no_regex",
+  ["text","\t"],
+  ["paren.rparen","}"]
+],[
+   "start",
+  ["text","\t"],
+  ["identifier","greet"],
+  ["paren.lparen","("],
+  ["paren.rparen",")"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","\t\t"],
+  ["keyword","return"],
+  ["text"," "],
+  ["string","\"Hello, \""],
+  ["text"," "],
+  ["keyword.operator","+"],
+  ["text"," "],
+  ["storage.type.variable.ts","this."],
+  ["identifier","greeting"],
+  ["punctuation.operator",";"]
+],[
+   "no_regex",
+  ["text","\t"],
+  ["paren.rparen","}"]
+],[
+   "no_regex",
+  ["paren.rparen","}"],
+  ["text","   "]
+],[
+   "no_regex"
+],[
+   "start",
+  ["storage.type","var"],
+  ["text"," "],
+  ["identifier","greeter"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["keyword","new"],
+  ["text"," "],
+  ["identifier","Greeter"],
+  ["paren.lparen","("],
+  ["string","\"world\""],
+  ["paren.rparen",")"],
+  ["punctuation.operator",";"]
+],[
+   "start"
+],[
+   "no_regex",
+  ["storage.type","var"],
+  ["text"," "],
+  ["identifier","button"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["variable.language","document"],
+  ["punctuation.operator","."],
+  ["support.function.dom","createElement"],
+  ["paren.lparen","("],
+  ["string","'button'"],
+  ["paren.rparen",")"]
+],[
+   "no_regex",
+  ["identifier","button"],
+  ["punctuation.operator","."],
+  ["identifier","innerText"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["string","\"Say Hello\""]
+],[
+   "start",
+  ["storage.type","button"],
+  ["punctuation.operator","."],
+  ["entity.name.function","onclick"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["storage.type","function"],
+  ["paren.lparen","("],
+  ["paren.rparen",")"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "no_regex",
+  ["text","\t"],
+  ["support.function","alert"],
+  ["paren.lparen","("],
+  ["entity.name.function.ts","greeter.greet"],
+  ["paren.lparen","("],
+  ["paren.rparen",")"],
+  ["paren.rparen",")"]
+],[
+   "no_regex",
+  ["paren.rparen","}"]
+],[
+   "no_regex"
+],[
+   "no_regex",
+  ["variable.language","document"],
+  ["punctuation.operator","."],
+  ["identifier","body"],
+  ["punctuation.operator","."],
+  ["support.function.dom","appendChild"],
+  ["paren.lparen","("],
+  ["identifier","button"],
+  ["paren.rparen",")"]
+],[
+   "no_regex"
+],[
+   "start",
+  ["keyword","class"],
+  ["text"," "],
+  ["identifier","Snake"],
+  ["text"," "],
+  ["keyword","extends"],
+  ["text"," "],
+  ["identifier","Animal"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","   "],
+  ["entity.name.function.ts","move"],
+  ["paren.lparen","("],
+  ["paren.rparen",")"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","       "],
+  ["support.function","alert"],
+  ["paren.lparen","("],
+  ["string","\"Slithering...\""],
+  ["paren.rparen",")"],
+  ["punctuation.operator",";"]
+],[
+   "start",
+  ["text","       "],
+  ["storage.type.variable.ts","super"],
+  ["text","("],
+  ["keyword.other.ts","5"],
+  ["text",")"],
+  ["punctuation.operator",";"]
+],[
+   "no_regex",
+  ["text","   "],
+  ["paren.rparen","}"]
+],[
+   "no_regex",
+  ["paren.rparen","}"]
+],[
+   "no_regex"
+],[
+   "start",
+  ["keyword","class"],
+  ["text"," "],
+  ["identifier","Horse"],
+  ["text"," "],
+  ["keyword","extends"],
+  ["text"," "],
+  ["identifier","Animal"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","   "],
+  ["entity.name.function.ts","move"],
+  ["paren.lparen","("],
+  ["paren.rparen",")"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","       "],
+  ["support.function","alert"],
+  ["paren.lparen","("],
+  ["string","\"Galloping...\""],
+  ["paren.rparen",")"],
+  ["punctuation.operator",";"]
+],[
+   "start",
+  ["text","       "],
+  ["keyword.operator.ts","super"],
+  ["punctuation.operator","."],
+  ["identifier","move"],
+  ["paren.lparen","("],
+  ["constant.numeric","45"],
+  ["paren.rparen",")"],
+  ["punctuation.operator",";"]
+],[
+   "no_regex",
+  ["text","   "],
+  ["paren.rparen","}"]
+],[
+   "no_regex",
+  ["paren.rparen","}"]
+],[
+   "no_regex"
+],[
+   "start",
+  ["identifier","module"],
+  ["text"," "],
+  ["identifier","Sayings"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","    "],
+  ["keyword.operator.ts","export"],
+  ["text"," "],
+  ["keyword.operator.ts","class"],
+  ["text"," "],
+  ["identifier","Greeter"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","        "],
+  ["variable.parameter.function.ts","greeting"],
+  ["text",": "],
+  ["variable.parameter.function.ts","string"],
+  ["punctuation.operator",";"]
+],[
+   "start",
+  ["text","        "],
+  ["keyword.operator.ts","constructor"],
+  ["text"," "],
+  ["paren.lparen","("],
+  ["variable.parameter.function.ts","message"],
+  ["text",": "],
+  ["variable.parameter.function.ts","string"],
+  ["paren.rparen",")"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","            "],
+  ["storage.type.variable.ts","this."],
+  ["identifier","greeting"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["identifier","message"],
+  ["punctuation.operator",";"]
+],[
+   "no_regex",
+  ["text","        "],
+  ["paren.rparen","}"]
+],[
+   "start",
+  ["text","        "],
+  ["identifier","greet"],
+  ["paren.lparen","("],
+  ["paren.rparen",")"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","            "],
+  ["keyword","return"],
+  ["text"," "],
+  ["string","\"Hello, \""],
+  ["text"," "],
+  ["keyword.operator","+"],
+  ["text"," "],
+  ["storage.type.variable.ts","this."],
+  ["identifier","greeting"],
+  ["punctuation.operator",";"]
+],[
+   "no_regex",
+  ["text","        "],
+  ["paren.rparen","}"]
+],[
+   "no_regex",
+  ["text","    "],
+  ["paren.rparen","}"]
+],[
+   "no_regex",
+  ["paren.rparen","}"]
+],[
+   "start",
+  ["identifier","module"],
+  ["text"," "],
+  ["identifier","Mankala"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","   "],
+  ["keyword.operator.ts","export"],
+  ["text"," "],
+  ["keyword.operator.ts","class"],
+  ["text"," "],
+  ["identifier","Features"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","       "],
+  ["keyword.operator.ts","public"],
+  ["text"," "],
+  ["identifier","turnContinues"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["constant.language.boolean","false"],
+  ["punctuation.operator",";"]
+],[
+   "start",
+  ["text","       "],
+  ["keyword.operator.ts","public"],
+  ["text"," "],
+  ["identifier","seedStoredCount"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["constant.numeric","0"],
+  ["punctuation.operator",";"]
+],[
+   "start",
+  ["text","       "],
+  ["keyword.operator.ts","public"],
+  ["text"," "],
+  ["identifier","capturedCount"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["constant.numeric","0"],
+  ["punctuation.operator",";"]
+],[
+   "start",
+  ["text","       "],
+  ["keyword.operator.ts","public"],
+  ["text"," "],
+  ["identifier","spaceCaptured"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["identifier","NoSpace"],
+  ["punctuation.operator",";"]
+],[
+   "start"
+],[
+   "start",
+  ["text","       "],
+  ["keyword.operator.ts","public"],
+  ["text"," "],
+  ["entity.name.function.ts","clear"],
+  ["paren.lparen","("],
+  ["paren.rparen",")"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","           "],
+  ["storage.type.variable.ts","this."],
+  ["identifier","turnContinues"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["constant.language.boolean","false"],
+  ["punctuation.operator",";"]
+],[
+   "start",
+  ["text","           "],
+  ["storage.type.variable.ts","this."],
+  ["identifier","seedStoredCount"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["constant.numeric","0"],
+  ["punctuation.operator",";"]
+],[
+   "start",
+  ["text","           "],
+  ["storage.type.variable.ts","this."],
+  ["identifier","capturedCount"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["constant.numeric","0"],
+  ["punctuation.operator",";"]
+],[
+   "start",
+  ["text","           "],
+  ["storage.type.variable.ts","this."],
+  ["identifier","spaceCaptured"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["identifier","NoSpace"],
+  ["punctuation.operator",";"]
+],[
+   "no_regex",
+  ["text","       "],
+  ["paren.rparen","}"]
+],[
+   "no_regex"
+],[
+   "start",
+  ["text","       "],
+  ["keyword","public"],
+  ["text"," "],
+  ["identifier","toString"],
+  ["paren.lparen","("],
+  ["paren.rparen",")"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","           "],
+  ["storage.type","var"],
+  ["text"," "],
+  ["identifier","stringBuilder"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["string","\"\""],
+  ["punctuation.operator",";"]
+],[
+   "start",
+  ["text","           "],
+  ["keyword","if"],
+  ["text"," "],
+  ["paren.lparen","("],
+  ["storage.type.variable.ts","this."],
+  ["identifier","turnContinues"],
+  ["paren.rparen",")"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","               "],
+  ["identifier","stringBuilder"],
+  ["text"," "],
+  ["keyword.operator","+="],
+  ["text"," "],
+  ["string","\" turn continues,\""],
+  ["punctuation.operator",";"]
+],[
+   "no_regex",
+  ["text","           "],
+  ["paren.rparen","}"]
+],[
+   "start",
+  ["text","           "],
+  ["identifier","stringBuilder"],
+  ["text"," "],
+  ["keyword.operator","+="],
+  ["text"," "],
+  ["string","\" stores \""],
+  ["text"," "],
+  ["keyword.operator","+"],
+  ["text"," "],
+  ["storage.type.variable.ts","this."],
+  ["identifier","seedStoredCount"],
+  ["punctuation.operator",";"]
+],[
+   "start",
+  ["text","           "],
+  ["keyword","if"],
+  ["text"," "],
+  ["paren.lparen","("],
+  ["storage.type.variable.ts","this."],
+  ["identifier","capturedCount"],
+  ["text"," "],
+  ["keyword.operator",">"],
+  ["text"," "],
+  ["constant.numeric","0"],
+  ["paren.rparen",")"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "start",
+  ["text","               "],
+  ["identifier","stringBuilder"],
+  ["text"," "],
+  ["keyword.operator","+="],
+  ["text"," "],
+  ["string","\" captures \""],
+  ["text"," "],
+  ["keyword.operator","+"],
+  ["text"," "],
+  ["storage.type.variable.ts","this."],
+  ["identifier","capturedCount"],
+  ["text"," "],
+  ["keyword.operator","+"],
+  ["text"," "],
+  ["string","\" from space \""],
+  ["text"," "],
+  ["keyword.operator","+"],
+  ["text"," "],
+  ["storage.type.variable.ts","this."],
+  ["identifier","spaceCaptured"],
+  ["punctuation.operator",";"]
+],[
+   "no_regex",
+  ["text","           "],
+  ["paren.rparen","}"]
+],[
+   "start",
+  ["text","           "],
+  ["keyword","return"],
+  ["text"," "],
+  ["identifier","stringBuilder"],
+  ["punctuation.operator",";"]
+],[
+   "no_regex",
+  ["text","       "],
+  ["paren.rparen","}"]
+],[
+   "no_regex",
+  ["text","   "],
+  ["paren.rparen","}"]
+],[
+   "no_regex",
+  ["paren.rparen","}"]
+]]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/9abd128c/src/fauxton/assets/js/libs/ace/mode/_test/tokens_vbscript.json
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/js/libs/ace/mode/_test/tokens_vbscript.json b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_vbscript.json
new file mode 100644
index 0000000..6a2346d
--- /dev/null
+++ b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_vbscript.json
@@ -0,0 +1,249 @@
+[[
+   "start",
+  ["text","myfilename "],
+  ["keyword.operator.asp","="],
+  ["text"," "],
+  ["punctuation.definition.string.begin.asp","\""],
+  ["string.quoted.double.asp","C:\\Wikipedia - VBScript - Example - Hello World.txt\""]
+],[
+   "start"
+],[
+   "start",
+  ["text","MakeHelloWorldFile myfilename"]
+],[
+   "start"
+],[
+   "state_4",
+  ["meta.leading-space"," "]
+],[
+   "state_4"
+],[
+   "start",
+  ["storage.type.function.asp","Sub"],
+  ["text"," "],
+  ["entity.name.function.asp","MakeHelloWorldFile"],
+  ["text"," "],
+  ["punctuation.definition.parameters.asp","("],
+  ["variable.parameter.function.asp","FileName"],
+  ["punctuation.definition.parameters.asp",")"]
+],[
+   "start"
+],[
+   "start",
+  ["punctuation.definition.comment.asp","'"],
+  ["comment.line.apostrophe.asp","Create a new file in C: drive or overwrite existing file"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.leading-space"," "],
+  ["storage.type.asp","Set"],
+  ["text"," FSO "],
+  ["keyword.operator.asp","="],
+  ["text"," "],
+  ["support.function.asp","CreateObject"],
+  ["text","("],
+  ["punctuation.definition.string.begin.asp","\""],
+  ["string.quoted.double.asp","Scripting.FileSystemObject\""],
+  ["text",")"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.leading-space"," "],
+  ["keyword.control.asp","If"],
+  ["text"," FSO."],
+  ["entity.name.function.asp","FileExists"],
+  ["text","(FileName) "],
+  ["keyword.control.asp","Then"],
+  ["text"," "]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.even-tab.spaces","  "],
+  ["meta.odd-tab.spaces","  "],
+  ["text","Answer "],
+  ["keyword.operator.asp","="],
+  ["text"," "],
+  ["support.function.vb.asp","MsgBox"],
+  ["text"," ("],
+  ["punctuation.definition.string.begin.asp","\""],
+  ["string.quoted.double.asp","File \""],
+  ["text"," "],
+  ["keyword.operator.asp","&"],
+  ["text"," FileName "],
+  ["keyword.operator.asp","&"],
+  ["text"," "],
+  ["punctuation.definition.string.begin.asp","\""],
+  ["string.quoted.double.asp"," exists ... OK to overwrite?\""],
+  ["text",", vbOKCancel)"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.even-tab.spaces","  "],
+  ["meta.odd-tab.spaces","  "],
+  ["punctuation.definition.comment.asp","'"],
+  ["comment.line.apostrophe.asp","If button selected is not OK, then quit now"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.even-tab.spaces","  "],
+  ["meta.odd-tab.spaces","  "],
+  ["punctuation.definition.comment.asp","'"],
+  ["comment.line.apostrophe.asp","vbOK is a language constant"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.even-tab.spaces","  "],
+  ["meta.odd-tab.spaces","  "],
+  ["keyword.control.asp","If"],
+  ["text"," Answer "],
+  ["keyword.operator.asp","<>"],
+  ["text"," vbOK "],
+  ["keyword.control.asp","Then"],
+  ["text"," "],
+  ["keyword.control.asp","Exit Sub"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.leading-space"," "],
+  ["keyword.control.asp","Else"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.even-tab.spaces","  "],
+  ["meta.odd-tab.spaces","  "],
+  ["punctuation.definition.comment.asp","'"],
+  ["comment.line.apostrophe.asp","Confirm OK to create"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.even-tab.spaces","  "],
+  ["meta.odd-tab.spaces","  "],
+  ["text","Answer "],
+  ["keyword.operator.asp","="],
+  ["text"," "],
+  ["support.function.vb.asp","MsgBox"],
+  ["text"," ("],
+  ["punctuation.definition.string.begin.asp","\""],
+  ["string.quoted.double.asp","File \""],
+  ["text"," "],
+  ["keyword.operator.asp","&"],
+  ["text"," FileName "],
+  ["keyword.operator.asp","&"],
+  ["text"," "],
+  ["punctuation.definition.string.begin.asp","\""],
+  ["string.quoted.double.asp"," ... OK to create?\""],
+  ["text",", vbOKCancel)"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.even-tab.spaces","  "],
+  ["meta.odd-tab.spaces","  "],
+  ["keyword.control.asp","If"],
+  ["text"," Answer "],
+  ["keyword.operator.asp","<>"],
+  ["text"," vbOK "],
+  ["keyword.control.asp","Then"],
+  ["text"," "],
+  ["keyword.control.asp","Exit Sub"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.leading-space"," "],
+  ["keyword.control.asp","End If"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.leading-space"," "],
+  ["punctuation.definition.comment.asp","'"],
+  ["comment.line.apostrophe.asp","Create new file (or replace an existing file)"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.leading-space"," "],
+  ["storage.type.asp","Set"],
+  ["text"," FileObject "],
+  ["keyword.operator.asp","="],
+  ["text"," FSO.CreateTextFile (FileName)"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.leading-space"," "],
+  ["text","FileObject.WriteLine "],
+  ["punctuation.definition.string.begin.asp","\""],
+  ["string.quoted.double.asp","Time ... \""],
+  ["text"," "],
+  ["keyword.operator.asp","&"],
+  ["text"," "],
+  ["support.function.vb.asp","Now"],
+  ["text","()"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.leading-space"," "],
+  ["text","FileObject.WriteLine "],
+  ["punctuation.definition.string.begin.asp","\""],
+  ["string.quoted.double.asp","Hello World\""]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.leading-space"," "],
+  ["text","FileObject."],
+  ["entity.name.function.asp","Close"],
+  ["text","()"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.odd-tab.spaces","  "],
+  ["meta.leading-space"," "],
+  ["support.function.vb.asp","MsgBox"],
+  ["text"," "],
+  ["punctuation.definition.string.begin.asp","\""],
+  ["string.quoted.double.asp","File \""],
+  ["text"," "],
+  ["keyword.operator.asp","&"],
+  ["text"," FileName "],
+  ["keyword.operator.asp","&"],
+  ["text"," "],
+  ["punctuation.definition.string.begin.asp","\""],
+  ["string.quoted.double.asp"," ... updated.\""]
+],[
+   "start"
+],[
+   "start",
+  ["support.function.asp","End"],
+  ["text"," "],
+  ["storage.type.asp","Sub"]
+]]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/9abd128c/src/fauxton/assets/js/libs/ace/mode/_test/tokens_velocity.json
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/js/libs/ace/mode/_test/tokens_velocity.json b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_velocity.json
new file mode 100644
index 0000000..3eb7a9a
--- /dev/null
+++ b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_velocity.json
@@ -0,0 +1,281 @@
+[[
+   "vm_comment",
+  ["comment.block","#*"]
+],[
+   "vm_comment",
+  ["comment","  This is a sample comment block that"]
+],[
+   "vm_comment",
+  ["comment","  spans multiple lines."]
+],[
+   "start",
+  ["comment","*#"]
+],[
+   "start"
+],[
+   "start",
+  ["keyword","#macro"],
+  ["text"," "],
+  ["lparen","("],
+  ["text"," "],
+  ["identifier","outputItem"],
+  ["text"," "],
+  ["variable","$item"],
+  ["text"," "],
+  ["rparen",")"]
+],[
+   "start",
+  ["text","  "],
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name","li"],
+  ["meta.tag.punctuation.end",">"],
+  ["variable","${"],
+  ["identifier","item"],
+  ["variable","}"],
+  ["meta.tag.punctuation.begin","</"],
+  ["meta.tag.name","li"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start",
+  ["keyword","#end"]
+],[
+   "start"
+],[
+   "start",
+  ["comment","## Define the items to iterate"]
+],[
+   "start",
+  ["keyword","#set"],
+  ["text"," "],
+  ["lparen","("],
+  ["text"," "],
+  ["variable","$items"],
+  ["text"," "],
+  ["keyword.operator","="],
+  ["text"," "],
+  ["lparen","["],
+  ["constant.numeric","1"],
+  ["text",", "],
+  ["constant.numeric","2"],
+  ["text",", "],
+  ["constant.numeric","3"],
+  ["text",", "],
+  ["constant.numeric","4"],
+  ["rparen","]"],
+  ["text"," "],
+  ["rparen",")"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name","ul"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start",
+  ["text","  "],
+  ["comment","## Iterate over the items and output the evens."]
+],[
+   "start",
+  ["text","  "],
+  ["keyword","#foreach"],
+  ["text"," "],
+  ["lparen","("],
+  ["text"," "],
+  ["variable","$item"],
+  ["text"," "],
+  ["identifier","in"],
+  ["text"," "],
+  ["variable","$items"],
+  ["text"," "],
+  ["rparen",")"]
+],[
+   "start",
+  ["text","    "],
+  ["keyword","#if"],
+  ["text"," "],
+  ["lparen","("],
+  ["text"," "],
+  ["support.function","$_MathTool"],
+  ["text","."],
+  ["identifier","mod"],
+  ["lparen","("],
+  ["variable","$item"],
+  ["text",", "],
+  ["constant.numeric","2"],
+  ["rparen",")"],
+  ["text"," "],
+  ["keyword.operator","=="],
+  ["text"," "],
+  ["constant.numeric","0"],
+  ["text"," "],
+  ["rparen",")"]
+],[
+   "start",
+  ["text","      "],
+  ["identifier","#outputItem"],
+  ["text"," "],
+  ["lparen","("],
+  ["variable","$item"],
+  ["rparen",")"]
+],[
+   "start",
+  ["text","    "],
+  ["keyword","#end"]
+],[
+   "start",
+  ["text","  "],
+  ["keyword","#end"]
+],[
+   "start",
+  ["meta.tag.punctuation.begin","</"],
+  ["meta.tag.name","ul"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start"
+],[
+   "js-start",
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name.script","script"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "js-comment_regex_allowed",
+  ["text","  "],
+  ["comment","/*"]
+],[
+   "js-comment_regex_allowed",
+  ["comment","    A sample function to decomstrate"]
+],[
+   "js-comment_regex_allowed",
+  ["comment","    JavaScript highlighting and folding."]
+],[
+   "js-start",
+  ["comment","  */"]
+],[
+   "js-start",
+  ["text","  "],
+  ["storage.type","function"],
+  ["text"," "],
+  ["entity.name.function","foo"],
+  ["paren.lparen","("],
+  ["variable.parameter","items"],
+  ["punctuation.operator",", "],
+  ["variable.parameter","nada"],
+  ["paren.rparen",")"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   "js-start",
+  ["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","{"]
+],[
+   "js-start",
+  ["text","      "],
+  ["support.function","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",";"]
+],[
+   "js-no_regex",
+  ["text","    "],
+  ["paren.rparen","}"]
+],[
+   "js-no_regex",
+  ["text","  "],
+  ["paren.rparen","}"]
+],[
+   "start",
+  ["meta.tag.punctuation.begin","</"],
+  ["meta.tag.name.script","script"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start"
+],[
+   "css-start",
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name.style","style"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   ["css-comment","css-start"],
+  ["text","  "],
+  ["comment","/*"]
+],[
+   ["css-comment","css-start"],
+  ["comment","    A sample style to decomstrate"]
+],[
+   ["css-comment","css-start"],
+  ["comment","    CSS highlighting and folding."]
+],[
+   "css-start",
+  ["comment","  */"]
+],[
+   ["css-ruleset","css-start"],
+  ["text","  "],
+  ["variable",".class"],
+  ["text"," "],
+  ["paren.lparen","{"]
+],[
+   ["css-ruleset","css-start"],
+  ["text","    "],
+  ["support.type","font-family"],
+  ["text",": Monaco, "],
+  ["string","\"Courier New\""],
+  ["text",", "],
+  ["support.constant.fonts","monospace"],
+  ["text",";"]
+],[
+   ["css-ruleset","css-start"],
+  ["text","    "],
+  ["support.type","font-size"],
+  ["text",": "],
+  ["constant.numeric","12"],
+  ["keyword","px"],
+  ["text",";"]
+],[
+   ["css-ruleset","css-start"],
+  ["text","    "],
+  ["support.type","cursor"],
+  ["text",": "],
+  ["support.constant","text"],
+  ["text",";"]
+],[
+   "css-start",
+  ["text","  "],
+  ["paren.rparen","}"]
+],[
+   "start",
+  ["meta.tag.punctuation.begin","</"],
+  ["meta.tag.name.style","style"],
+  ["meta.tag.punctuation.end",">"]
+]]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/9abd128c/src/fauxton/assets/js/libs/ace/mode/_test/tokens_xml.json
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/js/libs/ace/mode/_test/tokens_xml.json b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_xml.json
new file mode 100644
index 0000000..70f7309
--- /dev/null
+++ b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_xml.json
@@ -0,0 +1,43 @@
+[[
+   "start",
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name","Juhu"],
+  ["meta.tag.punctuation.end",">"],
+  ["text","//Juhu Kinners"],
+  ["meta.tag.punctuation.begin","</"],
+  ["meta.tag.name","Kinners"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start",
+  ["text","test: two tags in the same lines should be in separate tokens\""]
+],[
+   "start",
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name","Juhu"],
+  ["meta.tag.punctuation.end",">"],
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name","Kinners"],
+  ["meta.tag.punctuation.end",">"]
+],[
+   "start",
+  ["text","test: multiline attributes\""]
+],[
+   ["qqstring_inner","meta.tag.punctuation.begin"],
+  ["meta.tag.punctuation.begin","<"],
+  ["meta.tag.name","copy"],
+  ["text"," "],
+  ["entity.other.attribute-name","set"],
+  ["keyword.operator.separator","="],
+  ["string","\"{"]
+],[
+   ["qqstring_inner","meta.tag.punctuation.begin"],
+  ["string","}\""],
+  ["text"," "],
+  ["entity.other.attribute-name","undo"],
+  ["keyword.operator.separator","="],
+  ["string","\"{"]
+],[
+   "start",
+  ["string","}\""],
+  ["meta.tag.punctuation.end","/>"]
+]]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/9abd128c/src/fauxton/assets/js/libs/ace/mode/_test/tokens_xquery.json
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/js/libs/ace/mode/_test/tokens_xquery.json b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_xquery.json
new file mode 100644
index 0000000..aaf9ab9
--- /dev/null
+++ b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_xquery.json
@@ -0,0 +1,44 @@
+[[
+   "[\"start\"]",
+  ["keyword","xquery"],
+  ["text"," "],
+  ["keyword","version"],
+  ["text"," "],
+  ["string","\""],
+  ["string","1.0"],
+  ["string","\""],
+  ["text",";"]
+],[
+   "[\"start\"]"
+],[
+   "[\"start\"]",
+  ["keyword","let"],
+  ["text"," "],
+  ["variable","$message"],
+  ["text"," "],
+  ["keyword.operator",":="],
+  ["text"," "],
+  ["string","\""],
+  ["string","Hello World!"],
+  ["string","\""]
+],[
+   "[\"start\",\"StartTag\",\"TagContent\"]",
+  ["keyword","return"],
+  ["text"," "],
+  ["meta.tag","<results"],
+  ["meta.tag",">"]
+],[
+   "[\"start\",\"StartTag\",\"TagContent\"]",
+  ["text","  "],
+  ["meta.tag","<message"],
+  ["meta.tag",">"],
+  ["text","{"],
+  ["variable","$message"],
+  ["text","}"],
+  ["meta.tag","</message>"]
+],[
+   "[\"start\"]",
+  ["meta.tag","</results>"]
+],[
+   "[\"start\"]"
+]]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/9abd128c/src/fauxton/assets/js/libs/ace/mode/_test/tokens_yaml.json
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/js/libs/ace/mode/_test/tokens_yaml.json b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_yaml.json
new file mode 100644
index 0000000..7c9b45f
--- /dev/null
+++ b/src/fauxton/assets/js/libs/ace/mode/_test/tokens_yaml.json
@@ -0,0 +1,150 @@
+[[
+   "start",
+  ["comment","# This sample document was taken from wikipedia:"]
+],[
+   "start",
+  ["comment","# http://en.wikipedia.org/wiki/YAML#Sample_document"]
+],[
+   "start",
+  ["list.markup","---"]
+],[
+   "start",
+  ["meta.tag","receipt"],
+  ["keyword",":     "],
+  ["text","Oz-Ware Purchase Invoice"]
+],[
+   "start",
+  ["meta.tag","date"],
+  ["keyword",":        "],
+  ["constant.numeric","2007-08-06"]
+],[
+   "start",
+  ["meta.tag","customer"],
+  ["keyword",":"]
+],[
+   "start",
+  ["meta.tag","    given"],
+  ["keyword",":   "],
+  ["text","Dorothy"]
+],[
+   "start",
+  ["meta.tag","    family"],
+  ["keyword",":  "],
+  ["text","Gale"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.tag","items"],
+  ["keyword",":"]
+],[
+   "start",
+  ["list.markup","    - "],
+  ["meta.tag","part_no"],
+  ["keyword",":   "],
+  ["string","'A4786'"]
+],[
+   "start",
+  ["meta.tag","      descrip"],
+  ["keyword",":   "],
+  ["text","Water Bucket "],
+  ["paren.lparen","("],
+  ["text","Filled"],
+  ["paren.rparen",")"]
+],[
+   "start",
+  ["meta.tag","      price"],
+  ["keyword",":     "],
+  ["constant.numeric","1.47"]
+],[
+   "start",
+  ["meta.tag","      quantity"],
+  ["keyword",":  "],
+  ["constant.numeric","4"]
+],[
+   "start"
+],[
+   "start",
+  ["list.markup","    - "],
+  ["meta.tag","part_no"],
+  ["keyword",":   "],
+  ["string","'E1628'"]
+],[
+   "start",
+  ["meta.tag","      descrip"],
+  ["keyword",":   "],
+  ["text","High Heeled "],
+  ["string","\"Ruby\""],
+  ["text"," Slippers"]
+],[
+   "start",
+  ["meta.tag","      size"],
+  ["keyword",":      "],
+  ["constant.numeric","8"]
+],[
+   "start",
+  ["meta.tag","      price"],
+  ["keyword",":     "],
+  ["constant.numeric","100.27"]
+],[
+   "start",
+  ["meta.tag","      quantity"],
+  ["keyword",":  "],
+  ["constant.numeric","1"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.tag","bill-to"],
+  ["keyword",":  "],
+  ["constant.language","&id001"]
+],[
+   "qqstring",
+  ["meta.tag","    street"],
+  ["keyword",": "],
+  ["string","|"]
+],[
+   "qqstring",
+  ["string","            123 Tornado Alley"]
+],[
+   "qqstring",
+  ["string","            Suite 16"]
+],[
+   "start",
+  ["meta.tag","    city"],
+  ["keyword",":   "],
+  ["text","East Centerville"]
+],[
+   "start",
+  ["meta.tag","    state"],
+  ["keyword",":  "],
+  ["text","KS"]
+],[
+   "start"
+],[
+   "start",
+  ["meta.tag","ship-to"],
+  ["keyword",":  "],
+  ["constant.language","*id001"]
+],[
+   "start"
+],[
+   "qqstring",
+  ["meta.tag","specialDelivery"],
+  ["keyword",":  "],
+  ["string",">"]
+],[
+   "qqstring",
+  ["string","    Follow the Yellow Brick"]
+],[
+   "qqstring",
+  ["string","    Road to the Emerald City."]
+],[
+   "qqstring",
+  ["string","    Pay no attention to the"]
+],[
+   "qqstring",
+  ["string","    man behind the curtain."]
+],[
+   "qqstring"
+]]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/9abd128c/src/fauxton/assets/js/libs/ace/mode/abap.js
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/js/libs/ace/mode/abap.js b/src/fauxton/assets/js/libs/ace/mode/abap.js
new file mode 100644
index 0000000..6ec54c0
--- /dev/null
+++ b/src/fauxton/assets/js/libs/ace/mode/abap.js
@@ -0,0 +1,77 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Distributed under the BSD license:
+ *
+ * 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
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * 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
+ * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+define(function(require, exports, module) {
+"use strict";
+
+var Tokenizer = require("../tokenizer").Tokenizer;
+var Rules = require("./abap_highlight_rules").AbapHighlightRules;
+var FoldMode = require("./folding/coffee").FoldMode;
+var Range = require("../range").Range;
+var TextMode = require("./text").Mode;
+var oop = require("../lib/oop");
+
+function Mode() {
+    this.HighlightRules = Rules;
+    this.foldingRules = new FoldMode();
+}
+
+oop.inherits(Mode, TextMode);
+
+(function() {
+    
+    this.getNextLineIndent = function(state, line, tab) {
+        var indent = this.$getIndent(line);
+        return indent;
+    };
+    
+    this.toggleCommentLines = function(state, doc, startRow, endRow){
+        var range = new Range(0, 0, 0, 0);
+        for (var i = startRow; i <= endRow; ++i) {
+            var line = doc.getLine(i);
+            if (hereComment.test(line))
+                continue;
+                
+            if (commentLine.test(line))
+                line = line.replace(commentLine, '$1');
+            else
+                line = line.replace(indentation, '$&#');
+    
+            range.end.row = range.start.row = i;
+            range.end.column = line.length + 1;
+            doc.replace(range, line);
+        }
+    };
+    
+}).call(Mode.prototype);
+
+exports.Mode = Mode;
+
+});

http://git-wip-us.apache.org/repos/asf/couchdb/blob/9abd128c/src/fauxton/assets/js/libs/ace/mode/abap_highlight_rules.js
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/js/libs/ace/mode/abap_highlight_rules.js b/src/fauxton/assets/js/libs/ace/mode/abap_highlight_rules.js
new file mode 100644
index 0000000..6b232c9
--- /dev/null
+++ b/src/fauxton/assets/js/libs/ace/mode/abap_highlight_rules.js
@@ -0,0 +1,134 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Distributed under the BSD license:
+ *
+ * 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
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * 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
+ * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+/*
+ * based on
+ * " Vim ABAP syntax file
+ * "    Language: SAP - ABAP/R4
+ * "    Revision: 2.1
+ * "  Maintainer: Marius Piedallu van Wyk <la...@gmail.com>
+ * " Last Change: 2012 Oct 23
+ */
+
+define(function(require, exports, module) {
+"use strict";
+
+var oop = require("../lib/oop");
+var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
+
+var AbapHighlightRules = function() {
+
+    var keywordMapper = this.createKeywordMapper({
+        "variable.language": "this",
+        "keyword": 
+            "ADD ALIAS ALIASES ASSERT ASSIGN ASSIGNING AT BACK" +
+            " CALL CASE CATCH CHECK CLASS CLEAR CLOSE CNT COLLECT COMMIT COMMUNICATION COMPUTE CONCATENATE CONDENSE CONSTANTS CONTINUE CONTROLS CONVERT CREATE CURRENCY" +
+            " DATA DEFINE DEFINITION DEFERRED DELETE DESCRIBE DETAIL DIVIDE DO" +
+            " ELSE ELSEIF ENDAT ENDCASE ENDCLASS ENDDO ENDEXEC ENDFORM ENDFUNCTION ENDIF ENDIFEND ENDINTERFACE ENDLOOP ENDMETHOD ENDMODULE ENDON ENDPROVIDE ENDSELECT ENDTRY ENDWHILE EVENT EVENTS EXEC EXIT EXPORT EXPORTING EXTRACT" +
+            " FETCH FIELDS FORM FORMAT FREE FROM FUNCTION" +
+            " GENERATE GET" +
+            " HIDE" +
+            " IF IMPORT IMPORTING INDEX INFOTYPES INITIALIZATION INTERFACE INTERFACES INPUT INSERT IMPLEMENTATION" +
+            " LEAVE LIKE LINE LOAD LOCAL LOOP" +
+            " MESSAGE METHOD METHODS MODIFY MODULE MOVE MULTIPLY" +
+            " ON OVERLAY OPTIONAL OTHERS" +
+            " PACK PARAMETERS PERFORM POSITION PROGRAM PROVIDE PUT" +
+            " RAISE RANGES READ RECEIVE RECEIVING REDEFINITION REFERENCE REFRESH REJECT REPLACE REPORT RESERVE RESTORE RETURNING ROLLBACK" +
+            " SCAN SCROLL SEARCH SELECT SET SHIFT SKIP SORT SORTED SPLIT STANDARD STATICS STEP STOP SUBMIT SUBTRACT SUM SUMMARY SUPPRESS" +
+            " TABLES TIMES TRANSFER TRANSLATE TRY TYPE TYPES" +
+            " UNASSIGN ULINE UNPACK UPDATE" +
+            " WHEN WHILE WINDOW WRITE" +
+            " OCCURS STRUCTURE OBJECT PROPERTY" +
+            " CASTING APPEND RAISING VALUE COLOR" +
+            " CHANGING EXCEPTION EXCEPTIONS DEFAULT CHECKBOX COMMENT" +
+            " ID NUMBER FOR TITLE OUTPUT" +
+            " WITH EXIT USING" +
+            " INTO WHERE GROUP BY HAVING ORDER BY SINGLE" +
+            " APPENDING CORRESPONDING FIELDS OF TABLE" +
+            " LEFT RIGHT OUTER INNER JOIN AS CLIENT SPECIFIED BYPASSING BUFFER UP TO ROWS CONNECTING" +
+            " EQ NE LT LE GT GE NOT AND OR XOR IN LIKE BETWEEN",
+        "constant.language": 
+            "TRUE FALSE NULL SPACE",
+        "support.type": 
+            "c n i p f d t x string xstring decfloat16 decfloat34",
+        "keyword.operator":
+            "abs sign ceil floor trunc frac acos asin atan cos sin tan" +
+            " abapOperator cosh sinh tanh exp log log10 sqrt" +
+            " strlen xstrlen charlen numofchar dbmaxlen lines" 
+    }, "text", true, " ");
+
+    var compoundKeywords = "WITH\\W+(?:HEADER\\W+LINE|FRAME|KEY)|NO\\W+STANDARD\\W+PAGE\\W+HEADING|"+
+        "EXIT\\W+FROM\\W+STEP\\W+LOOP|BEGIN\\W+OF\\W+(?:BLOCK|LINE)|BEGIN\\W+OF|"+
+        "END\\W+OF\\W+(?:BLOCK|LINE)|END\\W+OF|NO\\W+INTERVALS|"+
+        "RESPECTING\\W+BLANKS|SEPARATED\\W+BY|USING\\W+(?:EDIT\\W+MASK)|"+
+        "WHERE\\W+(?:LINE)|RADIOBUTTON\\W+GROUP|REF\\W+TO|"+
+        "(?:PUBLIC|PRIVATE|PROTECTED)(?:\\W+SECTION)?|DELETING\\W+(?:TRAILING|LEADING)"+
+        "(?:ALL\\W+OCCURRENCES)|(?:FIRST|LAST)\\W+OCCURRENCE|INHERITING\\W+FROM|"+
+        "LINE-COUNT|ADD-CORRESPONDING|AUTHORITY-CHECK|BREAK-POINT|CLASS-DATA|CLASS-METHODS|"+
+        "CLASS-METHOD|DIVIDE-CORRESPONDING|EDITOR-CALL|END-OF-DEFINITION|END-OF-PAGE|END-OF-SELECTION|"+
+        "FIELD-GROUPS|FIELD-SYMBOLS|FUNCTION-POOL|MOVE-CORRESPONDING|MULTIPLY-CORRESPONDING|NEW-LINE|"+
+        "NEW-PAGE|NEW-SECTION|PRINT-CONTROL|RP-PROVIDE-FROM-LAST|SELECT-OPTIONS|SELECTION-SCREEN|"+
+        "START-OF-SELECTION|SUBTRACT-CORRESPONDING|SYNTAX-CHECK|SYNTAX-TRACE|TOP-OF-PAGE|TYPE-POOL|"+
+        "TYPE-POOLS|LINE-SIZE|LINE-COUNT|MESSAGE-ID|DISPLAY-MODE|READ(?:-ONLY)?|"+
+        "IS\\W+(?:NOT\\W+)?(?:ASSIGNED|BOUND|INITIAL|SUPPLIED)";
+     
+    this.$rules = {
+        "start" : [
+            {token : "string", regex : "`", next  : "string"},
+            {token : "string", regex : "'", next  : "qstring"},
+            {token : "doc.comment", regex : /^\*.+/},
+            {token : "comment",  regex : /".+$/},
+            {token : "invalid", regex: "\\.{2,}"},
+            {token : "keyword.operator", regex: /\W[\-+\%=<>*]\W|\*\*|[~:,\.&$]|->*?|=>/},
+            {token : "paren.lparen", regex : "[\\[({]"},
+            {token : "paren.rparen", regex : "[\\])}]"},
+            {token : "constant.numeric", regex: "[+-]?\\d+\\b"},
+            {token : "variable.parameter", regex : /sy|pa?\d\d\d\d\|t\d\d\d\.|innnn/}, 
+            {token : "keyword", regex : compoundKeywords}, 
+            {token : "variable.parameter", regex : /\w+-\w+(?:-\w+)*/}, 
+            {token : keywordMapper, regex : "\\b\\w+\\b"},
+            {caseInsensitive: true}
+        ],
+        "qstring" : [
+            {token : "constant.language.escape",   regex : "''"},
+            {token : "string", regex : "'",     next  : "start"},
+            {defaultToken : "string"}
+        ],
+        "string" : [
+            {token : "constant.language.escape",   regex : "``"},
+            {token : "string", regex : "`",     next  : "start"},
+            {defaultToken : "string"}
+        ]
+    }
+};
+oop.inherits(AbapHighlightRules, TextHighlightRules);
+
+exports.AbapHighlightRules = AbapHighlightRules;
+});

http://git-wip-us.apache.org/repos/asf/couchdb/blob/9abd128c/src/fauxton/assets/js/libs/ace/mode/actionscript.js
----------------------------------------------------------------------
diff --git a/src/fauxton/assets/js/libs/ace/mode/actionscript.js b/src/fauxton/assets/js/libs/ace/mode/actionscript.js
new file mode 100644
index 0000000..47b9345
--- /dev/null
+++ b/src/fauxton/assets/js/libs/ace/mode/actionscript.js
@@ -0,0 +1,62 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Distributed under the BSD license:
+ *
+ * Copyright (c) 2012, 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
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * 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
+ * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * Contributor(s):
+ *
+ *
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+/*
+  THIS FILE WAS AUTOGENERATED BY mode.tmpl.js
+*/
+
+define(function(require, exports, module) {
+"use strict";
+
+var oop = require("../lib/oop");
+var TextMode = require("./text").Mode;
+var Tokenizer = require("../tokenizer").Tokenizer;
+var ActionScriptHighlightRules = require("./actionscript_highlight_rules").ActionScriptHighlightRules;
+// TODO: pick appropriate fold mode
+var FoldMode = require("./folding/cstyle").FoldMode;
+
+var Mode = function() {
+    this.HighlightRules = ActionScriptHighlightRules;
+    this.foldingRules = new FoldMode();
+};
+oop.inherits(Mode, TextMode);
+
+(function() {
+    this.lineCommentStart = "//";
+    this.blockComment = {start: "/*", end: "*/"};
+}).call(Mode.prototype);
+
+exports.Mode = Mode;
+});
\ No newline at end of file