Commit 5116b0fc authored by Arnaud Fontaine's avatar Arnaud Fontaine

ZODB Components: Import ace_editor 1.1.01.

parent 7e3316c5
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts29274479.96</string> </value> <value> <string>ts73343871.17</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
...@@ -23,45 +23,37 @@ ...@@ -23,45 +23,37 @@
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
/* ***** BEGIN LICENSE BLOCK *****\n /* ***** BEGIN LICENSE BLOCK *****\n
* Version: MPL 1.1/GPL 2.0/LGPL 2.1\n * Distributed under the BSD license:\n
*\n *\n
* The contents of this file are subject to the Mozilla Public License Version\n * Copyright (c) 2010, Ajax.org B.V.\n
* 1.1 (the "License"); you may not use this file except in compliance with\n * All rights reserved.\n
* the License. You may obtain a copy of the License at\n * \n
* http://www.mozilla.org/MPL/\n * Redistribution and use in source and binary forms, with or without\n
*\n * modification, are permitted provided that the following conditions are met:\n
* Software distributed under the License is distributed on an "AS IS" basis,\n * * Redistributions of source code must retain the above copyright\n
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\n * notice, this list of conditions and the following disclaimer.\n
* for the specific language governing rights and limitations under the\n * * Redistributions in binary form must reproduce the above copyright\n
* License.\n * notice, this list of conditions and the following disclaimer in the\n
*\n * documentation and/or other materials provided with the distribution.\n
* The Original Code is Ajax.org Code Editor (ACE).\n * * Neither the name of Ajax.org B.V. nor the\n
*\n * names of its contributors may be used to endorse or promote products\n
* The Initial Developer of the Original Code is\n * derived from this software without specific prior written permission.\n
* Ajax.org B.V.\n * \n
* Portions created by the Initial Developer are Copyright (C) 2010\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND\n
* the Initial Developer. All Rights Reserved.\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n
*\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n
* Contributor(s):\n * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY\n
* Fabian Jakobs <fabian AT ajax DOT org>\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n
* Colin Gourlay <colin DOT j DOT gourlay AT gmail DOT com>\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n
*\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n
* Alternatively, the contents of this file may be used under the terms of\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n
* either the GNU General Public License Version 2 or later (the "GPL"), or\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n
* in which case the provisions of the GPL or the LGPL are applicable instead\n *\n
* of those above. If you wish to allow use of your version of this file only\n * ***** END LICENSE BLOCK ***** */\n
* under the terms of either the GPL or the LGPL, and not to allow others to\n
* use your version of this file under the terms of the MPL, indicate your\n
* decision by deleting the provisions above and replace them with the notice\n
* and other provisions required by the GPL or the LGPL. If you do not delete\n
* the provisions above, a recipient may use your version of this file under\n
* the terms of any one of the MPL, the GPL or the LGPL.\n
*\n
* ***** END LICENSE BLOCK ***** */\n
\n \n
define(\'ace/mode/python\', [\'require\', \'exports\', \'module\' , \'ace/lib/oop\', \'ace/mode/text\', \'ace/tokenizer\', \'ace/mode/python_highlight_rules\', \'ace/mode/folding/pythonic\', \'ace/range\'], function(require, exports, module) {\n define(\'ace/mode/python\', [\'require\', \'exports\', \'module\' , \'ace/lib/oop\', \'ace/mode/text\', \'ace/tokenizer\', \'ace/mode/python_highlight_rules\', \'ace/mode/folding/pythonic\', \'ace/range\'], function(require, exports, module) {\n
"use strict";\n \n
\n \n
var oop = require("../lib/oop");\n var oop = require("../lib/oop");\n
var TextMode = require("./text").Mode;\n var TextMode = require("./text").Mode;\n
...@@ -78,33 +70,7 @@ oop.inherits(Mode, TextMode);\n ...@@ -78,33 +70,7 @@ oop.inherits(Mode, TextMode);\n
\n \n
(function() {\n (function() {\n
\n \n
this.toggleCommentLines = function(state, doc, startRow, endRow) {\n this.lineCommentStart = "#";\n
var outdent = true;\n
var re = /^(\\s*)#/;\n
\n
for (var i=startRow; i<= endRow; i++) {\n
if (!re.test(doc.getLine(i))) {\n
outdent = false;\n
break;\n
}\n
}\n
\n
if (outdent) {\n
var deleteRange = new Range(0, 0, 0, 0);\n
for (var i=startRow; i<= endRow; i++)\n
{\n
var line = doc.getLine(i);\n
var m = line.match(re);\n
deleteRange.start.row = i;\n
deleteRange.end.row = i;\n
deleteRange.end.column = m[0].length;\n
doc.replace(deleteRange, m[1]);\n
}\n
}\n
else {\n
doc.indentRows(startRow, endRow, "#");\n
}\n
};\n
\n \n
this.getNextLineIndent = function(state, line, tab) {\n this.getNextLineIndent = function(state, line, tab) {\n
var indent = this.$getIndent(line);\n var indent = this.$getIndent(line);\n
...@@ -142,8 +108,6 @@ oop.inherits(Mode, TextMode);\n ...@@ -142,8 +108,6 @@ oop.inherits(Mode, TextMode);\n
\n \n
if (!tokens)\n if (!tokens)\n
return false;\n return false;\n
\n
// ignore trailing comments\n
do {\n do {\n
var last = tokens.pop();\n var last = tokens.pop();\n
} while (last && (last.type == "comment" || (last.type == "text" && last.value.match(/^\\s+$/))));\n } while (last && (last.type == "comment" || (last.type == "text" && last.value.match(/^\\s+$/))));\n
...@@ -155,8 +119,6 @@ oop.inherits(Mode, TextMode);\n ...@@ -155,8 +119,6 @@ oop.inherits(Mode, TextMode);\n
};\n };\n
\n \n
this.autoOutdent = function(state, doc, row) {\n this.autoOutdent = function(state, doc, row) {\n
// outdenting in python is slightly different because it always applies\n
// to the next line and only of a new line is inserted\n
\n \n
row += 1;\n row += 1;\n
var indent = this.$getIndent(doc.getLine(row));\n var indent = this.$getIndent(doc.getLine(row));\n
...@@ -169,80 +131,41 @@ oop.inherits(Mode, TextMode);\n ...@@ -169,80 +131,41 @@ oop.inherits(Mode, TextMode);\n
\n \n
exports.Mode = Mode;\n exports.Mode = Mode;\n
});\n });\n
/* ***** BEGIN LICENSE BLOCK *****\n
* Version: MPL 1.1/GPL 2.0/LGPL 2.1\n
*\n
* The contents of this file are subject to the Mozilla Public License Version\n
* 1.1 (the "License"); you may not use this file except in compliance with\n
* the License. You may obtain a copy of the License at\n
* http://www.mozilla.org/MPL/\n
*\n
* Software distributed under the License is distributed on an "AS IS" basis,\n
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\n
* for the specific language governing rights and limitations under the\n
* License.\n
*\n
* The Original Code is Ajax.org Code Editor (ACE).\n
*\n
* The Initial Developer of the Original Code is\n
* Ajax.org B.V.\n
* Portions created by the Initial Developer are Copyright (C) 2010\n
* the Initial Developer. All Rights Reserved.\n
*\n
* Contributor(s):\n
* Fabian Jakobs <fabian AT ajax DOT org>\n
* Colin Gourlay <colin DOT j DOT gourlay AT gmail DOT com>\n
*\n
* Alternatively, the contents of this file may be used under the terms of\n
* either the GNU General Public License Version 2 or later (the "GPL"), or\n
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),\n
* in which case the provisions of the GPL or the LGPL are applicable instead\n
* of those above. If you wish to allow use of your version of this file only\n
* under the terms of either the GPL or the LGPL, and not to allow others to\n
* use your version of this file under the terms of the MPL, indicate your\n
* decision by deleting the provisions above and replace them with the notice\n
* and other provisions required by the GPL or the LGPL. If you do not delete\n
* the provisions above, a recipient may use your version of this file under\n
* the terms of any one of the MPL, the GPL or the LGPL.\n
*\n
* ***** END LICENSE BLOCK *****\n
*\n
* TODO: python delimiters\n
*/\n
\n \n
define(\'ace/mode/python_highlight_rules\', [\'require\', \'exports\', \'module\' , \'ace/lib/oop\', \'ace/lib/lang\', \'ace/mode/text_highlight_rules\'], function(require, exports, module) {\n define(\'ace/mode/python_highlight_rules\', [\'require\', \'exports\', \'module\' , \'ace/lib/oop\', \'ace/mode/text_highlight_rules\'], function(require, exports, module) {\n
"use strict";\n \n
\n \n
var oop = require("../lib/oop");\n var oop = require("../lib/oop");\n
var lang = require("../lib/lang");\n
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;\n var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;\n
\n \n
var PythonHighlightRules = function() {\n var PythonHighlightRules = function() {\n
\n \n
var keywords = lang.arrayToMap(\n var keywords = (\n
("and|as|assert|break|class|continue|def|del|elif|else|except|exec|" +\n "and|as|assert|break|class|continue|def|del|elif|else|except|exec|" +\n
"finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|" +\n "finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|" +\n
"raise|return|try|while|with|yield").split("|")\n "raise|return|try|while|with|yield"\n
);\n );\n
\n \n
var builtinConstants = lang.arrayToMap(\n var builtinConstants = (\n
("True|False|None|NotImplemented|Ellipsis|__debug__").split("|")\n "True|False|None|NotImplemented|Ellipsis|__debug__"\n
);\n );\n
\n \n
var builtinFunctions = lang.arrayToMap(\n var builtinFunctions = (\n
("abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|" +\n "abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|" +\n
"eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|" +\n "eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|" +\n
"binfile|iter|property|tuple|bool|filter|len|range|type|bytearray|" +\n "binfile|iter|property|tuple|bool|filter|len|range|type|bytearray|" +\n
"float|list|raw_input|unichr|callable|format|locals|reduce|unicode|" +\n "float|list|raw_input|unichr|callable|format|locals|reduce|unicode|" +\n
"chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|" +\n "chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|" +\n
"cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|" +\n "cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|" +\n
"__import__|complex|hash|min|set|apply|delattr|help|next|setattr|" +\n "__import__|complex|hash|min|set|apply|delattr|help|next|setattr|" +\n
"buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern").split("|")\n "buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern"\n
);\n
\n
var futureReserved = lang.arrayToMap(\n
("").split("|")\n
);\n );\n
var keywordMapper = this.createKeywordMapper({\n
"invalid.deprecated": "debugger",\n
"support.function": builtinFunctions,\n
"constant.language": builtinConstants,\n
"keyword": keywords\n
}, "identifier");\n
\n \n
var strPre = "(?:r|u|ur|R|U|UR|Ur|uR)?";\n var strPre = "(?:r|u|ur|R|U|UR|Ur|uR)?";\n
\n \n
...@@ -258,33 +181,29 @@ var PythonHighlightRules = function() {\n ...@@ -258,33 +181,29 @@ var PythonHighlightRules = function() {\n
var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\\\.))";\n var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\\\.))";\n
var exponentFloat = "(?:(?:" + pointFloat + "|" + intPart + ")" + exponent + ")";\n var exponentFloat = "(?:(?:" + pointFloat + "|" + intPart + ")" + exponent + ")";\n
var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";\n var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";\n
\n
var stringEscape = "\\\\\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\\\\\abfnrtv\'\\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";\n
\n \n
this.$rules = {\n this.$rules = {\n
"start" : [ {\n "start" : [ {\n
token : "comment",\n token : "comment",\n
regex : "#.*$"\n regex : "#.*$"\n
}, {\n
token : "string", // """ string\n
regex : strPre + \'"{3}(?:[^\\\\\\\\]|\\\\\\\\.)*?"{3}\'\n
}, {\n }, {\n
token : "string", // multi line """ string start\n token : "string", // multi line """ string start\n
merge : true,\n regex : strPre + \'"{3}\',\n
regex : strPre + \'"{3}.*$\',\n next : "qqstring3"\n
next : "qqstring"\n
}, {\n }, {\n
token : "string", // " string\n token : "string", // " string\n
regex : strPre + \'"(?:[^\\\\\\\\]|\\\\\\\\.)*?"\'\n regex : strPre + \'"(?=.)\',\n
}, {\n next : "qqstring"\n
token : "string", // \'\'\' string\n
regex : strPre + "\'{3}(?:[^\\\\\\\\]|\\\\\\\\.)*?\'{3}"\n
}, {\n }, {\n
token : "string", // multi line \'\'\' string start\n token : "string", // multi line \'\'\' string start\n
merge : true,\n regex : strPre + "\'{3}",\n
regex : strPre + "\'{3}.*$",\n next : "qstring3"\n
next : "qstring"\n
}, {\n }, {\n
token : "string", // \' string\n token : "string", // \' string\n
regex : strPre + "\'(?:[^\\\\\\\\]|\\\\\\\\.)*?\'"\n regex : strPre + "\'(?=.)",\n
next : "qstring"\n
}, {\n }, {\n
token : "constant.numeric", // imaginary\n token : "constant.numeric", // imaginary\n
regex : "(?:" + floatNumber + "|\\\\d+)[jJ]\\\\b"\n regex : "(?:" + floatNumber + "|\\\\d+)[jJ]\\\\b"\n
...@@ -298,26 +217,13 @@ var PythonHighlightRules = function() {\n ...@@ -298,26 +217,13 @@ var PythonHighlightRules = function() {\n
token : "constant.numeric", // integer\n token : "constant.numeric", // integer\n
regex : integer + "\\\\b"\n regex : integer + "\\\\b"\n
}, {\n }, {\n
token : function(value) {\n token : keywordMapper,\n
if (keywords.hasOwnProperty(value))\n
return "keyword";\n
else if (builtinConstants.hasOwnProperty(value))\n
return "constant.language";\n
else if (futureReserved.hasOwnProperty(value))\n
return "invalid.illegal";\n
else if (builtinFunctions.hasOwnProperty(value))\n
return "support.function";\n
else if (value == "debugger")\n
return "invalid.deprecated";\n
else\n
return "identifier";\n
},\n
regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\\\b"\n regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\\\b"\n
}, {\n }, {\n
token : "keyword.operator",\n token : "keyword.operator",\n
regex : "\\\\+|\\\\-|\\\\*|\\\\*\\\\*|\\\\/|\\\\/\\\\/|%|<<|>>|&|\\\\||\\\\^|~|<|>|<=|=>|==|!=|<>|="\n regex : "\\\\+|\\\\-|\\\\*|\\\\*\\\\*|\\\\/|\\\\/\\\\/|%|<<|>>|&|\\\\||\\\\^|~|<|>|<=|=>|==|!=|<>|="\n
}, {\n }, {\n
token : "lparen.paren",\n token : "paren.lparen",\n
regex : "[\\\\[\\\\(\\\\{]"\n regex : "[\\\\[\\\\(\\\\{]"\n
}, {\n }, {\n
token : "paren.rparen",\n token : "paren.rparen",\n
...@@ -326,24 +232,54 @@ var PythonHighlightRules = function() {\n ...@@ -326,24 +232,54 @@ var PythonHighlightRules = function() {\n
token : "text",\n token : "text",\n
regex : "\\\\s+"\n regex : "\\\\s+"\n
} ],\n } ],\n
"qqstring" : [ {\n "qqstring3" : [ {\n
token : "constant.language.escape",\n
regex : stringEscape\n
}, {\n
token : "string", // multi line """ string end\n token : "string", // multi line """ string end\n
regex : \'(?:[^\\\\\\\\]|\\\\\\\\.)*?"{3}\',\n regex : \'"{3}\',\n
next : "start"\n next : "start"\n
}, {\n }, {\n
token : "string",\n defaultToken : "string"\n
merge : true,\n
regex : \'.+\'\n
} ],\n } ],\n
"qstring" : [ {\n "qstring3" : [ {\n
token : "constant.language.escape",\n
regex : stringEscape\n
}, {\n
token : "string", // multi line \'\'\' string end\n token : "string", // multi line \'\'\' string end\n
regex : "(?:[^\\\\\\\\]|\\\\\\\\.)*?\'{3}",\n regex : "\'{3}",\n
next : "start"\n
}, {\n
defaultToken : "string"\n
} ],\n
"qqstring" : [{\n
token : "constant.language.escape",\n
regex : stringEscape\n
}, {\n
token : "string",\n
regex : "\\\\\\\\$",\n
next : "qqstring"\n
}, {\n
token : "string",\n
regex : \'"|$\',\n
next : "start"\n next : "start"\n
}, {\n
defaultToken: "string"\n
}],\n
"qstring" : [{\n
token : "constant.language.escape",\n
regex : stringEscape\n
}, {\n
token : "string",\n
regex : "\\\\\\\\$",\n
next : "qstring"\n
}, {\n }, {\n
token : "string",\n token : "string",\n
merge : true,\n regex : "\'|$",\n
regex : \'.+\'\n next : "start"\n
} ]\n }, {\n
defaultToken: "string"\n
}]\n
};\n };\n
};\n };\n
\n \n
...@@ -351,51 +287,15 @@ oop.inherits(PythonHighlightRules, TextHighlightRules);\n ...@@ -351,51 +287,15 @@ oop.inherits(PythonHighlightRules, TextHighlightRules);\n
\n \n
exports.PythonHighlightRules = PythonHighlightRules;\n exports.PythonHighlightRules = PythonHighlightRules;\n
});\n });\n
/* ***** BEGIN LICENSE BLOCK *****\n
* Version: MPL 1.1/GPL 2.0/LGPL 2.1\n
*\n
* The contents of this file are subject to the Mozilla Public License Version\n
* 1.1 (the "License"); you may not use this file except in compliance with\n
* the License. You may obtain a copy of the License at\n
* http://www.mozilla.org/MPL/\n
*\n
* Software distributed under the License is distributed on an "AS IS" basis,\n
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\n
* for the specific language governing rights and limitations under the\n
* License.\n
*\n
* The Original Code is Ajax.org Code Editor (ACE).\n
*\n
* The Initial Developer of the Original Code is\n
* Ajax.org B.V.\n
* Portions created by the Initial Developer are Copyright (C) 2010\n
* the Initial Developer. All Rights Reserved.\n
*\n
* Contributor(s):\n
* Fabian Jakobs <fabian AT ajax DOT org>\n
*\n
* Alternatively, the contents of this file may be used under the terms of\n
* either the GNU General Public License Version 2 or later (the "GPL"), or\n
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),\n
* in which case the provisions of the GPL or the LGPL are applicable instead\n
* of those above. If you wish to allow use of your version of this file only\n
* under the terms of either the GPL or the LGPL, and not to allow others to\n
* use your version of this file under the terms of the MPL, indicate your\n
* decision by deleting the provisions above and replace them with the notice\n
* and other provisions required by the GPL or the LGPL. If you do not delete\n
* the provisions above, a recipient may use your version of this file under\n
* the terms of any one of the MPL, the GPL or the LGPL.\n
*\n
* ***** END LICENSE BLOCK ***** */\n
\n \n
define(\'ace/mode/folding/pythonic\', [\'require\', \'exports\', \'module\' , \'ace/lib/oop\', \'ace/mode/folding/fold_mode\'], function(require, exports, module) {\n define(\'ace/mode/folding/pythonic\', [\'require\', \'exports\', \'module\' , \'ace/lib/oop\', \'ace/mode/folding/fold_mode\'], function(require, exports, module) {\n
"use strict";\n \n
\n \n
var oop = require("../../lib/oop");\n var oop = require("../../lib/oop");\n
var BaseFoldMode = require("./fold_mode").FoldMode;\n var BaseFoldMode = require("./fold_mode").FoldMode;\n
\n \n
var FoldMode = exports.FoldMode = function(markers) {\n var FoldMode = exports.FoldMode = function(markers) {\n
this.foldingStartMarker = new RegExp("(?:([\\\\[{])|(" + markers + "))(?:\\\\s*)(?:#.*)?$");\n this.foldingStartMarker = new RegExp("([\\\\[{])(?:\\\\s*)$|(" + markers + ")(?:\\\\s*)(?:#.*)?$");\n
};\n };\n
oop.inherits(FoldMode, BaseFoldMode);\n oop.inherits(FoldMode, BaseFoldMode);\n
\n \n
...@@ -415,128 +315,7 @@ oop.inherits(FoldMode, BaseFoldMode);\n ...@@ -415,128 +315,7 @@ oop.inherits(FoldMode, BaseFoldMode);\n
\n \n
}).call(FoldMode.prototype);\n }).call(FoldMode.prototype);\n
\n \n
});/* ***** BEGIN LICENSE BLOCK *****\n
* Version: MPL 1.1/GPL 2.0/LGPL 2.1\n
*\n
* The contents of this file are subject to the Mozilla Public License Version\n
* 1.1 (the "License"); you may not use this file except in compliance with\n
* the License. You may obtain a copy of the License at\n
* http://www.mozilla.org/MPL/\n
*\n
* Software distributed under the License is distributed on an "AS IS" basis,\n
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\n
* for the specific language governing rights and limitations under the\n
* License.\n
*\n
* The Original Code is Ajax.org Code Editor (ACE).\n
*\n
* The Initial Developer of the Original Code is\n
* Ajax.org B.V.\n
* Portions created by the Initial Developer are Copyright (C) 2010\n
* the Initial Developer. All Rights Reserved.\n
*\n
* Contributor(s):\n
* Fabian Jakobs <fabian AT ajax DOT org>\n
*\n
* Alternatively, the contents of this file may be used under the terms of\n
* either the GNU General Public License Version 2 or later (the "GPL"), or\n
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),\n
* in which case the provisions of the GPL or the LGPL are applicable instead\n
* of those above. If you wish to allow use of your version of this file only\n
* under the terms of either the GPL or the LGPL, and not to allow others to\n
* use your version of this file under the terms of the MPL, indicate your\n
* decision by deleting the provisions above and replace them with the notice\n
* and other provisions required by the GPL or the LGPL. If you do not delete\n
* the provisions above, a recipient may use your version of this file under\n
* the terms of any one of the MPL, the GPL or the LGPL.\n
*\n
* ***** END LICENSE BLOCK ***** */\n
\n
define(\'ace/mode/folding/fold_mode\', [\'require\', \'exports\', \'module\' , \'ace/range\'], function(require, exports, module) {\n
"use strict";\n
\n
var Range = require("../../range").Range;\n
\n
var FoldMode = exports.FoldMode = function() {};\n
\n
(function() {\n
\n
this.foldingStartMarker = null;\n
this.foldingStopMarker = null;\n
\n
// must return "" if there\'s no fold, to enable caching\n
this.getFoldWidget = function(session, foldStyle, row) {\n
var line = session.getLine(row);\n
if (this.foldingStartMarker.test(line))\n
return "start";\n
if (foldStyle == "markbeginend"\n
&& this.foldingStopMarker\n
&& this.foldingStopMarker.test(line))\n
return "end";\n
return "";\n
};\n
\n
this.getFoldWidgetRange = function(session, foldStyle, row) {\n
return null;\n
};\n
\n
this.indentationBlock = function(session, row, column) {\n
var re = /^\\s*/;\n
var startRow = row;\n
var endRow = row;\n
var line = session.getLine(row);\n
var startColumn = column || line.length;\n
var startLevel = line.match(re)[0].length;\n
var maxRow = session.getLength()\n
\n
while (++row < maxRow) {\n
line = session.getLine(row);\n
var level = line.match(re)[0].length;\n
\n
if (level == line.length)\n
continue;\n
\n
if (level <= startLevel)\n
break;\n
\n
endRow = row;\n
}\n
\n
if (endRow > startRow) {\n
var endColumn = session.getLine(endRow).length;\n
return new Range(startRow, startColumn, endRow, endColumn);\n
}\n
};\n
\n
this.openingBracketBlock = function(session, bracket, row, column) {\n
var start = {row: row, column: column + 1};\n
var end = session.$findClosingBracket(bracket, start);\n
if (!end)\n
return;\n
\n
var fw = session.foldWidgets[end.row];\n
if (fw == null)\n
fw = this.getFoldWidget(session, end.row);\n
\n
if (fw == "start") {\n
end.row --;\n
end.column = session.getLine(end.row).length;\n
}\n
return Range.fromPoints(start, end);\n
};\n
\n
}).call(FoldMode.prototype);\n
\n
});\n });\n
;\n
(function() {\n
window.require(["ace/ace"], function(a) {\n
if (!window.ace)\n
window.ace = {};\n
for (var key in a) if (a.hasOwnProperty(key))\n
ace[key] = a[key];\n
});\n
})();\n
]]></string> </value> ]]></string> </value>
...@@ -547,7 +326,7 @@ var FoldMode = exports.FoldMode = function() {};\n ...@@ -547,7 +326,7 @@ var FoldMode = exports.FoldMode = function() {};\n
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>19246</int> </value> <value> <int>10385</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
2013-07-09 arnaud.fontaine
* ZODB Components: Update ace_editor to 1.1.01.
2012-02-28 arnaud.fontaine 2012-02-28 arnaud.fontaine
* Move fullscreen and maximize button at the top of Ace editor (accessibility). * Move fullscreen and maximize button at the top of Ace editor (accessibility).
......
This Business Template contains static files of Ace Javascript editor version 0.2.0. This Business Template contains static files of Ace Javascript editor version 1.1.01.
\ No newline at end of file \ No newline at end of file
6 7
\ No newline at end of file \ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment