Merge branch 'master' of github.com:ajaxorg/ace into ui/optimize-experimental
This commit is contained in:
commit
67d75fc948
6 changed files with 168 additions and 9 deletions
|
|
@ -109,6 +109,7 @@ var modesByName = {
|
||||||
less: ["LESS" , "less"],
|
less: ["LESS" , "less"],
|
||||||
liquid: ["Liquid" , "liquid"],
|
liquid: ["Liquid" , "liquid"],
|
||||||
lua: ["Lua" , "lua"],
|
lua: ["Lua" , "lua"],
|
||||||
|
luapage: ["LuaPage" , "lp"], // http://keplerproject.github.com/cgilua/manual.html#templates
|
||||||
markdown: ["Markdown" , "md|markdown"],
|
markdown: ["Markdown" , "md|markdown"],
|
||||||
ocaml: ["OCaml" , "ml|mli"],
|
ocaml: ["OCaml" , "ml|mli"],
|
||||||
perl: ["Perl" , "pl|pm"],
|
perl: ["Perl" , "pl|pm"],
|
||||||
|
|
@ -186,6 +187,7 @@ var docs = {
|
||||||
"docs/ocaml.ml": "OCaml",
|
"docs/ocaml.ml": "OCaml",
|
||||||
"docs/OpenSCAD.scad": "OpenSCAD",
|
"docs/OpenSCAD.scad": "OpenSCAD",
|
||||||
"docs/lua.lua": "Lua",
|
"docs/lua.lua": "Lua",
|
||||||
|
"docs/luapage.lp": "LuaPage",
|
||||||
"docs/liquid.liquid": "Liquid",
|
"docs/liquid.liquid": "Liquid",
|
||||||
"docs/java.java": "Java",
|
"docs/java.java": "Java",
|
||||||
"docs/clojure.clj": "Clojure",
|
"docs/clojure.clj": "Clojure",
|
||||||
|
|
|
||||||
71
demo/kitchen-sink/docs/luapage.lp
Normal file
71
demo/kitchen-sink/docs/luapage.lp
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html>
|
||||||
|
<% --[[--
|
||||||
|
index.lp from the Kepler Project's LuaDoc HTML doclet.
|
||||||
|
http://keplerproject.github.com/luadoc/
|
||||||
|
--]] %>
|
||||||
|
<head>
|
||||||
|
<title>Reference</title>
|
||||||
|
<link rel="stylesheet" href="<%=luadoc.doclet.html.link("luadoc.css")%>" type="text/css" />
|
||||||
|
<!--meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/-->
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="container">
|
||||||
|
|
||||||
|
<div id="product">
|
||||||
|
<div id="product_logo"></div>
|
||||||
|
<div id="product_name"><big><b></b></big></div>
|
||||||
|
<div id="product_description"></div>
|
||||||
|
</div> <!-- id="product" -->
|
||||||
|
|
||||||
|
<div id="main">
|
||||||
|
|
||||||
|
<div id="navigation">
|
||||||
|
<%=luadoc.doclet.html.include("menu.lp", { doc=doc })%>
|
||||||
|
|
||||||
|
</div> <!-- id="navigation" -->
|
||||||
|
|
||||||
|
<div id="content">
|
||||||
|
|
||||||
|
|
||||||
|
<%if not options.nomodules and #doc.modules > 0 then%>
|
||||||
|
<h2>Modules</h2>
|
||||||
|
<table class="module_list">
|
||||||
|
<!--<tr><td colspan="2">Modules</td></tr>-->
|
||||||
|
<%for _, modulename in ipairs(doc.modules) do%>
|
||||||
|
<tr>
|
||||||
|
<td class="name"><a href="<%=luadoc.doclet.html.module_link(modulename, doc)%>"><%=modulename%></a></td>
|
||||||
|
<td class="summary"><%=doc.modules[modulename].summary%></td>
|
||||||
|
</tr>
|
||||||
|
<%end%>
|
||||||
|
</table>
|
||||||
|
<%end%>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<%if not options.nofiles and #doc.files > 0 then%>
|
||||||
|
<h2>Files</h2>
|
||||||
|
<table class="file_list">
|
||||||
|
<!--<tr><td colspan="2">Files</td></tr>-->
|
||||||
|
<%for _, filepath in ipairs(doc.files) do%>
|
||||||
|
<tr>
|
||||||
|
<td class="name"><a href="<%=luadoc.doclet.html.file_link(filepath)%>"><%=filepath%></a></td>
|
||||||
|
<td class="summary"></td>
|
||||||
|
</tr>
|
||||||
|
<%end%>
|
||||||
|
</table>
|
||||||
|
<%end%>
|
||||||
|
|
||||||
|
</div> <!-- id="content" -->
|
||||||
|
|
||||||
|
</div> <!-- id="main" -->
|
||||||
|
|
||||||
|
<div id="about">
|
||||||
|
<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>
|
||||||
|
</div> <!-- id="about" -->
|
||||||
|
|
||||||
|
</div> <!-- id="container" -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -67,6 +67,7 @@
|
||||||
<option value="ace/theme/dawn">Dawn</option>
|
<option value="ace/theme/dawn">Dawn</option>
|
||||||
<option value="ace/theme/dreamweaver">Dreamweaver</option>
|
<option value="ace/theme/dreamweaver">Dreamweaver</option>
|
||||||
<option value="ace/theme/eclipse">Eclipse</option>
|
<option value="ace/theme/eclipse">Eclipse</option>
|
||||||
|
<option value="ace/theme/github">GitHub</option>
|
||||||
<option value="ace/theme/idle_fingers">idleFingers</option>
|
<option value="ace/theme/idle_fingers">idleFingers</option>
|
||||||
<option value="ace/theme/kr_theme">krTheme</option>
|
<option value="ace/theme/kr_theme">krTheme</option>
|
||||||
<option value="ace/theme/merbivore">Merbivore</option>
|
<option value="ace/theme/merbivore">Merbivore</option>
|
||||||
|
|
|
||||||
|
|
@ -51,9 +51,11 @@
|
||||||
|
|
||||||
.ace_gutter-cell.ace_info {
|
.ace_gutter-cell.ace_info {
|
||||||
background-image: url("data:image/gif;base64,R0lGODlhEAAQAMQAAAAAAEFBQVJSUl5eXmRkZGtra39/f4WFhYmJiZGRkaampry8vMPDw8zMzNXV1dzc3OTk5Orq6vDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABQALAAAAAAQABAAAAUuICWOZGmeaBml5XGwFCQSBGyXRSAwtqQIiRuiwIM5BoYVbEFIyGCQoeJGrVptIQA7");
|
background-image: url("data:image/gif;base64,R0lGODlhEAAQAMQAAAAAAEFBQVJSUl5eXmRkZGtra39/f4WFhYmJiZGRkaampry8vMPDw8zMzNXV1dzc3OTk5Orq6vDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABQALAAAAAAQABAAAAUuICWOZGmeaBml5XGwFCQSBGyXRSAwtqQIiRuiwIM5BoYVbEFIyGCQoeJGrVptIQA7");
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: 2px center;
|
background-position: 2px center;
|
||||||
}
|
}
|
||||||
|
.ace_dark .ace_gutter-cell.ace_info {
|
||||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRTk5MTVGREIxNDkxMUUxOTc5Q0FFREQyMTNGMjBFQyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRTk5MTVGRUIxNDkxMUUxOTc5Q0FFREQyMTNGMjBFQyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZFOTkxNUZCQjE0OTExRTE5NzlDQUVERDIxM0YyMEVDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFOTkxNUZDQjE0OTExRTE5NzlDQUVERDIxM0YyMEVDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SIDkjAAAAJ1JREFUeNpi/P//PwMlgImBQkB7A6qrq/+DMC55FkIGKCoq4pVnpFkgTp069f/+/fv/r1u37r+tre1/kg0A+ptn9uzZYLaRkRHpLvjw4cNXWVlZhufPnzOcO3eOdAO0tbVPAjHDmzdvGA4fPsxIsgGSkpJmv379Ynj37h2DjIyMCMkG3LhxQ/T27dsMampqDHZ2dq/pH41DxwCAAAMAFdc68dUsFZgAAAAASUVORK5CYII=");
|
||||||
|
}
|
||||||
|
|
||||||
.ace_editor .ace_sb {
|
.ace_editor .ace_sb {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
@ -247,9 +249,11 @@
|
||||||
|
|
||||||
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-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;
|
background-repeat: no-repeat;
|
||||||
background-position: center 5px;
|
background-position: center 4px;
|
||||||
|
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
|
||||||
|
border: 1px solid transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace_fold-widget.end {
|
.ace_fold-widget.end {
|
||||||
|
|
@ -263,11 +267,8 @@
|
||||||
.ace_fold-widget:hover {
|
.ace_fold-widget:hover {
|
||||||
border: 1px solid rgba(0, 0, 0, 0.3);
|
border: 1px solid rgba(0, 0, 0, 0.3);
|
||||||
background-color: rgba(255, 255, 255, 0.2);
|
background-color: rgba(255, 255, 255, 0.2);
|
||||||
-moz-box-shadow:inset 0 1px 1px rgba(255, 255, 255, 0.7);
|
|
||||||
-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
|
-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
|
||||||
-webkit-box-shadow:inset 0 1px 1px rgba(255, 255, 255, 0.7);
|
|
||||||
-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
|
-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
|
||||||
box-shadow:inset 0 1px 1px rgba(255, 255, 255, 0.7);
|
|
||||||
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
|
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
|
||||||
background-position: center 4px;
|
background-position: center 4px;
|
||||||
}
|
}
|
||||||
|
|
@ -275,14 +276,34 @@
|
||||||
.ace_fold-widget:active {
|
.ace_fold-widget:active {
|
||||||
border: 1px solid rgba(0, 0, 0, 0.4);
|
border: 1px solid rgba(0, 0, 0, 0.4);
|
||||||
background-color: rgba(0, 0, 0, 0.05);
|
background-color: rgba(0, 0, 0, 0.05);
|
||||||
-moz-box-shadow:inset 0 1px 1px rgba(255, 255, 255);
|
|
||||||
-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
|
-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
|
||||||
-webkit-box-shadow:inset 0 1px 1px rgba(255, 255, 255);
|
|
||||||
-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
|
-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
|
||||||
box-shadow:inset 0 1px 1px rgba(255, 255, 255);
|
|
||||||
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
|
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Dark version for fold widgets
|
||||||
|
*/
|
||||||
|
.ace_dark .ace_fold-widget {
|
||||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");
|
||||||
|
}
|
||||||
|
.ace_dark .ace_fold-widget.end {
|
||||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");
|
||||||
|
}
|
||||||
|
.ace_dark .ace_fold-widget.closed {
|
||||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");
|
||||||
|
}
|
||||||
|
.ace_dark .ace_fold-widget:hover {
|
||||||
|
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
||||||
|
background-color: rgba(255, 255, 255, 0.1);
|
||||||
|
}
|
||||||
|
.ace_dark .ace_fold-widget:active {
|
||||||
|
-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
||||||
|
-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
||||||
|
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.ace_fold-widget.invalid {
|
.ace_fold-widget.invalid {
|
||||||
background-color: #FFB4B4;
|
background-color: #FFB4B4;
|
||||||
border-color: #DE5555;
|
border-color: #DE5555;
|
||||||
|
|
|
||||||
22
lib/ace/mode/luapage.js
Normal file
22
lib/ace/mode/luapage.js
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
define(function(require, exports, module) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
var oop = require("../lib/oop");
|
||||||
|
var HtmlMode = require("./html").Mode;
|
||||||
|
var LuaMode = require("./lua").Mode;
|
||||||
|
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||||
|
var LuaPageHighlightRules = require("./luapage_highlight_rules").LuaPageHighlightRules;
|
||||||
|
|
||||||
|
var Mode = function() {
|
||||||
|
var highlighter = new LuaPageHighlightRules();
|
||||||
|
|
||||||
|
this.$tokenizer = new Tokenizer(new LuaPageHighlightRules().getRules());
|
||||||
|
this.$embeds = highlighter.getEmbeds();
|
||||||
|
this.createModeDelegates({
|
||||||
|
"lua-": LuaMode
|
||||||
|
});
|
||||||
|
};
|
||||||
|
oop.inherits(Mode, HtmlMode);
|
||||||
|
|
||||||
|
exports.Mode = Mode;
|
||||||
|
});
|
||||||
42
lib/ace/mode/luapage_highlight_rules.js
Normal file
42
lib/ace/mode/luapage_highlight_rules.js
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
// LuaPage implements the LuaPage markup as described by the Kepler Project's CGILua
|
||||||
|
// documentation: http://keplerproject.github.com/cgilua/manual.html#templates
|
||||||
|
define(function(require, exports, module) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
var oop = require("../lib/oop");
|
||||||
|
var HtmlHighlightRules = require("./html_highlight_rules").HtmlHighlightRules;
|
||||||
|
var LuaHighlightRules = require("./lua_highlight_rules").LuaHighlightRules;
|
||||||
|
|
||||||
|
var LuaPageHighlightRules = function() {
|
||||||
|
this.$rules = new HtmlHighlightRules().getRules();
|
||||||
|
|
||||||
|
for (var i in this.$rules) {
|
||||||
|
this.$rules[i].unshift({
|
||||||
|
token: "keyword",
|
||||||
|
regex: "<\\%\\=?",
|
||||||
|
next: "lua-start"
|
||||||
|
}, {
|
||||||
|
token: "keyword",
|
||||||
|
regex: "<\\?lua\\=?",
|
||||||
|
next: "lua-start"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.embedRules(LuaHighlightRules, "lua-", [
|
||||||
|
{
|
||||||
|
token: "keyword",
|
||||||
|
regex: "\\%>",
|
||||||
|
next: "start"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
token: "keyword",
|
||||||
|
regex: "\\?>",
|
||||||
|
next: "start"
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
};
|
||||||
|
|
||||||
|
oop.inherits(LuaPageHighlightRules, HtmlHighlightRules);
|
||||||
|
|
||||||
|
exports.LuaPageHighlightRules = LuaPageHighlightRules;
|
||||||
|
|
||||||
|
});
|
||||||
Loading…
Add table
Add a link
Reference in a new issue