ace-rails-ap 0.0.3 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/ace/rails/version.rb +1 -1
- data/vendor/assets/javascripts/ace.js +15680 -1
- data/vendor/assets/javascripts/keybinding-emacs.js +367 -1
- data/vendor/assets/javascripts/keybinding-vim.js +1635 -1
- data/vendor/assets/javascripts/mode-c9search.js +275 -0
- data/vendor/assets/javascripts/mode-c_cpp.js +744 -1
- data/vendor/assets/javascripts/mode-clojure.js +364 -1
- data/vendor/assets/javascripts/mode-coffee.js +527 -1
- data/vendor/assets/javascripts/mode-coldfusion.js +1966 -1
- data/vendor/assets/javascripts/mode-csharp.js +633 -1
- data/vendor/assets/javascripts/mode-css.js +499 -1
- data/vendor/assets/javascripts/mode-diff.js +250 -0
- data/vendor/assets/javascripts/{mode-c_cpp-uncompressed.js → mode-glsl.js} +147 -244
- data/vendor/assets/javascripts/mode-golang.js +681 -1
- data/vendor/assets/javascripts/mode-groovy.js +1240 -1
- data/vendor/assets/javascripts/mode-haxe.js +633 -1
- data/vendor/assets/javascripts/mode-html.js +2064 -1
- data/vendor/assets/javascripts/mode-java.js +1202 -1
- data/vendor/assets/javascripts/mode-javascript.js +1069 -1
- data/vendor/assets/javascripts/mode-json.js +588 -1
- data/vendor/assets/javascripts/{mode-haxe-uncompressed.js → mode-jsx.js} +189 -312
- data/vendor/assets/javascripts/mode-latex.js +95 -1
- data/vendor/assets/javascripts/mode-less.js +512 -1
- data/vendor/assets/javascripts/mode-liquid.js +1125 -1
- data/vendor/assets/javascripts/mode-lua.js +551 -1
- data/vendor/assets/javascripts/{mode-html-uncompressed.js → mode-luahtml.js} +544 -604
- data/vendor/assets/javascripts/{mode-coldfusion-uncompressed.js → mode-luapage.js} +2326 -2180
- data/vendor/assets/javascripts/mode-markdown.js +2369 -1
- data/vendor/assets/javascripts/mode-ocaml.js +464 -1
- data/vendor/assets/javascripts/mode-perl.js +432 -1
- data/vendor/assets/javascripts/mode-pgsql.js +970 -1
- data/vendor/assets/javascripts/mode-php.js +1718 -1
- data/vendor/assets/javascripts/mode-powershell.js +610 -1
- data/vendor/assets/javascripts/mode-python.js +397 -1
- data/vendor/assets/javascripts/mode-ruby.js +318 -1
- data/vendor/assets/javascripts/mode-scad.js +732 -1
- data/vendor/assets/javascripts/mode-scala.js +1237 -1
- data/vendor/assets/javascripts/mode-scss.js +537 -1
- data/vendor/assets/javascripts/mode-sh.js +250 -1
- data/vendor/assets/javascripts/mode-sql.js +140 -1
- data/vendor/assets/javascripts/mode-svg.js +1681 -1
- data/vendor/assets/javascripts/mode-tcl.js +320 -0
- data/vendor/assets/javascripts/mode-textile.js +182 -1
- data/vendor/assets/javascripts/mode-xml.js +829 -1
- data/vendor/assets/javascripts/mode-xquery.js +605 -1
- data/vendor/assets/javascripts/mode-yaml.js +189 -0
- data/vendor/assets/javascripts/theme-chrome.js +213 -1
- data/vendor/assets/javascripts/theme-clouds.js +167 -1
- data/vendor/assets/javascripts/theme-clouds_midnight.js +168 -1
- data/vendor/assets/javascripts/theme-cobalt.js +194 -1
- data/vendor/assets/javascripts/theme-crimson_editor.js +200 -1
- data/vendor/assets/javascripts/theme-dawn.js +198 -1
- data/vendor/assets/javascripts/theme-dreamweaver.js +230 -1
- data/vendor/assets/javascripts/theme-eclipse.js +157 -1
- data/vendor/assets/javascripts/theme-github.js +182 -0
- data/vendor/assets/javascripts/theme-idle_fingers.js +186 -1
- data/vendor/assets/javascripts/theme-kr_theme.js +189 -1
- data/vendor/assets/javascripts/theme-merbivore.js +189 -1
- data/vendor/assets/javascripts/theme-merbivore_soft.js +195 -1
- data/vendor/assets/javascripts/theme-mono_industrial.js +197 -1
- data/vendor/assets/javascripts/theme-monokai.js +194 -1
- data/vendor/assets/javascripts/theme-pastel_on_dark.js +199 -1
- data/vendor/assets/javascripts/theme-solarized_dark.js +180 -1
- data/vendor/assets/javascripts/theme-solarized_light.js +179 -1
- data/vendor/assets/javascripts/theme-textmate.js +216 -0
- data/vendor/assets/javascripts/theme-tomorrow.js +213 -1
- data/vendor/assets/javascripts/theme-tomorrow_night.js +213 -1
- data/vendor/assets/javascripts/theme-tomorrow_night_blue.js +213 -1
- data/vendor/assets/javascripts/theme-tomorrow_night_bright.js +213 -1
- data/vendor/assets/javascripts/theme-tomorrow_night_eighties.js +209 -1
- data/vendor/assets/javascripts/theme-twilight.js +211 -1
- data/vendor/assets/javascripts/theme-vibrant_ink.js +190 -1
- data/vendor/assets/javascripts/worker-coffee.js +83 -893
- data/vendor/assets/javascripts/worker-css.js +88 -1402
- data/vendor/assets/javascripts/worker-javascript.js +97 -812
- data/vendor/assets/javascripts/worker-json.js +84 -761
- data/vendor/assets/javascripts/worker-xquery.js +66464 -0
- metadata +12 -195
- data/vendor/assets/javascripts/ace-compat-noconflict.js +0 -1
- data/vendor/assets/javascripts/ace-compat-uncompressed-noconflict.js +0 -480
- data/vendor/assets/javascripts/ace-compat-uncompressed.js +0 -480
- data/vendor/assets/javascripts/ace-compat.js +0 -1
- data/vendor/assets/javascripts/ace-noconflict.js +0 -10
- data/vendor/assets/javascripts/ace-uncompressed-noconflict.js +0 -19976
- data/vendor/assets/javascripts/ace-uncompressed.js +0 -19976
- data/vendor/assets/javascripts/keybinding-emacs-noconflict.js +0 -1
- data/vendor/assets/javascripts/keybinding-emacs-uncompressed-noconflict.js +0 -150
- data/vendor/assets/javascripts/keybinding-emacs-uncompressed.js +0 -150
- data/vendor/assets/javascripts/keybinding-vim-noconflict.js +0 -1
- data/vendor/assets/javascripts/keybinding-vim-uncompressed-noconflict.js +0 -138
- data/vendor/assets/javascripts/keybinding-vim-uncompressed.js +0 -138
- data/vendor/assets/javascripts/mode-c_cpp-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-c_cpp-uncompressed-noconflict.js +0 -919
- data/vendor/assets/javascripts/mode-clojure-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-clojure-uncompressed-noconflict.js +0 -422
- data/vendor/assets/javascripts/mode-clojure-uncompressed.js +0 -422
- data/vendor/assets/javascripts/mode-coffee-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-coffee-uncompressed-noconflict.js +0 -607
- data/vendor/assets/javascripts/mode-coffee-uncompressed.js +0 -607
- data/vendor/assets/javascripts/mode-coldfusion-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-coldfusion-uncompressed-noconflict.js +0 -2458
- data/vendor/assets/javascripts/mode-csharp-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-csharp-uncompressed-noconflict.js +0 -769
- data/vendor/assets/javascripts/mode-csharp-uncompressed.js +0 -769
- data/vendor/assets/javascripts/mode-css-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-css-uncompressed-noconflict.js +0 -641
- data/vendor/assets/javascripts/mode-css-uncompressed.js +0 -641
- data/vendor/assets/javascripts/mode-golang-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-golang-uncompressed-noconflict.js +0 -378
- data/vendor/assets/javascripts/mode-golang-uncompressed.js +0 -378
- data/vendor/assets/javascripts/mode-groovy-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-groovy-uncompressed-noconflict.js +0 -1393
- data/vendor/assets/javascripts/mode-groovy-uncompressed.js +0 -1393
- data/vendor/assets/javascripts/mode-haxe-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-haxe-uncompressed-noconflict.js +0 -769
- data/vendor/assets/javascripts/mode-html-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-html-uncompressed-noconflict.js +0 -2475
- data/vendor/assets/javascripts/mode-java-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-java-uncompressed-noconflict.js +0 -1395
- data/vendor/assets/javascripts/mode-java-uncompressed.js +0 -1395
- data/vendor/assets/javascripts/mode-javascript-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-javascript-uncompressed-noconflict.js +0 -1226
- data/vendor/assets/javascripts/mode-javascript-uncompressed.js +0 -1226
- data/vendor/assets/javascripts/mode-json-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-json-uncompressed-noconflict.js +0 -701
- data/vendor/assets/javascripts/mode-json-uncompressed.js +0 -701
- data/vendor/assets/javascripts/mode-latex-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-latex-uncompressed-noconflict.js +0 -95
- data/vendor/assets/javascripts/mode-latex-uncompressed.js +0 -95
- data/vendor/assets/javascripts/mode-less-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-less-uncompressed-noconflict.js +0 -655
- data/vendor/assets/javascripts/mode-less-uncompressed.js +0 -655
- data/vendor/assets/javascripts/mode-liquid-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-liquid-uncompressed-noconflict.js +0 -1353
- data/vendor/assets/javascripts/mode-liquid-uncompressed.js +0 -1353
- data/vendor/assets/javascripts/mode-lua-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-lua-uncompressed-noconflict.js +0 -523
- data/vendor/assets/javascripts/mode-lua-uncompressed.js +0 -523
- data/vendor/assets/javascripts/mode-markdown-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-markdown-uncompressed-noconflict.js +0 -2925
- data/vendor/assets/javascripts/mode-markdown-uncompressed.js +0 -2925
- data/vendor/assets/javascripts/mode-ocaml-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-ocaml-uncompressed-noconflict.js +0 -539
- data/vendor/assets/javascripts/mode-ocaml-uncompressed.js +0 -539
- data/vendor/assets/javascripts/mode-perl-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-perl-uncompressed-noconflict.js +0 -574
- data/vendor/assets/javascripts/mode-perl-uncompressed.js +0 -574
- data/vendor/assets/javascripts/mode-pgsql-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-pgsql-uncompressed-noconflict.js +0 -1104
- data/vendor/assets/javascripts/mode-pgsql-uncompressed.js +0 -1104
- data/vendor/assets/javascripts/mode-php-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-php-uncompressed-noconflict.js +0 -1885
- data/vendor/assets/javascripts/mode-php-uncompressed.js +0 -1885
- data/vendor/assets/javascripts/mode-powershell-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-powershell-uncompressed-noconflict.js +0 -710
- data/vendor/assets/javascripts/mode-powershell-uncompressed.js +0 -710
- data/vendor/assets/javascripts/mode-python-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-python-uncompressed-noconflict.js +0 -507
- data/vendor/assets/javascripts/mode-python-uncompressed.js +0 -507
- data/vendor/assets/javascripts/mode-ruby-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-ruby-uncompressed-noconflict.js +0 -391
- data/vendor/assets/javascripts/mode-ruby-uncompressed.js +0 -391
- data/vendor/assets/javascripts/mode-scad-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-scad-uncompressed-noconflict.js +0 -907
- data/vendor/assets/javascripts/mode-scad-uncompressed.js +0 -907
- data/vendor/assets/javascripts/mode-scala-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-scala-uncompressed-noconflict.js +0 -1395
- data/vendor/assets/javascripts/mode-scala-uncompressed.js +0 -1395
- data/vendor/assets/javascripts/mode-scss-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-scss-uncompressed-noconflict.js +0 -679
- data/vendor/assets/javascripts/mode-scss-uncompressed.js +0 -679
- data/vendor/assets/javascripts/mode-sh-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-sh-uncompressed-noconflict.js +0 -289
- data/vendor/assets/javascripts/mode-sh-uncompressed.js +0 -289
- data/vendor/assets/javascripts/mode-sql-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-sql-uncompressed-noconflict.js +0 -159
- data/vendor/assets/javascripts/mode-sql-uncompressed.js +0 -159
- data/vendor/assets/javascripts/mode-svg-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-svg-uncompressed-noconflict.js +0 -2137
- data/vendor/assets/javascripts/mode-svg-uncompressed.js +0 -2137
- data/vendor/assets/javascripts/mode-text-noconflict.js +0 -0
- data/vendor/assets/javascripts/mode-text-uncompressed-noconflict.js +0 -0
- data/vendor/assets/javascripts/mode-text-uncompressed.js +0 -0
- data/vendor/assets/javascripts/mode-textile-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-textile-uncompressed-noconflict.js +0 -254
- data/vendor/assets/javascripts/mode-textile-uncompressed.js +0 -254
- data/vendor/assets/javascripts/mode-xml-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-xml-uncompressed-noconflict.js +0 -1012
- data/vendor/assets/javascripts/mode-xml-uncompressed.js +0 -1012
- data/vendor/assets/javascripts/mode-xquery-noconflict.js +0 -1
- data/vendor/assets/javascripts/mode-xquery-uncompressed-noconflict.js +0 -540
- data/vendor/assets/javascripts/mode-xquery-uncompressed.js +0 -540
- data/vendor/assets/javascripts/theme-chrome-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-chrome-uncompressed-noconflict.js +0 -207
- data/vendor/assets/javascripts/theme-chrome-uncompressed.js +0 -207
- data/vendor/assets/javascripts/theme-clouds-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-clouds-uncompressed-noconflict.js +0 -160
- data/vendor/assets/javascripts/theme-clouds-uncompressed.js +0 -160
- data/vendor/assets/javascripts/theme-clouds_midnight-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-clouds_midnight-uncompressed-noconflict.js +0 -161
- data/vendor/assets/javascripts/theme-clouds_midnight-uncompressed.js +0 -161
- data/vendor/assets/javascripts/theme-cobalt-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-cobalt-uncompressed-noconflict.js +0 -187
- data/vendor/assets/javascripts/theme-cobalt-uncompressed.js +0 -187
- data/vendor/assets/javascripts/theme-crimson_editor-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-crimson_editor-uncompressed-noconflict.js +0 -198
- data/vendor/assets/javascripts/theme-crimson_editor-uncompressed.js +0 -198
- data/vendor/assets/javascripts/theme-dawn-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-dawn-uncompressed-noconflict.js +0 -191
- data/vendor/assets/javascripts/theme-dawn-uncompressed.js +0 -191
- data/vendor/assets/javascripts/theme-dreamweaver-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-dreamweaver-uncompressed-noconflict.js +0 -227
- data/vendor/assets/javascripts/theme-dreamweaver-uncompressed.js +0 -227
- data/vendor/assets/javascripts/theme-eclipse-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-eclipse-uncompressed-noconflict.js +0 -147
- data/vendor/assets/javascripts/theme-eclipse-uncompressed.js +0 -147
- data/vendor/assets/javascripts/theme-idle_fingers-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-idle_fingers-uncompressed-noconflict.js +0 -179
- data/vendor/assets/javascripts/theme-idle_fingers-uncompressed.js +0 -179
- data/vendor/assets/javascripts/theme-kr_theme-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-kr_theme-uncompressed-noconflict.js +0 -182
- data/vendor/assets/javascripts/theme-kr_theme-uncompressed.js +0 -182
- data/vendor/assets/javascripts/theme-merbivore-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-merbivore-uncompressed-noconflict.js +0 -182
- data/vendor/assets/javascripts/theme-merbivore-uncompressed.js +0 -182
- data/vendor/assets/javascripts/theme-merbivore_soft-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-merbivore_soft-uncompressed-noconflict.js +0 -188
- data/vendor/assets/javascripts/theme-merbivore_soft-uncompressed.js +0 -188
- data/vendor/assets/javascripts/theme-mono_industrial-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-mono_industrial-uncompressed-noconflict.js +0 -190
- data/vendor/assets/javascripts/theme-mono_industrial-uncompressed.js +0 -190
- data/vendor/assets/javascripts/theme-monokai-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-monokai-uncompressed-noconflict.js +0 -191
- data/vendor/assets/javascripts/theme-monokai-uncompressed.js +0 -191
- data/vendor/assets/javascripts/theme-pastel_on_dark-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-pastel_on_dark-uncompressed-noconflict.js +0 -192
- data/vendor/assets/javascripts/theme-pastel_on_dark-uncompressed.js +0 -192
- data/vendor/assets/javascripts/theme-solarized_dark-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-solarized_dark-uncompressed-noconflict.js +0 -176
- data/vendor/assets/javascripts/theme-solarized_dark-uncompressed.js +0 -176
- data/vendor/assets/javascripts/theme-solarized_light-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-solarized_light-uncompressed-noconflict.js +0 -172
- data/vendor/assets/javascripts/theme-solarized_light-uncompressed.js +0 -172
- data/vendor/assets/javascripts/theme-textmate-noconflict.js +0 -0
- data/vendor/assets/javascripts/theme-textmate-uncompressed-noconflict.js +0 -0
- data/vendor/assets/javascripts/theme-textmate-uncompressed.js +0 -0
- data/vendor/assets/javascripts/theme-tomorrow-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-tomorrow-uncompressed-noconflict.js +0 -206
- data/vendor/assets/javascripts/theme-tomorrow-uncompressed.js +0 -206
- data/vendor/assets/javascripts/theme-tomorrow_night-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-tomorrow_night-uncompressed-noconflict.js +0 -206
- data/vendor/assets/javascripts/theme-tomorrow_night-uncompressed.js +0 -206
- data/vendor/assets/javascripts/theme-tomorrow_night_blue-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-tomorrow_night_blue-uncompressed-noconflict.js +0 -209
- data/vendor/assets/javascripts/theme-tomorrow_night_blue-uncompressed.js +0 -209
- data/vendor/assets/javascripts/theme-tomorrow_night_bright-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-tomorrow_night_bright-uncompressed-noconflict.js +0 -206
- data/vendor/assets/javascripts/theme-tomorrow_night_bright-uncompressed.js +0 -206
- data/vendor/assets/javascripts/theme-tomorrow_night_eighties-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-tomorrow_night_eighties-uncompressed-noconflict.js +0 -202
- data/vendor/assets/javascripts/theme-tomorrow_night_eighties-uncompressed.js +0 -202
- data/vendor/assets/javascripts/theme-twilight-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-twilight-uncompressed-noconflict.js +0 -204
- data/vendor/assets/javascripts/theme-twilight-uncompressed.js +0 -204
- data/vendor/assets/javascripts/theme-vibrant_ink-noconflict.js +0 -1
- data/vendor/assets/javascripts/theme-vibrant_ink-uncompressed-noconflict.js +0 -183
- data/vendor/assets/javascripts/theme-vibrant_ink-uncompressed.js +0 -183
@@ -35,8 +35,8 @@ var require = function(parentId, id) {
|
|
35
35
|
var module = require.modules[id];
|
36
36
|
if (module) {
|
37
37
|
if (!module.initialized) {
|
38
|
-
module.exports = module.factory().exports;
|
39
38
|
module.initialized = true;
|
39
|
+
module.exports = module.factory().exports;
|
40
40
|
}
|
41
41
|
return module.exports;
|
42
42
|
}
|
@@ -56,6 +56,10 @@ require.tlns = {};
|
|
56
56
|
var define = function(id, deps, factory) {
|
57
57
|
if (arguments.length == 2) {
|
58
58
|
factory = deps;
|
59
|
+
if (typeof id != "string") {
|
60
|
+
deps = id;
|
61
|
+
id = require.id;
|
62
|
+
}
|
59
63
|
} else if (arguments.length == 1) {
|
60
64
|
factory = id;
|
61
65
|
id = require.id;
|
@@ -149,25 +153,15 @@ onmessage = function(e) {
|
|
149
153
|
*/
|
150
154
|
|
151
155
|
define('ace/lib/fixoldbrowsers', ['require', 'exports', 'module' , 'ace/lib/regexp', 'ace/lib/es5-shim'], function(require, exports, module) {
|
152
|
-
|
156
|
+
|
153
157
|
|
154
158
|
require("./regexp");
|
155
159
|
require("./es5-shim");
|
156
160
|
|
157
161
|
});
|
158
|
-
/*
|
159
|
-
* Based on code from:
|
160
|
-
*
|
161
|
-
* XRegExp 1.5.0
|
162
|
-
* (c) 2007-2010 Steven Levithan
|
163
|
-
* MIT License
|
164
|
-
* <http://xregexp.com>
|
165
|
-
* Provides an augmented, extensible, cross-browser implementation of regular expressions,
|
166
|
-
* including support for additional syntax, flags, and methods
|
167
|
-
*/
|
168
162
|
|
169
163
|
define('ace/lib/regexp', ['require', 'exports', 'module' ], function(require, exports, module) {
|
170
|
-
|
164
|
+
|
171
165
|
|
172
166
|
//---------------------------------
|
173
167
|
// Private variables
|
@@ -187,6 +181,9 @@ define('ace/lib/regexp', ['require', 'exports', 'module' ], function(require, ex
|
|
187
181
|
return !x.lastIndex;
|
188
182
|
}();
|
189
183
|
|
184
|
+
if (compliantLastIndexIncrement && compliantExecNpcg)
|
185
|
+
return;
|
186
|
+
|
190
187
|
//---------------------------------
|
191
188
|
// Overriden native methods
|
192
189
|
//---------------------------------
|
@@ -252,7 +249,7 @@ define('ace/lib/regexp', ['require', 'exports', 'module' ], function(require, ex
|
|
252
249
|
(regex.multiline ? "m" : "") +
|
253
250
|
(regex.extended ? "x" : "") + // Proposed for ES4; included in AS3
|
254
251
|
(regex.sticky ? "y" : "");
|
255
|
-
}
|
252
|
+
}
|
256
253
|
|
257
254
|
function indexOf (array, item, from) {
|
258
255
|
if (Array.prototype.indexOf) // Use the native array method if available
|
@@ -262,30 +259,9 @@ define('ace/lib/regexp', ['require', 'exports', 'module' ], function(require, ex
|
|
262
259
|
return i;
|
263
260
|
}
|
264
261
|
return -1;
|
265
|
-
}
|
262
|
+
}
|
266
263
|
|
267
264
|
});
|
268
|
-
// vim: ts=4 sts=4 sw=4 expandtab
|
269
|
-
// -- kriskowal Kris Kowal Copyright (C) 2009-2011 MIT License
|
270
|
-
// -- tlrobinson Tom Robinson Copyright (C) 2009-2010 MIT License (Narwhal Project)
|
271
|
-
// -- dantman Daniel Friesen Copyright (C) 2010 XXX TODO License or CLA
|
272
|
-
// -- fschaefer Florian Schäfer Copyright (C) 2010 MIT License
|
273
|
-
// -- Gozala Irakli Gozalishvili Copyright (C) 2010 MIT License
|
274
|
-
// -- kitcambridge Kit Cambridge Copyright (C) 2011 MIT License
|
275
|
-
// -- kossnocorp Sasha Koss XXX TODO License or CLA
|
276
|
-
// -- bryanforbes Bryan Forbes XXX TODO License or CLA
|
277
|
-
// -- killdream Quildreen Motta Copyright (C) 2011 MIT Licence
|
278
|
-
// -- michaelficarra Michael Ficarra Copyright (C) 2011 3-clause BSD License
|
279
|
-
// -- sharkbrainguy Gerard Paapu Copyright (C) 2011 MIT License
|
280
|
-
// -- bbqsrc Brendan Molloy (C) 2011 Creative Commons Zero (public domain)
|
281
|
-
// -- iwyg XXX TODO License or CLA
|
282
|
-
// -- DomenicDenicola Domenic Denicola Copyright (C) 2011 MIT License
|
283
|
-
// -- xavierm02 Montillet Xavier XXX TODO License or CLA
|
284
|
-
// -- Raynos Raynos XXX TODO License or CLA
|
285
|
-
// -- samsonjs Sami Samhuri Copyright (C) 2010 MIT License
|
286
|
-
// -- rwldrn Rick Waldron Copyright (C) 2011 MIT License
|
287
|
-
// -- lexer Alexey Zakharov XXX TODO License or CLA
|
288
|
-
|
289
265
|
/*!
|
290
266
|
Copyright (c) 2009, 280 North Inc. http://280north.com/
|
291
267
|
MIT License. http://github.com/280north/narwhal/blob/master/README.md
|
@@ -1324,48 +1300,9 @@ var prepareString = "a"[0] != "a",
|
|
1324
1300
|
return Object(o);
|
1325
1301
|
};
|
1326
1302
|
});
|
1327
|
-
/* vim:ts=4:sts=4:sw=4:
|
1328
|
-
* ***** BEGIN LICENSE BLOCK *****
|
1329
|
-
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
1330
|
-
*
|
1331
|
-
* The contents of this file are subject to the Mozilla Public License Version
|
1332
|
-
* 1.1 (the "License"); you may not use this file except in compliance with
|
1333
|
-
* the License. You may obtain a copy of the License at
|
1334
|
-
* http://www.mozilla.org/MPL/
|
1335
|
-
*
|
1336
|
-
* Software distributed under the License is distributed on an "AS IS" basis,
|
1337
|
-
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
1338
|
-
* for the specific language governing rights and limitations under the
|
1339
|
-
* License.
|
1340
|
-
*
|
1341
|
-
* The Original Code is Ajax.org Code Editor (ACE).
|
1342
|
-
*
|
1343
|
-
* The Initial Developer of the Original Code is
|
1344
|
-
* Ajax.org B.V.
|
1345
|
-
* Portions created by the Initial Developer are Copyright (C) 2010
|
1346
|
-
* the Initial Developer. All Rights Reserved.
|
1347
|
-
*
|
1348
|
-
* Contributor(s):
|
1349
|
-
* Fabian Jakobs <fabian AT ajax DOT org>
|
1350
|
-
* Irakli Gozalishvili <rfobic@gmail.com> (http://jeditoolkit.com)
|
1351
|
-
* Mike de Boer <mike AT ajax DOT org>
|
1352
|
-
*
|
1353
|
-
* Alternatively, the contents of this file may be used under the terms of
|
1354
|
-
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
1355
|
-
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
1356
|
-
* in which case the provisions of the GPL or the LGPL are applicable instead
|
1357
|
-
* of those above. If you wish to allow use of your version of this file only
|
1358
|
-
* under the terms of either the GPL or the LGPL, and not to allow others to
|
1359
|
-
* use your version of this file under the terms of the MPL, indicate your
|
1360
|
-
* decision by deleting the provisions above and replace them with the notice
|
1361
|
-
* and other provisions required by the GPL or the LGPL. If you do not delete
|
1362
|
-
* the provisions above, a recipient may use your version of this file under
|
1363
|
-
* the terms of any one of the MPL, the GPL or the LGPL.
|
1364
|
-
*
|
1365
|
-
* ***** END LICENSE BLOCK ***** */
|
1366
1303
|
|
1367
1304
|
define('ace/lib/event_emitter', ['require', 'exports', 'module' ], function(require, exports, module) {
|
1368
|
-
|
1305
|
+
|
1369
1306
|
|
1370
1307
|
var EventEmitter = {};
|
1371
1308
|
|
@@ -1380,7 +1317,8 @@ EventEmitter._dispatchEvent = function(eventName, e) {
|
|
1380
1317
|
return;
|
1381
1318
|
|
1382
1319
|
e = e || {};
|
1383
|
-
e.type
|
1320
|
+
if (!e.type)
|
1321
|
+
e.type = eventName;
|
1384
1322
|
|
1385
1323
|
if (!e.stopPropagation) {
|
1386
1324
|
e.stopPropagation = function() {
|
@@ -1419,7 +1357,7 @@ EventEmitter.addEventListener = function(eventName, callback) {
|
|
1419
1357
|
|
1420
1358
|
var listeners = this._eventRegistry[eventName];
|
1421
1359
|
if (!listeners)
|
1422
|
-
|
1360
|
+
listeners = this._eventRegistry[eventName] = [];
|
1423
1361
|
|
1424
1362
|
if (listeners.indexOf(callback) == -1)
|
1425
1363
|
listeners.push(callback);
|
@@ -1445,45 +1383,9 @@ EventEmitter.removeAllListeners = function(eventName) {
|
|
1445
1383
|
exports.EventEmitter = EventEmitter;
|
1446
1384
|
|
1447
1385
|
});
|
1448
|
-
/* ***** BEGIN LICENSE BLOCK *****
|
1449
|
-
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
1450
|
-
*
|
1451
|
-
* The contents of this file are subject to the Mozilla Public License Version
|
1452
|
-
* 1.1 (the "License"); you may not use this file except in compliance with
|
1453
|
-
* the License. You may obtain a copy of the License at
|
1454
|
-
* http://www.mozilla.org/MPL/
|
1455
|
-
*
|
1456
|
-
* Software distributed under the License is distributed on an "AS IS" basis,
|
1457
|
-
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
1458
|
-
* for the specific language governing rights and limitations under the
|
1459
|
-
* License.
|
1460
|
-
*
|
1461
|
-
* The Original Code is Ajax.org Code Editor (ACE).
|
1462
|
-
*
|
1463
|
-
* The Initial Developer of the Original Code is
|
1464
|
-
* Ajax.org B.V.
|
1465
|
-
* Portions created by the Initial Developer are Copyright (C) 2010
|
1466
|
-
* the Initial Developer. All Rights Reserved.
|
1467
|
-
*
|
1468
|
-
* Contributor(s):
|
1469
|
-
* Fabian Jakobs <fabian AT ajax DOT org>
|
1470
|
-
*
|
1471
|
-
* Alternatively, the contents of this file may be used under the terms of
|
1472
|
-
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
1473
|
-
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
1474
|
-
* in which case the provisions of the GPL or the LGPL are applicable instead
|
1475
|
-
* of those above. If you wish to allow use of your version of this file only
|
1476
|
-
* under the terms of either the GPL or the LGPL, and not to allow others to
|
1477
|
-
* use your version of this file under the terms of the MPL, indicate your
|
1478
|
-
* decision by deleting the provisions above and replace them with the notice
|
1479
|
-
* and other provisions required by the GPL or the LGPL. If you do not delete
|
1480
|
-
* the provisions above, a recipient may use your version of this file under
|
1481
|
-
* the terms of any one of the MPL, the GPL or the LGPL.
|
1482
|
-
*
|
1483
|
-
* ***** END LICENSE BLOCK ***** */
|
1484
1386
|
|
1485
1387
|
define('ace/lib/oop', ['require', 'exports', 'module' ], function(require, exports, module) {
|
1486
|
-
|
1388
|
+
|
1487
1389
|
|
1488
1390
|
exports.inherits = (function() {
|
1489
1391
|
var tempCtor = function() {};
|
@@ -1506,45 +1408,9 @@ exports.implement = function(proto, mixin) {
|
|
1506
1408
|
};
|
1507
1409
|
|
1508
1410
|
});
|
1509
|
-
/* ***** BEGIN LICENSE BLOCK *****
|
1510
|
-
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
1511
|
-
*
|
1512
|
-
* The contents of this file are subject to the Mozilla Public License Version
|
1513
|
-
* 1.1 (the "License"); you may not use this file except in compliance with
|
1514
|
-
* the License. You may obtain a copy of the License at
|
1515
|
-
* http://www.mozilla.org/MPL/
|
1516
|
-
*
|
1517
|
-
* Software distributed under the License is distributed on an "AS IS" basis,
|
1518
|
-
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
1519
|
-
* for the specific language governing rights and limitations under the
|
1520
|
-
* License.
|
1521
|
-
*
|
1522
|
-
* The Original Code is Ajax.org Code Editor (ACE).
|
1523
|
-
*
|
1524
|
-
* The Initial Developer of the Original Code is
|
1525
|
-
* Ajax.org B.V.
|
1526
|
-
* Portions created by the Initial Developer are Copyright (C) 2010
|
1527
|
-
* the Initial Developer. All Rights Reserved.
|
1528
|
-
*
|
1529
|
-
* Contributor(s):
|
1530
|
-
* Fabian Jakobs <fabian AT ajax DOT org>
|
1531
|
-
*
|
1532
|
-
* Alternatively, the contents of this file may be used under the terms of
|
1533
|
-
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
1534
|
-
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
1535
|
-
* in which case the provisions of the GPL or the LGPL are applicable instead
|
1536
|
-
* of those above. If you wish to allow use of your version of this file only
|
1537
|
-
* under the terms of either the GPL or the LGPL, and not to allow others to
|
1538
|
-
* use your version of this file under the terms of the MPL, indicate your
|
1539
|
-
* decision by deleting the provisions above and replace them with the notice
|
1540
|
-
* and other provisions required by the GPL or the LGPL. If you do not delete
|
1541
|
-
* the provisions above, a recipient may use your version of this file under
|
1542
|
-
* the terms of any one of the MPL, the GPL or the LGPL.
|
1543
|
-
*
|
1544
|
-
* ***** END LICENSE BLOCK ***** */
|
1545
1411
|
|
1546
1412
|
define('ace/mode/css_worker', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/worker/mirror', 'ace/mode/css/csslint'], function(require, exports, module) {
|
1547
|
-
|
1413
|
+
|
1548
1414
|
|
1549
1415
|
var oop = require("../lib/oop");
|
1550
1416
|
var Mirror = require("../worker/mirror").Mirror;
|
@@ -1573,7 +1439,7 @@ oop.inherits(Worker, Mirror);
|
|
1573
1439
|
|
1574
1440
|
});
|
1575
1441
|
define('ace/worker/mirror', ['require', 'exports', 'module' , 'ace/document', 'ace/lib/lang'], function(require, exports, module) {
|
1576
|
-
|
1442
|
+
|
1577
1443
|
|
1578
1444
|
var Document = require("../document").Document;
|
1579
1445
|
var lang = require("../lib/lang");
|
@@ -1615,59 +1481,15 @@ var Mirror = exports.Mirror = function(sender) {
|
|
1615
1481
|
}).call(Mirror.prototype);
|
1616
1482
|
|
1617
1483
|
});
|
1618
|
-
/* ***** BEGIN LICENSE BLOCK *****
|
1619
|
-
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
1620
|
-
*
|
1621
|
-
* The contents of this file are subject to the Mozilla Public License Version
|
1622
|
-
* 1.1 (the "License"); you may not use this file except in compliance with
|
1623
|
-
* the License. You may obtain a copy of the License at
|
1624
|
-
* http://www.mozilla.org/MPL/
|
1625
|
-
*
|
1626
|
-
* Software distributed under the License is distributed on an "AS IS" basis,
|
1627
|
-
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
1628
|
-
* for the specific language governing rights and limitations under the
|
1629
|
-
* License.
|
1630
|
-
*
|
1631
|
-
* The Original Code is Ajax.org Code Editor (ACE).
|
1632
|
-
*
|
1633
|
-
* The Initial Developer of the Original Code is
|
1634
|
-
* Ajax.org B.V.
|
1635
|
-
* Portions created by the Initial Developer are Copyright (C) 2010
|
1636
|
-
* the Initial Developer. All Rights Reserved.
|
1637
|
-
*
|
1638
|
-
* Contributor(s):
|
1639
|
-
* Fabian Jakobs <fabian AT ajax DOT org>
|
1640
|
-
*
|
1641
|
-
* Alternatively, the contents of this file may be used under the terms of
|
1642
|
-
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
1643
|
-
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
1644
|
-
* in which case the provisions of the GPL or the LGPL are applicable instead
|
1645
|
-
* of those above. If you wish to allow use of your version of this file only
|
1646
|
-
* under the terms of either the GPL or the LGPL, and not to allow others to
|
1647
|
-
* use your version of this file under the terms of the MPL, indicate your
|
1648
|
-
* decision by deleting the provisions above and replace them with the notice
|
1649
|
-
* and other provisions required by the GPL or the LGPL. If you do not delete
|
1650
|
-
* the provisions above, a recipient may use your version of this file under
|
1651
|
-
* the terms of any one of the MPL, the GPL or the LGPL.
|
1652
|
-
*
|
1653
|
-
* ***** END LICENSE BLOCK ***** */
|
1654
1484
|
|
1655
1485
|
define('ace/document', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter', 'ace/range', 'ace/anchor'], function(require, exports, module) {
|
1656
|
-
|
1486
|
+
|
1657
1487
|
|
1658
1488
|
var oop = require("./lib/oop");
|
1659
1489
|
var EventEmitter = require("./lib/event_emitter").EventEmitter;
|
1660
1490
|
var Range = require("./range").Range;
|
1661
1491
|
var Anchor = require("./anchor").Anchor;
|
1662
1492
|
|
1663
|
-
/**
|
1664
|
-
* class Document
|
1665
|
-
*
|
1666
|
-
* Contains the text of the document. Documents are controlled by a single [[EditSession `EditSession`]]. At its core, `Document`s are just an array of strings, with each row in the document matching up to the array index.
|
1667
|
-
*
|
1668
|
-
*
|
1669
|
-
**/
|
1670
|
-
|
1671
1493
|
/**
|
1672
1494
|
* new Document([text])
|
1673
1495
|
* - text (String | Array): The starting text
|
@@ -1675,16 +1497,16 @@ var Anchor = require("./anchor").Anchor;
|
|
1675
1497
|
* Creates a new `Document`. If `text` is included, the `Document` contains those strings; otherwise, it's empty.
|
1676
1498
|
*
|
1677
1499
|
**/
|
1500
|
+
|
1678
1501
|
var Document = function(text) {
|
1679
1502
|
this.$lines = [];
|
1680
1503
|
|
1681
|
-
if (Array.isArray(text)) {
|
1682
|
-
this.insertLines(0, text);
|
1683
|
-
}
|
1684
1504
|
// There has to be one line at least in the document. If you pass an empty
|
1685
1505
|
// string to the insert function, nothing will happen. Workaround.
|
1686
|
-
|
1506
|
+
if (text.length == 0) {
|
1687
1507
|
this.$lines = [""];
|
1508
|
+
} else if (Array.isArray(text)) {
|
1509
|
+
this.insertLines(0, text);
|
1688
1510
|
} else {
|
1689
1511
|
this.insert({row: 0, column:0}, text);
|
1690
1512
|
}
|
@@ -1693,49 +1515,18 @@ var Document = function(text) {
|
|
1693
1515
|
(function() {
|
1694
1516
|
|
1695
1517
|
oop.implement(this, EventEmitter);
|
1696
|
-
|
1697
|
-
/**
|
1698
|
-
* Document.setValue(text) -> Void
|
1699
|
-
* - text (String): The text to use
|
1700
|
-
*
|
1701
|
-
* Replaces all the lines in the current `Document` with the value of `text`.
|
1702
|
-
**/
|
1703
1518
|
this.setValue = function(text) {
|
1704
1519
|
var len = this.getLength();
|
1705
1520
|
this.remove(new Range(0, 0, len, this.getLine(len-1).length));
|
1706
1521
|
this.insert({row: 0, column:0}, text);
|
1707
1522
|
};
|
1708
|
-
|
1709
|
-
/**
|
1710
|
-
* Document.getValue() -> String
|
1711
|
-
*
|
1712
|
-
* Returns all the lines in the document as a single string, split by the new line character.
|
1713
|
-
**/
|
1714
1523
|
this.getValue = function() {
|
1715
1524
|
return this.getAllLines().join(this.getNewLineCharacter());
|
1716
1525
|
};
|
1717
|
-
|
1718
|
-
/**
|
1719
|
-
* Document.createAnchor(row, column) -> Anchor
|
1720
|
-
* - row (Number): The row number to use
|
1721
|
-
* - column (Number): The column number to use
|
1722
|
-
*
|
1723
|
-
* Creates a new `Anchor` to define a floating point in the document.
|
1724
|
-
**/
|
1725
1526
|
this.createAnchor = function(row, column) {
|
1726
1527
|
return new Anchor(this, row, column);
|
1727
1528
|
};
|
1728
1529
|
|
1729
|
-
/** internal, hide
|
1730
|
-
* Document.$split(text) -> [String]
|
1731
|
-
* - text (String): The text to work with
|
1732
|
-
* + ([String]): A String array, with each index containing a piece of the original `text` string.
|
1733
|
-
*
|
1734
|
-
* Splits a string of text on any newline (`\n`) or carriage-return ('\r') characters.
|
1735
|
-
*
|
1736
|
-
*
|
1737
|
-
**/
|
1738
|
-
|
1739
1530
|
// check for IE split bug
|
1740
1531
|
if ("aaa".split(/a/).length == 0)
|
1741
1532
|
this.$split = function(text) {
|
@@ -1745,13 +1536,6 @@ var Document = function(text) {
|
|
1745
1536
|
this.$split = function(text) {
|
1746
1537
|
return text.split(/\r\n|\r|\n/);
|
1747
1538
|
};
|
1748
|
-
|
1749
|
-
|
1750
|
-
/** internal, hide
|
1751
|
-
* Document.$detectNewLine(text) -> Void
|
1752
|
-
*
|
1753
|
-
*
|
1754
|
-
**/
|
1755
1539
|
this.$detectNewLine = function(text) {
|
1756
1540
|
var match = text.match(/^.*?(\r\n|\r|\n)/m);
|
1757
1541
|
if (match) {
|
@@ -1760,18 +1544,6 @@ var Document = function(text) {
|
|
1760
1544
|
this.$autoNewLine = "\n";
|
1761
1545
|
}
|
1762
1546
|
};
|
1763
|
-
|
1764
|
-
/**
|
1765
|
-
* Document.getNewLineCharacter() -> String
|
1766
|
-
* + (String): If `newLineMode == windows`, `\r\n` is returned.<br/>
|
1767
|
-
* If `newLineMode == unix`, `\n` is returned.<br/>
|
1768
|
-
* If `newLineMode == auto`, the value of `autoNewLine` is returned.
|
1769
|
-
*
|
1770
|
-
* Returns the newline character that's being used, depending on the value of `newLineMode`.
|
1771
|
-
*
|
1772
|
-
*
|
1773
|
-
*
|
1774
|
-
**/
|
1775
1547
|
this.getNewLineCharacter = function() {
|
1776
1548
|
switch (this.$newLineMode) {
|
1777
1549
|
case "windows":
|
@@ -1787,87 +1559,30 @@ var Document = function(text) {
|
|
1787
1559
|
|
1788
1560
|
this.$autoNewLine = "\n";
|
1789
1561
|
this.$newLineMode = "auto";
|
1790
|
-
/**
|
1791
|
-
* Document.setNewLineMode(newLineMode) -> Void
|
1792
|
-
* - newLineMode(String): [The newline mode to use; can be either `windows`, `unix`, or `auto`]{: #Document.setNewLineMode.param}
|
1793
|
-
*
|
1794
|
-
* [Sets the new line mode.]{: #Document.setNewLineMode.desc}
|
1795
|
-
**/
|
1796
1562
|
this.setNewLineMode = function(newLineMode) {
|
1797
1563
|
if (this.$newLineMode === newLineMode)
|
1798
1564
|
return;
|
1799
1565
|
|
1800
1566
|
this.$newLineMode = newLineMode;
|
1801
1567
|
};
|
1802
|
-
|
1803
|
-
/**
|
1804
|
-
* Document.getNewLineMode() -> String
|
1805
|
-
*
|
1806
|
-
* [Returns the type of newlines being used; either `windows`, `unix`, or `auto`]{: #Document.getNewLineMode}
|
1807
|
-
*
|
1808
|
-
**/
|
1809
1568
|
this.getNewLineMode = function() {
|
1810
1569
|
return this.$newLineMode;
|
1811
1570
|
};
|
1812
|
-
|
1813
|
-
/**
|
1814
|
-
* Document.isNewLine(text) -> Boolean
|
1815
|
-
* - text (String): The text to check
|
1816
|
-
*
|
1817
|
-
* Returns `true` if `text` is a newline character (either `\r\n`, `\r`, or `\n`).
|
1818
|
-
*
|
1819
|
-
**/
|
1820
1571
|
this.isNewLine = function(text) {
|
1821
1572
|
return (text == "\r\n" || text == "\r" || text == "\n");
|
1822
1573
|
};
|
1823
|
-
|
1824
|
-
/**
|
1825
|
-
* Document.getLine(row) -> String
|
1826
|
-
* - row (Number): The row index to retrieve
|
1827
|
-
*
|
1828
|
-
* Returns a verbatim copy of the given line as it is in the document
|
1829
|
-
*
|
1830
|
-
**/
|
1831
1574
|
this.getLine = function(row) {
|
1832
1575
|
return this.$lines[row] || "";
|
1833
1576
|
};
|
1834
|
-
|
1835
|
-
/**
|
1836
|
-
* Document.getLines(firstRow, lastRow) -> [String]
|
1837
|
-
* - firstRow (Number): The first row index to retrieve
|
1838
|
-
* - lastRow (Number): The final row index to retrieve
|
1839
|
-
*
|
1840
|
-
* Returns an array of strings of the rows between `firstRow` and `lastRow`. This function is inclusive of `lastRow`.
|
1841
|
-
*
|
1842
|
-
**/
|
1843
1577
|
this.getLines = function(firstRow, lastRow) {
|
1844
1578
|
return this.$lines.slice(firstRow, lastRow + 1);
|
1845
1579
|
};
|
1846
|
-
|
1847
|
-
/**
|
1848
|
-
* Document.getAllLines() -> [String]
|
1849
|
-
*
|
1850
|
-
* Returns all lines in the document as string array. Warning: The caller should not modify this array!
|
1851
|
-
**/
|
1852
1580
|
this.getAllLines = function() {
|
1853
1581
|
return this.getLines(0, this.getLength());
|
1854
1582
|
};
|
1855
|
-
|
1856
|
-
/**
|
1857
|
-
* Document.getLength() -> Number
|
1858
|
-
*
|
1859
|
-
* Returns the number of rows in the document.
|
1860
|
-
**/
|
1861
1583
|
this.getLength = function() {
|
1862
1584
|
return this.$lines.length;
|
1863
1585
|
};
|
1864
|
-
|
1865
|
-
/**
|
1866
|
-
* Document.getTextRange(range) -> String
|
1867
|
-
* - range (Range): The range to work with
|
1868
|
-
*
|
1869
|
-
* [Given a range within the document, this function returns all the text within that range as a single string.]{: #Document.getTextRange.desc}
|
1870
|
-
**/
|
1871
1586
|
this.getTextRange = function(range) {
|
1872
1587
|
if (range.start.row == range.end.row) {
|
1873
1588
|
return this.$lines[range.start.row].substring(range.start.column,
|
@@ -1880,12 +1595,6 @@ var Document = function(text) {
|
|
1880
1595
|
return lines.join(this.getNewLineCharacter());
|
1881
1596
|
}
|
1882
1597
|
};
|
1883
|
-
|
1884
|
-
/** internal, hide
|
1885
|
-
* Document.$clipPosition(position) -> Number
|
1886
|
-
*
|
1887
|
-
*
|
1888
|
-
**/
|
1889
1598
|
this.$clipPosition = function(position) {
|
1890
1599
|
var length = this.getLength();
|
1891
1600
|
if (position.row >= length) {
|
@@ -1894,16 +1603,6 @@ var Document = function(text) {
|
|
1894
1603
|
}
|
1895
1604
|
return position;
|
1896
1605
|
};
|
1897
|
-
|
1898
|
-
/**
|
1899
|
-
* Document.insert(position, text) -> Number
|
1900
|
-
* - position (Number): The position to start inserting at
|
1901
|
-
* - text (String): A chunk of text to insert
|
1902
|
-
* + (Number): The position of the last line of `text`. If the length of `text` is 0, this function simply returns `position`.
|
1903
|
-
* Inserts a block of `text` and the indicated `position`.
|
1904
|
-
*
|
1905
|
-
*
|
1906
|
-
**/
|
1907
1606
|
this.insert = function(position, text) {
|
1908
1607
|
if (!text || text.length === 0)
|
1909
1608
|
return position;
|
@@ -1926,24 +1625,40 @@ var Document = function(text) {
|
|
1926
1625
|
}
|
1927
1626
|
return position;
|
1928
1627
|
};
|
1929
|
-
|
1930
1628
|
/**
|
1931
|
-
|
1932
|
-
|
1933
|
-
|
1934
|
-
|
1935
|
-
|
1936
|
-
|
1937
|
-
|
1938
|
-
|
1939
|
-
*
|
1940
|
-
*
|
1941
|
-
|
1942
|
-
|
1629
|
+
* Document@change(e)
|
1630
|
+
* - e (Object): Contains at least one property called `"action"`. `"action"` indicates the action that triggered the change. Each action also has a set of additional properties.
|
1631
|
+
*
|
1632
|
+
* Fires whenever the document changes.
|
1633
|
+
*
|
1634
|
+
* Several methods trigger different `"change"` events. Below is a list of each action type, followed by each property that's also available:
|
1635
|
+
*
|
1636
|
+
* * `"insertLines"` (emitted by [[Document.insertLines]])
|
1637
|
+
* * `range`: the [[Range]] of the change within the document
|
1638
|
+
* * `lines`: the lines in the document that are changing
|
1639
|
+
* * `"insertText"` (emitted by [[Document.insertNewLine]])
|
1640
|
+
* * `range`: the [[Range]] of the change within the document
|
1641
|
+
* * `text`: the text that's being added
|
1642
|
+
* * `"removeLines"` (emitted by [[Document.insertLines]])
|
1643
|
+
* * `range`: the [[Range]] of the change within the document
|
1644
|
+
* * `lines`: the lines in the document that were removed
|
1645
|
+
* * `nl`: the new line character (as defined by [[Document.getNewLineCharacter]])
|
1646
|
+
* * `"removeText"` (emitted by [[Document.removeInLine]] and [[Document.removeNewLine]])
|
1647
|
+
* * `range`: the [[Range]] of the change within the document
|
1648
|
+
* * `text`: the text that's being removed
|
1649
|
+
*
|
1650
|
+
**/
|
1943
1651
|
this.insertLines = function(row, lines) {
|
1944
1652
|
if (lines.length == 0)
|
1945
1653
|
return {row: row, column: 0};
|
1946
1654
|
|
1655
|
+
// apply doesn't work for big arrays (smallest threshold is on safari 0xFFFF)
|
1656
|
+
// to circumvent that we have to break huge inserts into smaller chunks here
|
1657
|
+
if (lines.length > 0xFFFF) {
|
1658
|
+
var end = this.insertLines(row, lines.slice(0xFFFF));
|
1659
|
+
lines = lines.slice(0, 0xFFFF);
|
1660
|
+
}
|
1661
|
+
|
1947
1662
|
var args = [row, 0];
|
1948
1663
|
args.push.apply(args, lines);
|
1949
1664
|
this.$lines.splice.apply(this.$lines, args);
|
@@ -1955,20 +1670,8 @@ var Document = function(text) {
|
|
1955
1670
|
lines: lines
|
1956
1671
|
};
|
1957
1672
|
this._emit("change", { data: delta });
|
1958
|
-
return range.end;
|
1673
|
+
return end || range.end;
|
1959
1674
|
};
|
1960
|
-
|
1961
|
-
/**
|
1962
|
-
* Document.insertNewLine(position) -> Object
|
1963
|
-
* - position (String): The position to insert at
|
1964
|
-
* + (Object): Returns an object containing the final row and column, like this:<br/>
|
1965
|
-
* ```{row: endRow, column: 0}```
|
1966
|
-
*
|
1967
|
-
* Inserts a new line into the document at the current row's `position`. This method also triggers the `'change'` event.
|
1968
|
-
*
|
1969
|
-
*
|
1970
|
-
*
|
1971
|
-
**/
|
1972
1675
|
this.insertNewLine = function(position) {
|
1973
1676
|
position = this.$clipPosition(position);
|
1974
1677
|
var line = this.$lines[position.row] || "";
|
@@ -1990,20 +1693,6 @@ var Document = function(text) {
|
|
1990
1693
|
|
1991
1694
|
return end;
|
1992
1695
|
};
|
1993
|
-
|
1994
|
-
/**
|
1995
|
-
* Document.insertInLine(position, text) -> Object | Number
|
1996
|
-
* - position (Number): The position to insert at
|
1997
|
-
* - text (String): A chunk of text
|
1998
|
-
* + (Object): Returns an object containing the final row and column, like this:<br/>
|
1999
|
-
* ```{row: endRow, column: 0}```
|
2000
|
-
* + (Number): If `text` is empty, this function returns the value of `position`
|
2001
|
-
*
|
2002
|
-
* Inserts `text` into the `position` at the current row. This method also triggers the `'change'` event.
|
2003
|
-
*
|
2004
|
-
*
|
2005
|
-
*
|
2006
|
-
**/
|
2007
1696
|
this.insertInLine = function(position, text) {
|
2008
1697
|
if (text.length == 0)
|
2009
1698
|
return position;
|
@@ -2027,16 +1716,6 @@ var Document = function(text) {
|
|
2027
1716
|
|
2028
1717
|
return end;
|
2029
1718
|
};
|
2030
|
-
|
2031
|
-
/**
|
2032
|
-
* Document.remove(range) -> Object
|
2033
|
-
* - range (Range): A specified Range to remove
|
2034
|
-
* + (Object): Returns the new `start` property of the range, which contains `startRow` and `startColumn`. If `range` is empty, this function returns the unmodified value of `range.start`.
|
2035
|
-
*
|
2036
|
-
* Removes the `range` from the document.
|
2037
|
-
*
|
2038
|
-
*
|
2039
|
-
**/
|
2040
1719
|
this.remove = function(range) {
|
2041
1720
|
// clip to document
|
2042
1721
|
range.start = this.$clipPosition(range.start);
|
@@ -2068,18 +1747,6 @@ var Document = function(text) {
|
|
2068
1747
|
}
|
2069
1748
|
return range.start;
|
2070
1749
|
};
|
2071
|
-
|
2072
|
-
/**
|
2073
|
-
* Document.removeInLine(row, startColumn, endColumn) -> Object
|
2074
|
-
* - row (Number): The row to remove from
|
2075
|
-
* - startColumn (Number): The column to start removing at
|
2076
|
-
* - endColumn (Number): The column to stop removing at
|
2077
|
-
* + (Object): Returns an object containing `startRow` and `startColumn`, indicating the new row and column values.<br/>If `startColumn` is equal to `endColumn`, this function returns nothing.
|
2078
|
-
*
|
2079
|
-
* Removes the specified columns from the `row`. This method also triggers the `'change'` event.
|
2080
|
-
*
|
2081
|
-
*
|
2082
|
-
**/
|
2083
1750
|
this.removeInLine = function(row, startColumn, endColumn) {
|
2084
1751
|
if (startColumn == endColumn)
|
2085
1752
|
return;
|
@@ -2098,17 +1765,6 @@ var Document = function(text) {
|
|
2098
1765
|
this._emit("change", { data: delta });
|
2099
1766
|
return range.start;
|
2100
1767
|
};
|
2101
|
-
|
2102
|
-
/**
|
2103
|
-
* Document.removeLines(firstRow, lastRow) -> [String]
|
2104
|
-
* - firstRow (Number): The first row to be removed
|
2105
|
-
* - lastRow (Number): The last row to be removed
|
2106
|
-
* + ([String]): Returns all the removed lines.
|
2107
|
-
*
|
2108
|
-
* Removes a range of full lines. This method also triggers the `'change'` event.
|
2109
|
-
*
|
2110
|
-
*
|
2111
|
-
**/
|
2112
1768
|
this.removeLines = function(firstRow, lastRow) {
|
2113
1769
|
var range = new Range(firstRow, 0, lastRow + 1, 0);
|
2114
1770
|
var removed = this.$lines.splice(firstRow, lastRow - firstRow + 1);
|
@@ -2122,14 +1778,6 @@ var Document = function(text) {
|
|
2122
1778
|
this._emit("change", { data: delta });
|
2123
1779
|
return removed;
|
2124
1780
|
};
|
2125
|
-
|
2126
|
-
/**
|
2127
|
-
* Document.removeNewLine(row) -> Void
|
2128
|
-
* - row (Number): The row to check
|
2129
|
-
*
|
2130
|
-
* Removes the new line between `row` and the row immediately following it. This method also triggers the `'change'` event.
|
2131
|
-
*
|
2132
|
-
**/
|
2133
1781
|
this.removeNewLine = function(row) {
|
2134
1782
|
var firstLine = this.getLine(row);
|
2135
1783
|
var secondLine = this.getLine(row+1);
|
@@ -2146,19 +1794,6 @@ var Document = function(text) {
|
|
2146
1794
|
};
|
2147
1795
|
this._emit("change", { data: delta });
|
2148
1796
|
};
|
2149
|
-
|
2150
|
-
/**
|
2151
|
-
* Document.replace(range, text) -> Object
|
2152
|
-
* - range (Range): A specified Range to replace
|
2153
|
-
* - text (String): The new text to use as a replacement
|
2154
|
-
* + (Object): Returns an object containing the final row and column, like this:
|
2155
|
-
* {row: endRow, column: 0}
|
2156
|
-
* If the text and range are empty, this function returns an object containing the current `range.start` value.
|
2157
|
-
* If the text is the exact same as what currently exists, this function returns an object containing the current `range.end` value.
|
2158
|
-
*
|
2159
|
-
* Replaces a range in the document with the new `text`.
|
2160
|
-
*
|
2161
|
-
**/
|
2162
1797
|
this.replace = function(range, text) {
|
2163
1798
|
if (text.length == 0 && range.isEmpty())
|
2164
1799
|
return range.start;
|
@@ -2178,12 +1813,6 @@ var Document = function(text) {
|
|
2178
1813
|
|
2179
1814
|
return end;
|
2180
1815
|
};
|
2181
|
-
|
2182
|
-
/**
|
2183
|
-
* Document.applyDeltas(deltas) -> Void
|
2184
|
-
*
|
2185
|
-
* Applies all the changes previously accumulated. These can be either `'includeText'`, `'insertLines'`, `'removeText'`, and `'removeLines'`.
|
2186
|
-
**/
|
2187
1816
|
this.applyDeltas = function(deltas) {
|
2188
1817
|
for (var i=0; i<deltas.length; i++) {
|
2189
1818
|
var delta = deltas[i];
|
@@ -2199,12 +1828,6 @@ var Document = function(text) {
|
|
2199
1828
|
this.remove(range);
|
2200
1829
|
}
|
2201
1830
|
};
|
2202
|
-
|
2203
|
-
/**
|
2204
|
-
* Document.revertDeltas(deltas) -> Void
|
2205
|
-
*
|
2206
|
-
* Reverts any changes previously applied. These can be either `'includeText'`, `'insertLines'`, `'removeText'`, and `'removeLines'`.
|
2207
|
-
**/
|
2208
1831
|
this.revertDeltas = function(deltas) {
|
2209
1832
|
for (var i=deltas.length-1; i>=0; i--) {
|
2210
1833
|
var delta = deltas[i];
|
@@ -2226,45 +1849,9 @@ var Document = function(text) {
|
|
2226
1849
|
|
2227
1850
|
exports.Document = Document;
|
2228
1851
|
});
|
2229
|
-
/* ***** BEGIN LICENSE BLOCK *****
|
2230
|
-
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
2231
|
-
*
|
2232
|
-
* The contents of this file are subject to the Mozilla Public License Version
|
2233
|
-
* 1.1 (the "License"); you may not use this file except in compliance with
|
2234
|
-
* the License. You may obtain a copy of the License at
|
2235
|
-
* http://www.mozilla.org/MPL/
|
2236
|
-
*
|
2237
|
-
* Software distributed under the License is distributed on an "AS IS" basis,
|
2238
|
-
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
2239
|
-
* for the specific language governing rights and limitations under the
|
2240
|
-
* License.
|
2241
|
-
*
|
2242
|
-
* The Original Code is Ajax.org Code Editor (ACE).
|
2243
|
-
*
|
2244
|
-
* The Initial Developer of the Original Code is
|
2245
|
-
* Ajax.org B.V.
|
2246
|
-
* Portions created by the Initial Developer are Copyright (C) 2010
|
2247
|
-
* the Initial Developer. All Rights Reserved.
|
2248
|
-
*
|
2249
|
-
* Contributor(s):
|
2250
|
-
* Fabian Jakobs <fabian AT ajax DOT org>
|
2251
|
-
*
|
2252
|
-
* Alternatively, the contents of this file may be used under the terms of
|
2253
|
-
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
2254
|
-
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
2255
|
-
* in which case the provisions of the GPL or the LGPL are applicable instead
|
2256
|
-
* of those above. If you wish to allow use of your version of this file only
|
2257
|
-
* under the terms of either the GPL or the LGPL, and not to allow others to
|
2258
|
-
* use your version of this file under the terms of the MPL, indicate your
|
2259
|
-
* decision by deleting the provisions above and replace them with the notice
|
2260
|
-
* and other provisions required by the GPL or the LGPL. If you do not delete
|
2261
|
-
* the provisions above, a recipient may use your version of this file under
|
2262
|
-
* the terms of any one of the MPL, the GPL or the LGPL.
|
2263
|
-
*
|
2264
|
-
* ***** END LICENSE BLOCK ***** */
|
2265
1852
|
|
2266
1853
|
define('ace/range', ['require', 'exports', 'module' ], function(require, exports, module) {
|
2267
|
-
|
1854
|
+
|
2268
1855
|
|
2269
1856
|
/**
|
2270
1857
|
* class Range
|
@@ -2308,53 +1895,15 @@ var Range = function(startRow, startColumn, endRow, endColumn) {
|
|
2308
1895
|
this.end.row == range.end.row &&
|
2309
1896
|
this.start.column == range.start.column &&
|
2310
1897
|
this.end.column == range.end.column
|
2311
|
-
};
|
2312
|
-
|
2313
|
-
/**
|
2314
|
-
* Range.toString() -> String
|
2315
|
-
*
|
2316
|
-
* Returns a string containing the range's row and column information, given like this:
|
2317
|
-
*
|
2318
|
-
* [start.row/start.column] -> [end.row/end.column]
|
2319
|
-
*
|
2320
|
-
**/
|
2321
|
-
|
1898
|
+
};
|
2322
1899
|
this.toString = function() {
|
2323
1900
|
return ("Range: [" + this.start.row + "/" + this.start.column +
|
2324
1901
|
"] -> [" + this.end.row + "/" + this.end.column + "]");
|
2325
|
-
};
|
2326
|
-
|
2327
|
-
/** related to: Range.compare
|
2328
|
-
* Range.contains(row, column) -> Boolean
|
2329
|
-
* - row (Number): A row to check for
|
2330
|
-
* - column (Number): A column to check for
|
2331
|
-
*
|
2332
|
-
* Returns `true` if the `row` and `column` provided are within the given range. This can better be expressed as returning `true` if:
|
2333
|
-
*
|
2334
|
-
* this.start.row <= row <= this.end.row &&
|
2335
|
-
* this.start.column <= column <= this.end.column
|
2336
|
-
*
|
2337
|
-
**/
|
1902
|
+
};
|
2338
1903
|
|
2339
1904
|
this.contains = function(row, column) {
|
2340
1905
|
return this.compare(row, column) == 0;
|
2341
|
-
};
|
2342
|
-
|
2343
|
-
/** related to: Range.compare
|
2344
|
-
* Range.compareRange(range) -> Number
|
2345
|
-
* - range (Range): A range to compare with
|
2346
|
-
* + (Number): This method returns one of the following numbers:<br/>
|
2347
|
-
* <br/>
|
2348
|
-
* * `-2`: (B) is in front of (A), and doesn't intersect with (A)<br/>
|
2349
|
-
* * `-1`: (B) begins before (A) but ends inside of (A)<br/>
|
2350
|
-
* * `0`: (B) is completely inside of (A) OR (A) is completely inside of (B)<br/>
|
2351
|
-
* * `+1`: (B) begins inside of (A) but ends outside of (A)<br/>
|
2352
|
-
* * `+2`: (B) is after (A) and doesn't intersect with (A)<br/>
|
2353
|
-
* * `42`: FTW state: (B) ends in (A) but starts outside of (A)
|
2354
|
-
*
|
2355
|
-
* Compares `this` range (A) with another range (B).
|
2356
|
-
*
|
2357
|
-
**/
|
1906
|
+
};
|
2358
1907
|
this.compareRange = function(range) {
|
2359
1908
|
var cmp,
|
2360
1909
|
end = range.end,
|
@@ -2591,30 +2140,6 @@ var Range = function(startRow, startColumn, endRow, endColumn) {
|
|
2591
2140
|
|
2592
2141
|
return 0;
|
2593
2142
|
};
|
2594
|
-
|
2595
|
-
/**
|
2596
|
-
* Range.compareStart(row, column) -> Number
|
2597
|
-
* - row (Number): A row point to compare with
|
2598
|
-
* - column (Number): A column point to compare with
|
2599
|
-
* + (Number): This method returns one of the following numbers:<br/>
|
2600
|
-
* <br/>
|
2601
|
-
* * `0` if the two points are exactly equal<br/>
|
2602
|
-
* * `-1` if `p.row` is less then the calling range<br/>
|
2603
|
-
* * `1` if `p.row` is greater than the calling range, or if `isStart` is `true`.<br/>
|
2604
|
-
* <br/>
|
2605
|
-
* If the starting row of the calling range is equal to `p.row`, and:<br/>
|
2606
|
-
* * `p.column` is greater than or equal to the calling range's starting column, this returns `0`<br/>
|
2607
|
-
* * Otherwise, it returns -1<br/>
|
2608
|
-
* <br/>
|
2609
|
-
* If the ending row of the calling range is equal to `p.row`, and:<br/>
|
2610
|
-
* * `p.column` is less than or equal to the calling range's ending column, this returns `0`<br/>
|
2611
|
-
* * Otherwise, it returns 1
|
2612
|
-
*
|
2613
|
-
* Checks the row and column points with the row and column points of the calling range.
|
2614
|
-
*
|
2615
|
-
*
|
2616
|
-
*
|
2617
|
-
**/
|
2618
2143
|
this.compareStart = function(row, column) {
|
2619
2144
|
if (this.start.row == row && this.start.column == column) {
|
2620
2145
|
return -1;
|
@@ -2652,7 +2177,7 @@ var Range = function(startRow, startColumn, endRow, endColumn) {
|
|
2652
2177
|
}
|
2653
2178
|
}
|
2654
2179
|
|
2655
|
-
|
2180
|
+
/**
|
2656
2181
|
* Range.compareInside(row, column) -> Number
|
2657
2182
|
* - row (Number): A row point to compare with
|
2658
2183
|
* - column (Number): A column point to compare with
|
@@ -2677,7 +2202,7 @@ var Range = function(startRow, startColumn, endRow, endColumn) {
|
|
2677
2202
|
}
|
2678
2203
|
}
|
2679
2204
|
|
2680
|
-
|
2205
|
+
/**
|
2681
2206
|
* Range.clipRows(firstRow, lastRow) -> Range
|
2682
2207
|
* - firstRow (Number): The starting row
|
2683
2208
|
* - lastRow (Number): The ending row
|
@@ -2715,15 +2240,6 @@ var Range = function(startRow, startColumn, endRow, endColumn) {
|
|
2715
2240
|
}
|
2716
2241
|
return Range.fromPoints(start || this.start, end || this.end);
|
2717
2242
|
};
|
2718
|
-
|
2719
|
-
/**
|
2720
|
-
* Range.extend(row, column) -> Range
|
2721
|
-
* - row (Number): A new row to extend to
|
2722
|
-
* - column (Number): A new column to extend to
|
2723
|
-
*
|
2724
|
-
* Changes the row and column points for the calling range for both the starting and ending points. This method returns that range with a new row.
|
2725
|
-
*
|
2726
|
-
**/
|
2727
2243
|
this.extend = function(row, column) {
|
2728
2244
|
var cmp = this.compare(row, column);
|
2729
2245
|
|
@@ -2740,46 +2256,18 @@ var Range = function(startRow, startColumn, endRow, endColumn) {
|
|
2740
2256
|
this.isEmpty = function() {
|
2741
2257
|
return (this.start.row == this.end.row && this.start.column == this.end.column);
|
2742
2258
|
};
|
2743
|
-
|
2744
|
-
/**
|
2745
|
-
* Range.isMultiLine() -> Boolean
|
2746
|
-
*
|
2747
|
-
* Returns true if the range spans across multiple lines.
|
2748
|
-
*
|
2749
|
-
**/
|
2750
2259
|
this.isMultiLine = function() {
|
2751
2260
|
return (this.start.row !== this.end.row);
|
2752
2261
|
};
|
2753
|
-
|
2754
|
-
/**
|
2755
|
-
* Range.clone() -> Range
|
2756
|
-
*
|
2757
|
-
* Returns a duplicate of the calling range.
|
2758
|
-
*
|
2759
|
-
**/
|
2760
2262
|
this.clone = function() {
|
2761
2263
|
return Range.fromPoints(this.start, this.end);
|
2762
2264
|
};
|
2763
|
-
|
2764
|
-
/**
|
2765
|
-
* Range.collapseRows() -> Range
|
2766
|
-
*
|
2767
|
-
* Returns a range containing the starting and ending rows of the original range, but with a column value of `0`.
|
2768
|
-
*
|
2769
|
-
**/
|
2770
2265
|
this.collapseRows = function() {
|
2771
2266
|
if (this.end.column == 0)
|
2772
2267
|
return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row-1), 0)
|
2773
2268
|
else
|
2774
2269
|
return new Range(this.start.row, 0, this.end.row, 0)
|
2775
2270
|
};
|
2776
|
-
|
2777
|
-
/**
|
2778
|
-
* Range.toScreenRange(session) -> Range
|
2779
|
-
* - session (EditSession): The `EditSession` to retrieve coordinates from
|
2780
|
-
*
|
2781
|
-
* Given the current `Range`, this function converts those starting and ending points into screen positions, and then returns a new `Range` object.
|
2782
|
-
**/
|
2783
2271
|
this.toScreenRange = function(session) {
|
2784
2272
|
var screenPosStart =
|
2785
2273
|
session.documentToScreenPosition(this.start);
|
@@ -2793,71 +2281,19 @@ var Range = function(startRow, startColumn, endRow, endColumn) {
|
|
2793
2281
|
};
|
2794
2282
|
|
2795
2283
|
}).call(Range.prototype);
|
2796
|
-
|
2797
|
-
/**
|
2798
|
-
* Range.fromPoints(start, end) -> Range
|
2799
|
-
* - start (Range): A starting point to use
|
2800
|
-
* - end (Range): An ending point to use
|
2801
|
-
*
|
2802
|
-
* Creates and returns a new `Range` based on the row and column of the given parameters.
|
2803
|
-
*
|
2804
|
-
**/
|
2805
2284
|
Range.fromPoints = function(start, end) {
|
2806
2285
|
return new Range(start.row, start.column, end.row, end.column);
|
2807
2286
|
};
|
2808
2287
|
|
2809
2288
|
exports.Range = Range;
|
2810
2289
|
});
|
2811
|
-
/* ***** BEGIN LICENSE BLOCK *****
|
2812
|
-
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
2813
|
-
*
|
2814
|
-
* The contents of this file are subject to the Mozilla Public License Version
|
2815
|
-
* 1.1 (the "License"); you may not use this file except in compliance with
|
2816
|
-
* the License. You may obtain a copy of the License at
|
2817
|
-
* http://www.mozilla.org/MPL/
|
2818
|
-
*
|
2819
|
-
* Software distributed under the License is distributed on an "AS IS" basis,
|
2820
|
-
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
2821
|
-
* for the specific language governing rights and limitations under the
|
2822
|
-
* License.
|
2823
|
-
*
|
2824
|
-
* The Original Code is Ajax.org Code Editor (ACE).
|
2825
|
-
*
|
2826
|
-
* The Initial Developer of the Original Code is
|
2827
|
-
* Ajax.org B.V.
|
2828
|
-
* Portions created by the Initial Developer are Copyright (C) 2010
|
2829
|
-
* the Initial Developer. All Rights Reserved.
|
2830
|
-
*
|
2831
|
-
* Contributor(s):
|
2832
|
-
* Fabian Jakobs <fabian AT ajax DOT org>
|
2833
|
-
*
|
2834
|
-
* Alternatively, the contents of this file may be used under the terms of
|
2835
|
-
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
2836
|
-
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
2837
|
-
* in which case the provisions of the GPL or the LGPL are applicable instead
|
2838
|
-
* of those above. If you wish to allow use of your version of this file only
|
2839
|
-
* under the terms of either the GPL or the LGPL, and not to allow others to
|
2840
|
-
* use your version of this file under the terms of the MPL, indicate your
|
2841
|
-
* decision by deleting the provisions above and replace them with the notice
|
2842
|
-
* and other provisions required by the GPL or the LGPL. If you do not delete
|
2843
|
-
* the provisions above, a recipient may use your version of this file under
|
2844
|
-
* the terms of any one of the MPL, the GPL or the LGPL.
|
2845
|
-
*
|
2846
|
-
* ***** END LICENSE BLOCK ***** */
|
2847
2290
|
|
2848
2291
|
define('ace/anchor', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter'], function(require, exports, module) {
|
2849
|
-
|
2292
|
+
|
2850
2293
|
|
2851
2294
|
var oop = require("./lib/oop");
|
2852
2295
|
var EventEmitter = require("./lib/event_emitter").EventEmitter;
|
2853
2296
|
|
2854
|
-
/**
|
2855
|
-
* class Anchor
|
2856
|
-
*
|
2857
|
-
* Defines the floating pointer in the document. Whenever text is inserted or deleted before the cursor, the position of the cursor is updated
|
2858
|
-
*
|
2859
|
-
**/
|
2860
|
-
|
2861
2297
|
/**
|
2862
2298
|
* new Anchor(doc, row, column)
|
2863
2299
|
* - doc (Document): The document to associate with the anchor
|
@@ -2883,36 +2319,14 @@ var Anchor = exports.Anchor = function(doc, row, column) {
|
|
2883
2319
|
(function() {
|
2884
2320
|
|
2885
2321
|
oop.implement(this, EventEmitter);
|
2886
|
-
|
2887
|
-
/**
|
2888
|
-
* Anchor.getPosition() -> Object
|
2889
|
-
*
|
2890
|
-
* Returns an object identifying the `row` and `column` position of the current anchor.
|
2891
|
-
*
|
2892
|
-
**/
|
2893
2322
|
|
2894
2323
|
this.getPosition = function() {
|
2895
2324
|
return this.$clipPositionToDocument(this.row, this.column);
|
2896
2325
|
};
|
2897
|
-
|
2898
|
-
/**
|
2899
|
-
* Anchor.getDocument() -> Document
|
2900
|
-
*
|
2901
|
-
* Returns the current document.
|
2902
|
-
*
|
2903
|
-
**/
|
2904
2326
|
|
2905
2327
|
this.getDocument = function() {
|
2906
2328
|
return this.document;
|
2907
2329
|
};
|
2908
|
-
|
2909
|
-
/**
|
2910
|
-
* Anchor@onChange(e)
|
2911
|
-
* - e (Event): Contains data about the event
|
2912
|
-
*
|
2913
|
-
* Fires whenever the anchor position changes. Events that can trigger this function include `'includeText'`, `'insertLines'`, `'removeText'`, and `'removeLines'`.
|
2914
|
-
*
|
2915
|
-
**/
|
2916
2330
|
|
2917
2331
|
this.onChange = function(e) {
|
2918
2332
|
var delta = e.data;
|
@@ -2979,16 +2393,6 @@ var Anchor = exports.Anchor = function(doc, row, column) {
|
|
2979
2393
|
this.setPosition(row, column, true);
|
2980
2394
|
};
|
2981
2395
|
|
2982
|
-
/**
|
2983
|
-
* Anchor.setPosition(row, column, noClip)
|
2984
|
-
* - row (Number): The row index to move the anchor to
|
2985
|
-
* - column (Number): The column index to move the anchor to
|
2986
|
-
* - noClip (Boolean): Identifies if you want the position to be clipped
|
2987
|
-
*
|
2988
|
-
* Sets the anchor position to the specified row and column. If `noClip` is `true`, the position is not clipped.
|
2989
|
-
*
|
2990
|
-
**/
|
2991
|
-
|
2992
2396
|
this.setPosition = function(row, column, noClip) {
|
2993
2397
|
var pos;
|
2994
2398
|
if (noClip) {
|
@@ -3016,26 +2420,10 @@ var Anchor = exports.Anchor = function(doc, row, column) {
|
|
3016
2420
|
value: pos
|
3017
2421
|
});
|
3018
2422
|
};
|
3019
|
-
|
3020
|
-
/**
|
3021
|
-
* Anchor.detach()
|
3022
|
-
*
|
3023
|
-
* When called, the `'change'` event listener is removed.
|
3024
|
-
*
|
3025
|
-
**/
|
3026
2423
|
|
3027
2424
|
this.detach = function() {
|
3028
2425
|
this.document.removeEventListener("change", this.$onChange);
|
3029
2426
|
};
|
3030
|
-
|
3031
|
-
/** internal, hide
|
3032
|
-
* Anchor.clipPositionToDocument(row, column)
|
3033
|
-
* - row (Number): The row index to clip the anchor to
|
3034
|
-
* - column (Number): The column index to clip the anchor to
|
3035
|
-
*
|
3036
|
-
* Clips the anchor position to the specified row and column.
|
3037
|
-
*
|
3038
|
-
**/
|
3039
2427
|
|
3040
2428
|
this.$clipPositionToDocument = function(row, column) {
|
3041
2429
|
var pos = {};
|
@@ -3062,45 +2450,9 @@ var Anchor = exports.Anchor = function(doc, row, column) {
|
|
3062
2450
|
}).call(Anchor.prototype);
|
3063
2451
|
|
3064
2452
|
});
|
3065
|
-
/* ***** BEGIN LICENSE BLOCK *****
|
3066
|
-
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
3067
|
-
*
|
3068
|
-
* The contents of this file are subject to the Mozilla Public License Version
|
3069
|
-
* 1.1 (the "License"); you may not use this file except in compliance with
|
3070
|
-
* the License. You may obtain a copy of the License at
|
3071
|
-
* http://www.mozilla.org/MPL/
|
3072
|
-
*
|
3073
|
-
* Software distributed under the License is distributed on an "AS IS" basis,
|
3074
|
-
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
3075
|
-
* for the specific language governing rights and limitations under the
|
3076
|
-
* License.
|
3077
|
-
*
|
3078
|
-
* The Original Code is Ajax.org Code Editor (ACE).
|
3079
|
-
*
|
3080
|
-
* The Initial Developer of the Original Code is
|
3081
|
-
* Ajax.org B.V.
|
3082
|
-
* Portions created by the Initial Developer are Copyright (C) 2010
|
3083
|
-
* the Initial Developer. All Rights Reserved.
|
3084
|
-
*
|
3085
|
-
* Contributor(s):
|
3086
|
-
* Fabian Jakobs <fabian AT ajax DOT org>
|
3087
|
-
*
|
3088
|
-
* Alternatively, the contents of this file may be used under the terms of
|
3089
|
-
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
3090
|
-
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
3091
|
-
* in which case the provisions of the GPL or the LGPL are applicable instead
|
3092
|
-
* of those above. If you wish to allow use of your version of this file only
|
3093
|
-
* under the terms of either the GPL or the LGPL, and not to allow others to
|
3094
|
-
* use your version of this file under the terms of the MPL, indicate your
|
3095
|
-
* decision by deleting the provisions above and replace them with the notice
|
3096
|
-
* and other provisions required by the GPL or the LGPL. If you do not delete
|
3097
|
-
* the provisions above, a recipient may use your version of this file under
|
3098
|
-
* the terms of any one of the MPL, the GPL or the LGPL.
|
3099
|
-
*
|
3100
|
-
* ***** END LICENSE BLOCK ***** */
|
3101
2453
|
|
3102
2454
|
define('ace/lib/lang', ['require', 'exports', 'module' ], function(require, exports, module) {
|
3103
|
-
|
2455
|
+
|
3104
2456
|
|
3105
2457
|
exports.stringReverse = function(string) {
|
3106
2458
|
return string.split("").reverse().join("");
|
@@ -3165,9 +2517,13 @@ exports.arrayToMap = function(arr) {
|
|
3165
2517
|
|
3166
2518
|
};
|
3167
2519
|
|
3168
|
-
|
3169
|
-
|
3170
|
-
|
2520
|
+
exports.createMap = function(props) {
|
2521
|
+
var map = Object.create(null);
|
2522
|
+
for (var i in props) {
|
2523
|
+
map[i] = props[i];
|
2524
|
+
}
|
2525
|
+
return map;
|
2526
|
+
};
|
3171
2527
|
exports.arrayRemove = function(array, value) {
|
3172
2528
|
for (var i = 0; i <= array.length; i++) {
|
3173
2529
|
if (value === array[i]) {
|
@@ -3180,6 +2536,20 @@ exports.escapeRegExp = function(str) {
|
|
3180
2536
|
return str.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1');
|
3181
2537
|
};
|
3182
2538
|
|
2539
|
+
exports.getMatchOffsets = function(string, regExp) {
|
2540
|
+
var matches = [];
|
2541
|
+
|
2542
|
+
string.replace(regExp, function(str) {
|
2543
|
+
matches.push({
|
2544
|
+
offset: arguments[arguments.length-2],
|
2545
|
+
length: str.length
|
2546
|
+
});
|
2547
|
+
});
|
2548
|
+
|
2549
|
+
return matches;
|
2550
|
+
};
|
2551
|
+
|
2552
|
+
|
3183
2553
|
exports.deferredCall = function(fcn) {
|
3184
2554
|
|
3185
2555
|
var timer = null;
|
@@ -3353,13 +2723,6 @@ EventTarget.prototype = {
|
|
3353
2723
|
}
|
3354
2724
|
}
|
3355
2725
|
};
|
3356
|
-
/**
|
3357
|
-
* Convenient way to read through strings.
|
3358
|
-
* @namespace parserlib.util
|
3359
|
-
* @class StringReader
|
3360
|
-
* @constructor
|
3361
|
-
* @param {String} text The text to read.
|
3362
|
-
*/
|
3363
2726
|
function StringReader(text){
|
3364
2727
|
|
3365
2728
|
/**
|
@@ -3369,31 +2732,8 @@ function StringReader(text){
|
|
3369
2732
|
* @private
|
3370
2733
|
*/
|
3371
2734
|
this._input = text.replace(/\n\r?/g, "\n");
|
3372
|
-
|
3373
|
-
|
3374
|
-
/**
|
3375
|
-
* The row for the character to be read next.
|
3376
|
-
* @property _line
|
3377
|
-
* @type int
|
3378
|
-
* @private
|
3379
|
-
*/
|
3380
2735
|
this._line = 1;
|
3381
|
-
|
3382
|
-
|
3383
|
-
/**
|
3384
|
-
* The column for the character to be read next.
|
3385
|
-
* @property _col
|
3386
|
-
* @type int
|
3387
|
-
* @private
|
3388
|
-
*/
|
3389
2736
|
this._col = 1;
|
3390
|
-
|
3391
|
-
/**
|
3392
|
-
* The index of the character in the input to be read next.
|
3393
|
-
* @property _cursor
|
3394
|
-
* @type int
|
3395
|
-
* @private
|
3396
|
-
*/
|
3397
2737
|
this._cursor = 0;
|
3398
2738
|
}
|
3399
2739
|
|
@@ -3527,12 +2867,6 @@ StringReader.prototype = {
|
|
3527
2867
|
|
3528
2868
|
var buffer = "",
|
3529
2869
|
c;
|
3530
|
-
|
3531
|
-
/*
|
3532
|
-
* First, buffer must be the same length as the pattern.
|
3533
|
-
* Then, buffer must end with the pattern or else reach the
|
3534
|
-
* end of the input.
|
3535
|
-
*/
|
3536
2870
|
while (buffer.length < pattern.length || buffer.lastIndexOf(pattern) != buffer.length - pattern.length){
|
3537
2871
|
c = this.read();
|
3538
2872
|
if (c){
|
@@ -3620,15 +2954,6 @@ StringReader.prototype = {
|
|
3620
2954
|
}
|
3621
2955
|
|
3622
2956
|
};
|
3623
|
-
/**
|
3624
|
-
* Type to use when a syntax error occurs.
|
3625
|
-
* @class SyntaxError
|
3626
|
-
* @namespace parserlib.util
|
3627
|
-
* @constructor
|
3628
|
-
* @param {String} message The error message.
|
3629
|
-
* @param {int} line The line at which the error occurred.
|
3630
|
-
* @param {int} col The column at which the error occurred.
|
3631
|
-
*/
|
3632
2957
|
function SyntaxError(message, line, col){
|
3633
2958
|
|
3634
2959
|
/**
|
@@ -3637,34 +2962,13 @@ function SyntaxError(message, line, col){
|
|
3637
2962
|
* @property col
|
3638
2963
|
*/
|
3639
2964
|
this.col = col;
|
3640
|
-
|
3641
|
-
/**
|
3642
|
-
* The line at which the error occurred.
|
3643
|
-
* @type int
|
3644
|
-
* @property line
|
3645
|
-
*/
|
3646
2965
|
this.line = line;
|
3647
|
-
|
3648
|
-
/**
|
3649
|
-
* The text representation of the unit.
|
3650
|
-
* @type String
|
3651
|
-
* @property text
|
3652
|
-
*/
|
3653
2966
|
this.message = message;
|
3654
2967
|
|
3655
2968
|
}
|
3656
2969
|
|
3657
2970
|
//inherit from Error
|
3658
2971
|
SyntaxError.prototype = new Error();
|
3659
|
-
/**
|
3660
|
-
* Base type to represent a single syntactic unit.
|
3661
|
-
* @class SyntaxUnit
|
3662
|
-
* @namespace parserlib.util
|
3663
|
-
* @constructor
|
3664
|
-
* @param {String} text The text of the unit.
|
3665
|
-
* @param {int} line The line of text on which the unit resides.
|
3666
|
-
* @param {int} col The column of text on which the unit resides.
|
3667
|
-
*/
|
3668
2972
|
function SyntaxUnit(text, line, col, type){
|
3669
2973
|
|
3670
2974
|
|
@@ -3674,26 +2978,8 @@ function SyntaxUnit(text, line, col, type){
|
|
3674
2978
|
* @property col
|
3675
2979
|
*/
|
3676
2980
|
this.col = col;
|
3677
|
-
|
3678
|
-
/**
|
3679
|
-
* The line of text on which the unit resides.
|
3680
|
-
* @type int
|
3681
|
-
* @property line
|
3682
|
-
*/
|
3683
2981
|
this.line = line;
|
3684
|
-
|
3685
|
-
/**
|
3686
|
-
* The text representation of the unit.
|
3687
|
-
* @type String
|
3688
|
-
* @property text
|
3689
|
-
*/
|
3690
2982
|
this.text = text;
|
3691
|
-
|
3692
|
-
/**
|
3693
|
-
* The type of syntax unit.
|
3694
|
-
* @type int
|
3695
|
-
* @property type
|
3696
|
-
*/
|
3697
2983
|
this.type = type;
|
3698
2984
|
}
|
3699
2985
|
|
@@ -3734,7 +3020,6 @@ SyntaxUnit.prototype = {
|
|
3734
3020
|
}
|
3735
3021
|
|
3736
3022
|
};
|
3737
|
-
/*global StringReader, SyntaxError*/
|
3738
3023
|
|
3739
3024
|
/**
|
3740
3025
|
* Generic TokenStream providing base functionality.
|
@@ -3753,37 +3038,9 @@ function TokenStreamBase(input, tokenData){
|
|
3753
3038
|
* @private
|
3754
3039
|
*/
|
3755
3040
|
this._reader = input ? new StringReader(input.toString()) : null;
|
3756
|
-
|
3757
|
-
/**
|
3758
|
-
* Token object for the last consumed token.
|
3759
|
-
* @type Token
|
3760
|
-
* @property _token
|
3761
|
-
* @private
|
3762
|
-
*/
|
3763
|
-
this._token = null;
|
3764
|
-
|
3765
|
-
/**
|
3766
|
-
* The array of token information.
|
3767
|
-
* @type Array
|
3768
|
-
* @property _tokenData
|
3769
|
-
* @private
|
3770
|
-
*/
|
3041
|
+
this._token = null;
|
3771
3042
|
this._tokenData = tokenData;
|
3772
|
-
|
3773
|
-
/**
|
3774
|
-
* Lookahead token buffer.
|
3775
|
-
* @type Array
|
3776
|
-
* @property _lt
|
3777
|
-
* @private
|
3778
|
-
*/
|
3779
3043
|
this._lt = [];
|
3780
|
-
|
3781
|
-
/**
|
3782
|
-
* Lookahead token buffer index.
|
3783
|
-
* @type int
|
3784
|
-
* @property _ltIndex
|
3785
|
-
* @private
|
3786
|
-
*/
|
3787
3044
|
this._ltIndex = 0;
|
3788
3045
|
|
3789
3046
|
this._ltIndexCache = [];
|
@@ -4146,31 +3403,6 @@ EventTarget : EventTarget,
|
|
4146
3403
|
TokenStreamBase : TokenStreamBase
|
4147
3404
|
};
|
4148
3405
|
})();
|
4149
|
-
|
4150
|
-
|
4151
|
-
/*
|
4152
|
-
Parser-Lib
|
4153
|
-
Copyright (c) 2009-2011 Nicholas C. Zakas. All rights reserved.
|
4154
|
-
|
4155
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4156
|
-
of this software and associated documentation files (the "Software"), to deal
|
4157
|
-
in the Software without restriction, including without limitation the rights
|
4158
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
4159
|
-
copies of the Software, and to permit persons to whom the Software is
|
4160
|
-
furnished to do so, subject to the following conditions:
|
4161
|
-
|
4162
|
-
The above copyright notice and this permission notice shall be included in
|
4163
|
-
all copies or substantial portions of the Software.
|
4164
|
-
|
4165
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
4166
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
4167
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
4168
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
4169
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
4170
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
4171
|
-
THE SOFTWARE.
|
4172
|
-
|
4173
|
-
*/
|
4174
3406
|
/* Version v0.1.6, Build time: 2-March-2012 02:44:32 */
|
4175
3407
|
(function(){
|
4176
3408
|
var EventTarget = parserlib.util.EventTarget,
|
@@ -4322,7 +3554,6 @@ var Colors = {
|
|
4322
3554
|
yellow :"#ffff00",
|
4323
3555
|
yellowgreen :"#9acd32"
|
4324
3556
|
};
|
4325
|
-
/*global SyntaxUnit, Parser*/
|
4326
3557
|
/**
|
4327
3558
|
* Represents a selector combinator (whitespace, +, >).
|
4328
3559
|
* @namespace parserlib.css
|
@@ -4336,12 +3567,6 @@ var Colors = {
|
|
4336
3567
|
function Combinator(text, line, col){
|
4337
3568
|
|
4338
3569
|
SyntaxUnit.call(this, text, line, col, Parser.COMBINATOR_TYPE);
|
4339
|
-
|
4340
|
-
/**
|
4341
|
-
* The type of modifier.
|
4342
|
-
* @type String
|
4343
|
-
* @property type
|
4344
|
-
*/
|
4345
3570
|
this.type = "unknown";
|
4346
3571
|
|
4347
3572
|
//pretty simple
|
@@ -4359,9 +3584,6 @@ function Combinator(text, line, col){
|
|
4359
3584
|
|
4360
3585
|
Combinator.prototype = new SyntaxUnit();
|
4361
3586
|
Combinator.prototype.constructor = Combinator;
|
4362
|
-
|
4363
|
-
|
4364
|
-
/*global SyntaxUnit, Parser*/
|
4365
3587
|
/**
|
4366
3588
|
* Represents a media feature, such as max-width:500.
|
4367
3589
|
* @namespace parserlib.css
|
@@ -4374,27 +3596,12 @@ Combinator.prototype.constructor = Combinator;
|
|
4374
3596
|
function MediaFeature(name, value){
|
4375
3597
|
|
4376
3598
|
SyntaxUnit.call(this, "(" + name + (value !== null ? ":" + value : "") + ")", name.startLine, name.startCol, Parser.MEDIA_FEATURE_TYPE);
|
4377
|
-
|
4378
|
-
/**
|
4379
|
-
* The name of the media feature
|
4380
|
-
* @type String
|
4381
|
-
* @property name
|
4382
|
-
*/
|
4383
3599
|
this.name = name;
|
4384
|
-
|
4385
|
-
/**
|
4386
|
-
* The value for the feature or null if there is none.
|
4387
|
-
* @type SyntaxUnit
|
4388
|
-
* @property value
|
4389
|
-
*/
|
4390
3600
|
this.value = value;
|
4391
3601
|
}
|
4392
3602
|
|
4393
3603
|
MediaFeature.prototype = new SyntaxUnit();
|
4394
3604
|
MediaFeature.prototype.constructor = MediaFeature;
|
4395
|
-
|
4396
|
-
|
4397
|
-
/*global SyntaxUnit, Parser*/
|
4398
3605
|
/**
|
4399
3606
|
* Represents an individual media query.
|
4400
3607
|
* @namespace parserlib.css
|
@@ -4410,26 +3617,8 @@ MediaFeature.prototype.constructor = MediaFeature;
|
|
4410
3617
|
function MediaQuery(modifier, mediaType, features, line, col){
|
4411
3618
|
|
4412
3619
|
SyntaxUnit.call(this, (modifier ? modifier + " ": "") + (mediaType ? mediaType + " " : "") + features.join(" and "), line, col, Parser.MEDIA_QUERY_TYPE);
|
4413
|
-
|
4414
|
-
/**
|
4415
|
-
* The media modifier ("not" or "only")
|
4416
|
-
* @type String
|
4417
|
-
* @property modifier
|
4418
|
-
*/
|
4419
3620
|
this.modifier = modifier;
|
4420
|
-
|
4421
|
-
/**
|
4422
|
-
* The mediaType (i.e., "print")
|
4423
|
-
* @type String
|
4424
|
-
* @property mediaType
|
4425
|
-
*/
|
4426
|
-
this.mediaType = mediaType;
|
4427
|
-
|
4428
|
-
/**
|
4429
|
-
* The parts that make up the selector.
|
4430
|
-
* @type Array
|
4431
|
-
* @property features
|
4432
|
-
*/
|
3621
|
+
this.mediaType = mediaType;
|
4433
3622
|
this.features = features;
|
4434
3623
|
|
4435
3624
|
}
|
@@ -4437,11 +3626,6 @@ function MediaQuery(modifier, mediaType, features, line, col){
|
|
4437
3626
|
MediaQuery.prototype = new SyntaxUnit();
|
4438
3627
|
MediaQuery.prototype.constructor = MediaQuery;
|
4439
3628
|
|
4440
|
-
|
4441
|
-
/*global Tokens, TokenStream, SyntaxError, Properties, Validation, ValidationError, SyntaxUnit,
|
4442
|
-
PropertyValue, PropertyValuePart, SelectorPart, SelectorSubPart, Selector,
|
4443
|
-
PropertyName, Combinator, MediaFeature, MediaQuery, EventTarget */
|
4444
|
-
|
4445
3629
|
/**
|
4446
3630
|
* A CSS3 parser.
|
4447
3631
|
* @namespace parserlib.css
|
@@ -4742,9 +3926,6 @@ Parser.prototype = function(){
|
|
4742
3926
|
}
|
4743
3927
|
|
4744
3928
|
tokenStream.mustMatch([Tokens.STRING, Tokens.URI]);
|
4745
|
-
/*if (!tokenStream.match(Tokens.STRING)){
|
4746
|
-
tokenStream.mustMatch(Tokens.URI);
|
4747
|
-
}*/
|
4748
3929
|
|
4749
3930
|
//grab the URI value
|
4750
3931
|
uri = tokenStream.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/, "$1");
|
@@ -5259,12 +4440,6 @@ Parser.prototype = function(){
|
|
5259
4440
|
var tokenStream = this._tokenStream,
|
5260
4441
|
tt,
|
5261
4442
|
selectors;
|
5262
|
-
|
5263
|
-
|
5264
|
-
/*
|
5265
|
-
* Error Recovery: If even a single selector fails to parse,
|
5266
|
-
* then the entire ruleset should be thrown away.
|
5267
|
-
*/
|
5268
4443
|
try {
|
5269
4444
|
selectors = this._selectors_group();
|
5270
4445
|
} catch (ex){
|
@@ -6643,14 +5818,6 @@ Parser.prototype = function(){
|
|
6643
5818
|
|
6644
5819
|
return proto;
|
6645
5820
|
}();
|
6646
|
-
|
6647
|
-
|
6648
|
-
/*
|
6649
|
-
nth
|
6650
|
-
: S* [ ['-'|'+']? INTEGER? {N} [ S* ['-'|'+'] S* INTEGER ]? |
|
6651
|
-
['-'|'+']? INTEGER | {O}{D}{D} | {E}{V}{E}{N} ] S*
|
6652
|
-
;
|
6653
|
-
*/
|
6654
5821
|
/*global Validation, ValidationTypes, ValidationError*/
|
6655
5822
|
var Properties = {
|
6656
5823
|
|
@@ -7129,7 +6296,6 @@ var Properties = {
|
|
7129
6296
|
"z-index" : "<integer> | auto | inherit",
|
7130
6297
|
"zoom" : "<number> | <percentage> | normal"
|
7131
6298
|
};
|
7132
|
-
/*global SyntaxUnit, Parser*/
|
7133
6299
|
/**
|
7134
6300
|
* Represents a selector combinator (whitespace, +, >).
|
7135
6301
|
* @namespace parserlib.css
|
@@ -7141,15 +6307,9 @@ var Properties = {
|
|
7141
6307
|
* @param {int} line The line of text on which the unit resides.
|
7142
6308
|
* @param {int} col The column of text on which the unit resides.
|
7143
6309
|
*/
|
7144
|
-
function PropertyName(text, hack, line, col){
|
7145
|
-
|
7146
|
-
SyntaxUnit.call(this, text, line, col, Parser.PROPERTY_NAME_TYPE);
|
7147
|
-
|
7148
|
-
/**
|
7149
|
-
* The type of IE hack applied ("*", "_", or null).
|
7150
|
-
* @type String
|
7151
|
-
* @property hack
|
7152
|
-
*/
|
6310
|
+
function PropertyName(text, hack, line, col){
|
6311
|
+
|
6312
|
+
SyntaxUnit.call(this, text, line, col, Parser.PROPERTY_NAME_TYPE);
|
7153
6313
|
this.hack = hack;
|
7154
6314
|
|
7155
6315
|
}
|
@@ -7159,8 +6319,6 @@ PropertyName.prototype.constructor = PropertyName;
|
|
7159
6319
|
PropertyName.prototype.toString = function(){
|
7160
6320
|
return (this.hack ? this.hack : "") + this.text;
|
7161
6321
|
};
|
7162
|
-
|
7163
|
-
/*global SyntaxUnit, Parser*/
|
7164
6322
|
/**
|
7165
6323
|
* Represents a single part of a CSS property value, meaning that it represents
|
7166
6324
|
* just everything single part between ":" and ";". If there are multiple values
|
@@ -7176,21 +6334,12 @@ PropertyName.prototype.toString = function(){
|
|
7176
6334
|
function PropertyValue(parts, line, col){
|
7177
6335
|
|
7178
6336
|
SyntaxUnit.call(this, parts.join(" "), line, col, Parser.PROPERTY_VALUE_TYPE);
|
7179
|
-
|
7180
|
-
/**
|
7181
|
-
* The parts that make up the selector.
|
7182
|
-
* @type Array
|
7183
|
-
* @property parts
|
7184
|
-
*/
|
7185
6337
|
this.parts = parts;
|
7186
6338
|
|
7187
6339
|
}
|
7188
6340
|
|
7189
6341
|
PropertyValue.prototype = new SyntaxUnit();
|
7190
6342
|
PropertyValue.prototype.constructor = PropertyValue;
|
7191
|
-
|
7192
|
-
|
7193
|
-
/*global SyntaxUnit, Parser*/
|
7194
6343
|
/**
|
7195
6344
|
* A utility class that allows for easy iteration over the various parts of a
|
7196
6345
|
* property value.
|
@@ -7208,28 +6357,8 @@ function PropertyValueIterator(value){
|
|
7208
6357
|
* @private
|
7209
6358
|
*/
|
7210
6359
|
this._i = 0;
|
7211
|
-
|
7212
|
-
/**
|
7213
|
-
* The parts that make up the value.
|
7214
|
-
* @type Array
|
7215
|
-
* @property _parts
|
7216
|
-
* @private
|
7217
|
-
*/
|
7218
6360
|
this._parts = value.parts;
|
7219
|
-
|
7220
|
-
/**
|
7221
|
-
* Keeps track of bookmarks along the way.
|
7222
|
-
* @type Array
|
7223
|
-
* @property _marks
|
7224
|
-
* @private
|
7225
|
-
*/
|
7226
6361
|
this._marks = [];
|
7227
|
-
|
7228
|
-
/**
|
7229
|
-
* Holds the original property value.
|
7230
|
-
* @type parserlib.css.PropertyValue
|
7231
|
-
* @property value
|
7232
|
-
*/
|
7233
6362
|
this.value = value;
|
7234
6363
|
|
7235
6364
|
}
|
@@ -7242,81 +6371,29 @@ function PropertyValueIterator(value){
|
|
7242
6371
|
PropertyValueIterator.prototype.count = function(){
|
7243
6372
|
return this._parts.length;
|
7244
6373
|
};
|
7245
|
-
|
7246
|
-
/**
|
7247
|
-
* Indicates if the iterator is positioned at the first item.
|
7248
|
-
* @return {Boolean} True if positioned at first item, false if not.
|
7249
|
-
* @method isFirst
|
7250
|
-
*/
|
7251
6374
|
PropertyValueIterator.prototype.isFirst = function(){
|
7252
6375
|
return this._i === 0;
|
7253
6376
|
};
|
7254
|
-
|
7255
|
-
/**
|
7256
|
-
* Indicates if there are more parts of the property value.
|
7257
|
-
* @return {Boolean} True if there are more parts, false if not.
|
7258
|
-
* @method hasNext
|
7259
|
-
*/
|
7260
6377
|
PropertyValueIterator.prototype.hasNext = function(){
|
7261
6378
|
return (this._i < this._parts.length);
|
7262
6379
|
};
|
7263
|
-
|
7264
|
-
/**
|
7265
|
-
* Marks the current spot in the iteration so it can be restored to
|
7266
|
-
* later on.
|
7267
|
-
* @return {void}
|
7268
|
-
* @method mark
|
7269
|
-
*/
|
7270
6380
|
PropertyValueIterator.prototype.mark = function(){
|
7271
6381
|
this._marks.push(this._i);
|
7272
6382
|
};
|
7273
|
-
|
7274
|
-
/**
|
7275
|
-
* Returns the next part of the property value or null if there is no next
|
7276
|
-
* part. Does not move the internal counter forward.
|
7277
|
-
* @return {parserlib.css.PropertyValuePart} The next part of the property value or null if there is no next
|
7278
|
-
* part.
|
7279
|
-
* @method peek
|
7280
|
-
*/
|
7281
6383
|
PropertyValueIterator.prototype.peek = function(count){
|
7282
6384
|
return this.hasNext() ? this._parts[this._i + (count || 0)] : null;
|
7283
6385
|
};
|
7284
|
-
|
7285
|
-
/**
|
7286
|
-
* Returns the next part of the property value or null if there is no next
|
7287
|
-
* part.
|
7288
|
-
* @return {parserlib.css.PropertyValuePart} The next part of the property value or null if there is no next
|
7289
|
-
* part.
|
7290
|
-
* @method next
|
7291
|
-
*/
|
7292
6386
|
PropertyValueIterator.prototype.next = function(){
|
7293
6387
|
return this.hasNext() ? this._parts[this._i++] : null;
|
7294
6388
|
};
|
7295
|
-
|
7296
|
-
/**
|
7297
|
-
* Returns the previous part of the property value or null if there is no
|
7298
|
-
* previous part.
|
7299
|
-
* @return {parserlib.css.PropertyValuePart} The previous part of the
|
7300
|
-
* property value or null if there is no next part.
|
7301
|
-
* @method previous
|
7302
|
-
*/
|
7303
6389
|
PropertyValueIterator.prototype.previous = function(){
|
7304
6390
|
return this._i > 0 ? this._parts[--this._i] : null;
|
7305
6391
|
};
|
7306
|
-
|
7307
|
-
/**
|
7308
|
-
* Restores the last saved bookmark.
|
7309
|
-
* @return {void}
|
7310
|
-
* @method restore
|
7311
|
-
*/
|
7312
6392
|
PropertyValueIterator.prototype.restore = function(){
|
7313
6393
|
if (this._marks.length){
|
7314
6394
|
this._i = this._marks.pop();
|
7315
6395
|
}
|
7316
6396
|
};
|
7317
|
-
|
7318
|
-
|
7319
|
-
/*global SyntaxUnit, Parser, Colors*/
|
7320
6397
|
/**
|
7321
6398
|
* Represents a single part of a CSS property value, meaning that it represents
|
7322
6399
|
* just one part of the data between ":" and ";".
|
@@ -7331,12 +6408,6 @@ PropertyValueIterator.prototype.restore = function(){
|
|
7331
6408
|
function PropertyValuePart(text, line, col){
|
7332
6409
|
|
7333
6410
|
SyntaxUnit.call(this, text, line, col, Parser.PROPERTY_VALUE_PART_TYPE);
|
7334
|
-
|
7335
|
-
/**
|
7336
|
-
* Indicates the type of value unit.
|
7337
|
-
* @type String
|
7338
|
-
* @property type
|
7339
|
-
*/
|
7340
6411
|
this.type = "unknown";
|
7341
6412
|
|
7342
6413
|
//figure out what type of data it is
|
@@ -7476,16 +6547,6 @@ function PropertyValuePart(text, line, col){
|
|
7476
6547
|
|
7477
6548
|
PropertyValuePart.prototype = new SyntaxUnit();
|
7478
6549
|
PropertyValuePart.prototype.constructor = PropertyValuePart;
|
7479
|
-
|
7480
|
-
/**
|
7481
|
-
* Create a new syntax unit based solely on the given token.
|
7482
|
-
* Convenience method for creating a new syntax unit when
|
7483
|
-
* it represents a single token instead of multiple.
|
7484
|
-
* @param {Object} token The token object to represent.
|
7485
|
-
* @return {parserlib.css.PropertyValuePart} The object representing the token.
|
7486
|
-
* @static
|
7487
|
-
* @method fromToken
|
7488
|
-
*/
|
7489
6550
|
PropertyValuePart.fromToken = function(token){
|
7490
6551
|
return new PropertyValuePart(token.value, token.startLine, token.startCol);
|
7491
6552
|
};
|
@@ -7502,7 +6563,6 @@ Pseudos.CLASS = 2;
|
|
7502
6563
|
Pseudos.isElement = function(pseudo){
|
7503
6564
|
return pseudo.indexOf("::") === 0 || Pseudos[pseudo.toLowerCase()] == Pseudos.ELEMENT;
|
7504
6565
|
};
|
7505
|
-
/*global SyntaxUnit, Parser, Specificity*/
|
7506
6566
|
/**
|
7507
6567
|
* Represents an entire single selector, including all parts but not
|
7508
6568
|
* including multiple selectors (those separated by commas).
|
@@ -7517,28 +6577,13 @@ Pseudos.isElement = function(pseudo){
|
|
7517
6577
|
function Selector(parts, line, col){
|
7518
6578
|
|
7519
6579
|
SyntaxUnit.call(this, parts.join(" "), line, col, Parser.SELECTOR_TYPE);
|
7520
|
-
|
7521
|
-
/**
|
7522
|
-
* The parts that make up the selector.
|
7523
|
-
* @type Array
|
7524
|
-
* @property parts
|
7525
|
-
*/
|
7526
6580
|
this.parts = parts;
|
7527
|
-
|
7528
|
-
/**
|
7529
|
-
* The specificity of the selector.
|
7530
|
-
* @type parserlib.css.Specificity
|
7531
|
-
* @property specificity
|
7532
|
-
*/
|
7533
6581
|
this.specificity = Specificity.calculate(this);
|
7534
6582
|
|
7535
6583
|
}
|
7536
6584
|
|
7537
6585
|
Selector.prototype = new SyntaxUnit();
|
7538
6586
|
Selector.prototype.constructor = Selector;
|
7539
|
-
|
7540
|
-
|
7541
|
-
/*global SyntaxUnit, Parser*/
|
7542
6587
|
/**
|
7543
6588
|
* Represents a single part of a selector string, meaning a single set of
|
7544
6589
|
* element name and modifiers. This does not include combinators such as
|
@@ -7558,30 +6603,13 @@ Selector.prototype.constructor = Selector;
|
|
7558
6603
|
function SelectorPart(elementName, modifiers, text, line, col){
|
7559
6604
|
|
7560
6605
|
SyntaxUnit.call(this, text, line, col, Parser.SELECTOR_PART_TYPE);
|
7561
|
-
|
7562
|
-
/**
|
7563
|
-
* The tag name of the element to which this part
|
7564
|
-
* of the selector affects.
|
7565
|
-
* @type String
|
7566
|
-
* @property elementName
|
7567
|
-
*/
|
7568
6606
|
this.elementName = elementName;
|
7569
|
-
|
7570
|
-
/**
|
7571
|
-
* The parts that come after the element name, such as class names, IDs,
|
7572
|
-
* pseudo classes/elements, etc.
|
7573
|
-
* @type Array
|
7574
|
-
* @property modifiers
|
7575
|
-
*/
|
7576
6607
|
this.modifiers = modifiers;
|
7577
6608
|
|
7578
6609
|
}
|
7579
6610
|
|
7580
6611
|
SelectorPart.prototype = new SyntaxUnit();
|
7581
6612
|
SelectorPart.prototype.constructor = SelectorPart;
|
7582
|
-
|
7583
|
-
|
7584
|
-
/*global SyntaxUnit, Parser*/
|
7585
6613
|
/**
|
7586
6614
|
* Represents a selector modifier string, meaning a class name, element name,
|
7587
6615
|
* element ID, pseudo rule, etc.
|
@@ -7597,28 +6625,13 @@ SelectorPart.prototype.constructor = SelectorPart;
|
|
7597
6625
|
function SelectorSubPart(text, type, line, col){
|
7598
6626
|
|
7599
6627
|
SyntaxUnit.call(this, text, line, col, Parser.SELECTOR_SUB_PART_TYPE);
|
7600
|
-
|
7601
|
-
/**
|
7602
|
-
* The type of modifier.
|
7603
|
-
* @type String
|
7604
|
-
* @property type
|
7605
|
-
*/
|
7606
6628
|
this.type = type;
|
7607
|
-
|
7608
|
-
/**
|
7609
|
-
* Some subparts have arguments, this represents them.
|
7610
|
-
* @type Array
|
7611
|
-
* @property args
|
7612
|
-
*/
|
7613
6629
|
this.args = [];
|
7614
6630
|
|
7615
6631
|
}
|
7616
6632
|
|
7617
6633
|
SelectorSubPart.prototype = new SyntaxUnit();
|
7618
6634
|
SelectorSubPart.prototype.constructor = SelectorSubPart;
|
7619
|
-
|
7620
|
-
|
7621
|
-
/*global Pseudos, SelectorPart*/
|
7622
6635
|
/**
|
7623
6636
|
* Represents a selector's specificity.
|
7624
6637
|
* @namespace parserlib.css
|
@@ -7679,14 +6692,6 @@ Specificity.prototype = {
|
|
7679
6692
|
}
|
7680
6693
|
|
7681
6694
|
};
|
7682
|
-
|
7683
|
-
/**
|
7684
|
-
* Calculates the specificity of the given selector.
|
7685
|
-
* @param {parserlib.css.Selector} The selector to calculate specificity for.
|
7686
|
-
* @return {parserlib.css.Specificity} The specificity of the selector.
|
7687
|
-
* @static
|
7688
|
-
* @method calculate
|
7689
|
-
*/
|
7690
6695
|
Specificity.calculate = function(selector){
|
7691
6696
|
|
7692
6697
|
var i, len,
|
@@ -7742,8 +6747,6 @@ Specificity.calculate = function(selector){
|
|
7742
6747
|
return new Specificity(0, b, c, d);
|
7743
6748
|
};
|
7744
6749
|
|
7745
|
-
/*global Tokens, TokenStreamBase*/
|
7746
|
-
|
7747
6750
|
var h = /^[0-9a-fA-F]$/,
|
7748
6751
|
nonascii = /^[\u0080-\uFFFF]$/,
|
7749
6752
|
nl = /\n|\r\n|\r|\f/;
|
@@ -7845,16 +6848,6 @@ TokenStream.prototype = mix(new TokenStreamBase(), {
|
|
7845
6848
|
token = this.charToken(c, startLine, startCol);
|
7846
6849
|
}
|
7847
6850
|
break;
|
7848
|
-
|
7849
|
-
/*
|
7850
|
-
* Potential tokens:
|
7851
|
-
* - DASHMATCH
|
7852
|
-
* - INCLUDES
|
7853
|
-
* - PREFIXMATCH
|
7854
|
-
* - SUFFIXMATCH
|
7855
|
-
* - SUBSTRINGMATCH
|
7856
|
-
* - CHAR
|
7857
|
-
*/
|
7858
6851
|
case "|":
|
7859
6852
|
case "~":
|
7860
6853
|
case "^":
|
@@ -7866,22 +6859,10 @@ TokenStream.prototype = mix(new TokenStreamBase(), {
|
|
7866
6859
|
token = this.charToken(c, startLine, startCol);
|
7867
6860
|
}
|
7868
6861
|
break;
|
7869
|
-
|
7870
|
-
/*
|
7871
|
-
* Potential tokens:
|
7872
|
-
* - STRING
|
7873
|
-
* - INVALID
|
7874
|
-
*/
|
7875
6862
|
case "\"":
|
7876
6863
|
case "'":
|
7877
6864
|
token = this.stringToken(c, startLine, startCol);
|
7878
6865
|
break;
|
7879
|
-
|
7880
|
-
/*
|
7881
|
-
* Potential tokens:
|
7882
|
-
* - HASH
|
7883
|
-
* - CHAR
|
7884
|
-
*/
|
7885
6866
|
case "#":
|
7886
6867
|
if (isNameChar(reader.peek())){
|
7887
6868
|
token = this.hashToken(c, startLine, startCol);
|
@@ -7889,14 +6870,6 @@ TokenStream.prototype = mix(new TokenStreamBase(), {
|
|
7889
6870
|
token = this.charToken(c, startLine, startCol);
|
7890
6871
|
}
|
7891
6872
|
break;
|
7892
|
-
|
7893
|
-
/*
|
7894
|
-
* Potential tokens:
|
7895
|
-
* - DOT
|
7896
|
-
* - NUMBER
|
7897
|
-
* - DIMENSION
|
7898
|
-
* - PERCENTAGE
|
7899
|
-
*/
|
7900
6873
|
case ".":
|
7901
6874
|
if (isDigit(reader.peek())){
|
7902
6875
|
token = this.numberToken(c, startLine, startCol);
|
@@ -7904,15 +6877,6 @@ TokenStream.prototype = mix(new TokenStreamBase(), {
|
|
7904
6877
|
token = this.charToken(c, startLine, startCol);
|
7905
6878
|
}
|
7906
6879
|
break;
|
7907
|
-
|
7908
|
-
/*
|
7909
|
-
* Potential tokens:
|
7910
|
-
* - CDC
|
7911
|
-
* - MINUS
|
7912
|
-
* - NUMBER
|
7913
|
-
* - DIMENSION
|
7914
|
-
* - PERCENTAGE
|
7915
|
-
*/
|
7916
6880
|
case "-":
|
7917
6881
|
if (reader.peek() == "-"){ //could be closing HTML-style comment
|
7918
6882
|
token = this.htmlCommentEndToken(c, startLine, startCol);
|
@@ -7922,47 +6886,18 @@ TokenStream.prototype = mix(new TokenStreamBase(), {
|
|
7922
6886
|
token = this.charToken(c, startLine, startCol);
|
7923
6887
|
}
|
7924
6888
|
break;
|
7925
|
-
|
7926
|
-
/*
|
7927
|
-
* Potential tokens:
|
7928
|
-
* - IMPORTANT_SYM
|
7929
|
-
* - CHAR
|
7930
|
-
*/
|
7931
6889
|
case "!":
|
7932
6890
|
token = this.importantToken(c, startLine, startCol);
|
7933
6891
|
break;
|
7934
|
-
|
7935
|
-
/*
|
7936
|
-
* Any at-keyword or CHAR
|
7937
|
-
*/
|
7938
6892
|
case "@":
|
7939
6893
|
token = this.atRuleToken(c, startLine, startCol);
|
7940
6894
|
break;
|
7941
|
-
|
7942
|
-
/*
|
7943
|
-
* Potential tokens:
|
7944
|
-
* - NOT
|
7945
|
-
* - CHAR
|
7946
|
-
*/
|
7947
6895
|
case ":":
|
7948
6896
|
token = this.notToken(c, startLine, startCol);
|
7949
6897
|
break;
|
7950
|
-
|
7951
|
-
/*
|
7952
|
-
* Potential tokens:
|
7953
|
-
* - CDO
|
7954
|
-
* - CHAR
|
7955
|
-
*/
|
7956
6898
|
case "<":
|
7957
6899
|
token = this.htmlCommentStartToken(c, startLine, startCol);
|
7958
6900
|
break;
|
7959
|
-
|
7960
|
-
/*
|
7961
|
-
* Potential tokens:
|
7962
|
-
* - UNICODE_RANGE
|
7963
|
-
* - URL
|
7964
|
-
* - CHAR
|
7965
|
-
*/
|
7966
6901
|
case "U":
|
7967
6902
|
case "u":
|
7968
6903
|
if (reader.peek() == "+"){
|
@@ -8086,14 +7021,6 @@ TokenStream.prototype = mix(new TokenStreamBase(), {
|
|
8086
7021
|
valid = false,
|
8087
7022
|
ident,
|
8088
7023
|
c;
|
8089
|
-
|
8090
|
-
/*
|
8091
|
-
* First, mark where we are. There are only four @ rules,
|
8092
|
-
* so anything else is really just an invalid token.
|
8093
|
-
* Basically, if this doesn't match one of the known @
|
8094
|
-
* rules, just return '@' as an unknown token and allow
|
8095
|
-
* parsing to continue after that point.
|
8096
|
-
*/
|
8097
7024
|
reader.mark();
|
8098
7025
|
|
8099
7026
|
//try to find the at-keyword
|
@@ -9118,15 +8045,6 @@ var Validation = {
|
|
9118
8045
|
|
9119
8046
|
|
9120
8047
|
};
|
9121
|
-
/**
|
9122
|
-
* Type to use when a validation error occurs.
|
9123
|
-
* @class ValidationError
|
9124
|
-
* @namespace parserlib.util
|
9125
|
-
* @constructor
|
9126
|
-
* @param {String} message The error message.
|
9127
|
-
* @param {int} line The line at which the error occurred.
|
9128
|
-
* @param {int} col The column at which the error occurred.
|
9129
|
-
*/
|
9130
8048
|
function ValidationError(message, line, col){
|
9131
8049
|
|
9132
8050
|
/**
|
@@ -9135,19 +8053,7 @@ function ValidationError(message, line, col){
|
|
9135
8053
|
* @property col
|
9136
8054
|
*/
|
9137
8055
|
this.col = col;
|
9138
|
-
|
9139
|
-
/**
|
9140
|
-
* The line at which the error occurred.
|
9141
|
-
* @type int
|
9142
|
-
* @property line
|
9143
|
-
*/
|
9144
8056
|
this.line = line;
|
9145
|
-
|
9146
|
-
/**
|
9147
|
-
* The text representation of the unit.
|
9148
|
-
* @type String
|
9149
|
-
* @property text
|
9150
|
-
*/
|
9151
8057
|
this.message = message;
|
9152
8058
|
|
9153
8059
|
}
|
@@ -9504,15 +8410,6 @@ Tokens :Tokens,
|
|
9504
8410
|
ValidationError :ValidationError
|
9505
8411
|
};
|
9506
8412
|
})();
|
9507
|
-
|
9508
|
-
|
9509
|
-
|
9510
|
-
/**
|
9511
|
-
* Main CSSLint object.
|
9512
|
-
* @class CSSLint
|
9513
|
-
* @static
|
9514
|
-
* @extends parserlib.util.EventTarget
|
9515
|
-
*/
|
9516
8413
|
/*global parserlib, Reporter*/
|
9517
8414
|
var CSSLint = (function(){
|
9518
8415
|
|
@@ -9535,20 +8432,9 @@ var CSSLint = (function(){
|
|
9535
8432
|
rules.push(rule);
|
9536
8433
|
rules[rule.id] = rule;
|
9537
8434
|
};
|
9538
|
-
|
9539
|
-
/**
|
9540
|
-
* Clears all rule from the engine.
|
9541
|
-
* @method clearRules
|
9542
|
-
*/
|
9543
8435
|
api.clearRules = function(){
|
9544
8436
|
rules = [];
|
9545
8437
|
};
|
9546
|
-
|
9547
|
-
/**
|
9548
|
-
* Returns the rule objects.
|
9549
|
-
* @return An array of rule objects.
|
9550
|
-
* @method getRules
|
9551
|
-
*/
|
9552
8438
|
api.getRules = function(){
|
9553
8439
|
return [].concat(rules).sort(function(a,b){
|
9554
8440
|
return a.id > b.id ? 1 : 0;
|
@@ -9568,26 +8454,9 @@ var CSSLint = (function(){
|
|
9568
8454
|
// formatters.push(formatter);
|
9569
8455
|
formatters[formatter.id] = formatter;
|
9570
8456
|
};
|
9571
|
-
|
9572
|
-
/**
|
9573
|
-
* Retrieves a formatter for use.
|
9574
|
-
* @param {String} formatId The name of the format to retrieve.
|
9575
|
-
* @return {Object} The formatter or undefined.
|
9576
|
-
* @method getFormatter
|
9577
|
-
*/
|
9578
8457
|
api.getFormatter = function(formatId){
|
9579
8458
|
return formatters[formatId];
|
9580
8459
|
};
|
9581
|
-
|
9582
|
-
/**
|
9583
|
-
* Formats the results in a particular format for a single file.
|
9584
|
-
* @param {Object} result The results returned from CSSLint.verify().
|
9585
|
-
* @param {String} filename The filename for which the results apply.
|
9586
|
-
* @param {String} formatId The name of the formatter to use.
|
9587
|
-
* @param {Object} options (Optional) for special output handling.
|
9588
|
-
* @return {String} A formatted string for the results.
|
9589
|
-
* @method format
|
9590
|
-
*/
|
9591
8460
|
api.format = function(results, filename, formatId, options) {
|
9592
8461
|
var formatter = this.getFormatter(formatId),
|
9593
8462
|
result = null;
|
@@ -9600,13 +8469,6 @@ var CSSLint = (function(){
|
|
9600
8469
|
|
9601
8470
|
return result;
|
9602
8471
|
};
|
9603
|
-
|
9604
|
-
/**
|
9605
|
-
* Indicates if the given format is supported.
|
9606
|
-
* @param {String} formatId The ID of the format to check.
|
9607
|
-
* @return {Boolean} True if the format exists, false if not.
|
9608
|
-
* @method hasFormat
|
9609
|
-
*/
|
9610
8472
|
api.hasFormat = function(formatId){
|
9611
8473
|
return formatters.hasOwnProperty(formatId);
|
9612
8474
|
};
|
@@ -9688,8 +8550,6 @@ var CSSLint = (function(){
|
|
9688
8550
|
return api;
|
9689
8551
|
|
9690
8552
|
})();
|
9691
|
-
|
9692
|
-
/*global CSSLint*/
|
9693
8553
|
/**
|
9694
8554
|
* An instance of Report is used to report results of the
|
9695
8555
|
* verification back to the main API.
|
@@ -9707,28 +8567,8 @@ function Reporter(lines, ruleset){
|
|
9707
8567
|
* @type String[]
|
9708
8568
|
*/
|
9709
8569
|
this.messages = [];
|
9710
|
-
|
9711
|
-
/**
|
9712
|
-
* List of statistics being reported.
|
9713
|
-
* @property stats
|
9714
|
-
* @type String[]
|
9715
|
-
*/
|
9716
8570
|
this.stats = [];
|
9717
|
-
|
9718
|
-
/**
|
9719
|
-
* Lines of code being reported on. Used to provide contextual information
|
9720
|
-
* for messages.
|
9721
|
-
* @property lines
|
9722
|
-
* @type String[]
|
9723
|
-
*/
|
9724
8571
|
this.lines = lines;
|
9725
|
-
|
9726
|
-
/**
|
9727
|
-
* Information about the rules. Used to determine whether an issue is an
|
9728
|
-
* error or warning.
|
9729
|
-
* @property ruleset
|
9730
|
-
* @type Object
|
9731
|
-
*/
|
9732
8572
|
this.ruleset = ruleset;
|
9733
8573
|
}
|
9734
8574
|
|
@@ -9851,8 +8691,6 @@ Reporter.prototype = {
|
|
9851
8691
|
//expose for testing purposes
|
9852
8692
|
CSSLint._Reporter = Reporter;
|
9853
8693
|
|
9854
|
-
/*global CSSLint*/
|
9855
|
-
|
9856
8694
|
/*
|
9857
8695
|
* Utility functions that make life easier.
|
9858
8696
|
*/
|
@@ -9912,7 +8750,6 @@ CSSLint.Util = {
|
|
9912
8750
|
}
|
9913
8751
|
}
|
9914
8752
|
};
|
9915
|
-
/*global CSSLint*/
|
9916
8753
|
/*
|
9917
8754
|
* Rule: Don't use adjoining classes (.foo.bar).
|
9918
8755
|
*/
|
@@ -9957,7 +8794,6 @@ CSSLint.addRule({
|
|
9957
8794
|
}
|
9958
8795
|
|
9959
8796
|
});
|
9960
|
-
/*global CSSLint*/
|
9961
8797
|
|
9962
8798
|
/*
|
9963
8799
|
* Rule: Don't use width or height when using padding or border.
|
@@ -10050,7 +8886,6 @@ CSSLint.addRule({
|
|
10050
8886
|
}
|
10051
8887
|
|
10052
8888
|
});
|
10053
|
-
/*global CSSLint*/
|
10054
8889
|
|
10055
8890
|
/*
|
10056
8891
|
* Rule: box-sizing doesn't work in IE6 and IE7.
|
@@ -10078,10 +8913,6 @@ CSSLint.addRule({
|
|
10078
8913
|
}
|
10079
8914
|
|
10080
8915
|
});
|
10081
|
-
/*
|
10082
|
-
* Rule: Include all compatible vendor prefixes to reach a wider
|
10083
|
-
* range of users.
|
10084
|
-
*/
|
10085
8916
|
/*global CSSLint*/
|
10086
8917
|
CSSLint.addRule({
|
10087
8918
|
|
@@ -10249,13 +9080,6 @@ CSSLint.addRule({
|
|
10249
9080
|
});
|
10250
9081
|
}
|
10251
9082
|
});
|
10252
|
-
/*
|
10253
|
-
* Rule: Certain properties don't play well with certain display values.
|
10254
|
-
* - float should not be used with inline-block
|
10255
|
-
* - height, width, margin-top, margin-bottom, float should not be used with inline
|
10256
|
-
* - vertical-align should not be used with block
|
10257
|
-
* - margin, float should not be used with table-*
|
10258
|
-
*/
|
10259
9083
|
/*global CSSLint*/
|
10260
9084
|
CSSLint.addRule({
|
10261
9085
|
|
@@ -10366,9 +9190,6 @@ CSSLint.addRule({
|
|
10366
9190
|
}
|
10367
9191
|
|
10368
9192
|
});
|
10369
|
-
/*
|
10370
|
-
* Rule: Disallow duplicate background-images (using url).
|
10371
|
-
*/
|
10372
9193
|
/*global CSSLint*/
|
10373
9194
|
CSSLint.addRule({
|
10374
9195
|
|
@@ -10403,10 +9224,6 @@ CSSLint.addRule({
|
|
10403
9224
|
});
|
10404
9225
|
}
|
10405
9226
|
});
|
10406
|
-
/*
|
10407
|
-
* Rule: Duplicate properties must appear one after the other. If an already-defined
|
10408
|
-
* property appears somewhere else in the rule, then it's likely an error.
|
10409
|
-
*/
|
10410
9227
|
/*global CSSLint*/
|
10411
9228
|
CSSLint.addRule({
|
10412
9229
|
|
@@ -10449,9 +9266,6 @@ CSSLint.addRule({
|
|
10449
9266
|
}
|
10450
9267
|
|
10451
9268
|
});
|
10452
|
-
/*
|
10453
|
-
* Rule: Style rules without any properties defined should be removed.
|
10454
|
-
*/
|
10455
9269
|
/*global CSSLint*/
|
10456
9270
|
CSSLint.addRule({
|
10457
9271
|
|
@@ -10483,9 +9297,6 @@ CSSLint.addRule({
|
|
10483
9297
|
}
|
10484
9298
|
|
10485
9299
|
});
|
10486
|
-
/*
|
10487
|
-
* Rule: There should be no syntax errors. (Duh.)
|
10488
|
-
*/
|
10489
9300
|
/*global CSSLint*/
|
10490
9301
|
CSSLint.addRule({
|
10491
9302
|
|
@@ -10506,8 +9317,6 @@ CSSLint.addRule({
|
|
10506
9317
|
}
|
10507
9318
|
|
10508
9319
|
});
|
10509
|
-
|
10510
|
-
/*global CSSLint*/
|
10511
9320
|
CSSLint.addRule({
|
10512
9321
|
|
10513
9322
|
//rule information
|
@@ -10573,10 +9382,6 @@ CSSLint.addRule({
|
|
10573
9382
|
}
|
10574
9383
|
|
10575
9384
|
});
|
10576
|
-
/*
|
10577
|
-
* Rule: You shouldn't use more than 10 floats. If you do, there's probably
|
10578
|
-
* room for some abstraction.
|
10579
|
-
*/
|
10580
9385
|
/*global CSSLint*/
|
10581
9386
|
CSSLint.addRule({
|
10582
9387
|
|
@@ -10609,9 +9414,6 @@ CSSLint.addRule({
|
|
10609
9414
|
}
|
10610
9415
|
|
10611
9416
|
});
|
10612
|
-
/*
|
10613
|
-
* Rule: Avoid too many @font-face declarations in the same stylesheet.
|
10614
|
-
*/
|
10615
9417
|
/*global CSSLint*/
|
10616
9418
|
CSSLint.addRule({
|
10617
9419
|
|
@@ -10639,9 +9441,6 @@ CSSLint.addRule({
|
|
10639
9441
|
}
|
10640
9442
|
|
10641
9443
|
});
|
10642
|
-
/*
|
10643
|
-
* Rule: You shouldn't need more than 9 font-size declarations.
|
10644
|
-
*/
|
10645
9444
|
|
10646
9445
|
/*global CSSLint*/
|
10647
9446
|
CSSLint.addRule({
|
@@ -10674,9 +9473,6 @@ CSSLint.addRule({
|
|
10674
9473
|
}
|
10675
9474
|
|
10676
9475
|
});
|
10677
|
-
/*
|
10678
|
-
* Rule: When using a vendor-prefixed gradient, make sure to use them all.
|
10679
|
-
*/
|
10680
9476
|
/*global CSSLint*/
|
10681
9477
|
CSSLint.addRule({
|
10682
9478
|
|
@@ -10743,9 +9539,6 @@ CSSLint.addRule({
|
|
10743
9539
|
}
|
10744
9540
|
|
10745
9541
|
});
|
10746
|
-
/*
|
10747
|
-
* Rule: Don't use IDs for selectors.
|
10748
|
-
*/
|
10749
9542
|
/*global CSSLint*/
|
10750
9543
|
CSSLint.addRule({
|
10751
9544
|
|
@@ -10793,9 +9586,6 @@ CSSLint.addRule({
|
|
10793
9586
|
}
|
10794
9587
|
|
10795
9588
|
});
|
10796
|
-
/*
|
10797
|
-
* Rule: Don't use @import, use <link> instead.
|
10798
|
-
*/
|
10799
9589
|
/*global CSSLint*/
|
10800
9590
|
CSSLint.addRule({
|
10801
9591
|
|
@@ -10816,11 +9606,6 @@ CSSLint.addRule({
|
|
10816
9606
|
}
|
10817
9607
|
|
10818
9608
|
});
|
10819
|
-
/*
|
10820
|
-
* Rule: Make sure !important is not overused, this could lead to specificity
|
10821
|
-
* war. Display a warning on !important declarations, an error if it's
|
10822
|
-
* used more at least 10 times.
|
10823
|
-
*/
|
10824
9609
|
/*global CSSLint*/
|
10825
9610
|
CSSLint.addRule({
|
10826
9611
|
|
@@ -10853,10 +9638,6 @@ CSSLint.addRule({
|
|
10853
9638
|
}
|
10854
9639
|
|
10855
9640
|
});
|
10856
|
-
/*
|
10857
|
-
* Rule: Properties should be known (listed in CSS3 specification) or
|
10858
|
-
* be a vendor-prefixed property.
|
10859
|
-
*/
|
10860
9641
|
/*global CSSLint*/
|
10861
9642
|
CSSLint.addRule({
|
10862
9643
|
|
@@ -11170,10 +9951,6 @@ CSSLint.addRule({
|
|
11170
9951
|
}
|
11171
9952
|
|
11172
9953
|
});
|
11173
|
-
/*
|
11174
|
-
* Rule: outline: none or outline: 0 should only be used in a :focus rule
|
11175
|
-
* and only if there are other properties in the same rule.
|
11176
|
-
*/
|
11177
9954
|
/*global CSSLint*/
|
11178
9955
|
CSSLint.addRule({
|
11179
9956
|
|
@@ -11243,9 +10020,6 @@ CSSLint.addRule({
|
|
11243
10020
|
}
|
11244
10021
|
|
11245
10022
|
});
|
11246
|
-
/*
|
11247
|
-
* Rule: Don't use classes or IDs with elements (a.foo or a#foo).
|
11248
|
-
*/
|
11249
10023
|
/*global CSSLint*/
|
11250
10024
|
CSSLint.addRule({
|
11251
10025
|
|
@@ -11306,9 +10080,6 @@ CSSLint.addRule({
|
|
11306
10080
|
}
|
11307
10081
|
|
11308
10082
|
});
|
11309
|
-
/*
|
11310
|
-
* Rule: Headings (h1-h6) should not be qualified (namespaced).
|
11311
|
-
*/
|
11312
10083
|
/*global CSSLint*/
|
11313
10084
|
CSSLint.addRule({
|
11314
10085
|
|
@@ -11344,9 +10115,6 @@ CSSLint.addRule({
|
|
11344
10115
|
}
|
11345
10116
|
|
11346
10117
|
});
|
11347
|
-
/*
|
11348
|
-
* Rule: Selectors that look like regular expressions are slow and should be avoided.
|
11349
|
-
*/
|
11350
10118
|
/*global CSSLint*/
|
11351
10119
|
CSSLint.addRule({
|
11352
10120
|
|
@@ -11388,9 +10156,6 @@ CSSLint.addRule({
|
|
11388
10156
|
}
|
11389
10157
|
|
11390
10158
|
});
|
11391
|
-
/*
|
11392
|
-
* Rule: Total number of rules should not exceed x.
|
11393
|
-
*/
|
11394
10159
|
/*global CSSLint*/
|
11395
10160
|
CSSLint.addRule({
|
11396
10161
|
|
@@ -11416,10 +10181,6 @@ CSSLint.addRule({
|
|
11416
10181
|
}
|
11417
10182
|
|
11418
10183
|
});
|
11419
|
-
/*
|
11420
|
-
* Rule: Use shorthand properties where possible.
|
11421
|
-
*
|
11422
|
-
*/
|
11423
10184
|
/*global CSSLint*/
|
11424
10185
|
CSSLint.addRule({
|
11425
10186
|
|
@@ -11503,10 +10264,6 @@ CSSLint.addRule({
|
|
11503
10264
|
}
|
11504
10265
|
|
11505
10266
|
});
|
11506
|
-
/*
|
11507
|
-
* Rule: Don't use text-indent for image replacement if you need to support rtl.
|
11508
|
-
*
|
11509
|
-
*/
|
11510
10267
|
/*global CSSLint*/
|
11511
10268
|
CSSLint.addRule({
|
11512
10269
|
|
@@ -11554,9 +10311,6 @@ CSSLint.addRule({
|
|
11554
10311
|
}
|
11555
10312
|
|
11556
10313
|
});
|
11557
|
-
/*
|
11558
|
-
* Rule: Headings (h1-h6) should be defined only once.
|
11559
|
-
*/
|
11560
10314
|
/*global CSSLint*/
|
11561
10315
|
CSSLint.addRule({
|
11562
10316
|
|
@@ -11628,9 +10382,6 @@ CSSLint.addRule({
|
|
11628
10382
|
}
|
11629
10383
|
|
11630
10384
|
});
|
11631
|
-
/*
|
11632
|
-
* Rule: Don't use universal selector because it's slow.
|
11633
|
-
*/
|
11634
10385
|
/*global CSSLint*/
|
11635
10386
|
CSSLint.addRule({
|
11636
10387
|
|
@@ -11663,9 +10414,6 @@ CSSLint.addRule({
|
|
11663
10414
|
}
|
11664
10415
|
|
11665
10416
|
});
|
11666
|
-
/*
|
11667
|
-
* Rule: Don't use unqualified attribute selectors because they're just like universal selectors.
|
11668
|
-
*/
|
11669
10417
|
/*global CSSLint*/
|
11670
10418
|
CSSLint.addRule({
|
11671
10419
|
|
@@ -11705,10 +10453,6 @@ CSSLint.addRule({
|
|
11705
10453
|
}
|
11706
10454
|
|
11707
10455
|
});
|
11708
|
-
/*
|
11709
|
-
* Rule: When using a vendor-prefixed property, make sure to
|
11710
|
-
* include the standard one.
|
11711
|
-
*/
|
11712
10456
|
/*global CSSLint*/
|
11713
10457
|
CSSLint.addRule({
|
11714
10458
|
|
@@ -11848,9 +10592,6 @@ CSSLint.addRule({
|
|
11848
10592
|
}
|
11849
10593
|
|
11850
10594
|
});
|
11851
|
-
/*
|
11852
|
-
* Rule: You don't need to specify units when a value is 0.
|
11853
|
-
*/
|
11854
10595
|
/*global CSSLint*/
|
11855
10596
|
CSSLint.addRule({
|
11856
10597
|
|
@@ -11882,7 +10623,6 @@ CSSLint.addRule({
|
|
11882
10623
|
}
|
11883
10624
|
|
11884
10625
|
});
|
11885
|
-
/*global CSSLint*/
|
11886
10626
|
CSSLint.addFormatter({
|
11887
10627
|
//format information
|
11888
10628
|
id: "checkstyle-xml",
|
@@ -11914,32 +10654,12 @@ CSSLint.addFormatter({
|
|
11914
10654
|
formatResults: function(results, filename, options) {
|
11915
10655
|
var messages = results.messages,
|
11916
10656
|
output = [];
|
11917
|
-
|
11918
|
-
/**
|
11919
|
-
* Generate a source string for a rule.
|
11920
|
-
* Checkstyle source strings usually resemble Java class names e.g
|
11921
|
-
* net.csslint.SomeRuleName
|
11922
|
-
* @param {Object} rule
|
11923
|
-
* @return rule source as {String}
|
11924
|
-
*/
|
11925
10657
|
var generateSource = function(rule) {
|
11926
10658
|
if (!rule || !('name' in rule)) {
|
11927
10659
|
return "";
|
11928
10660
|
}
|
11929
10661
|
return 'net.csslint.' + rule.name.replace(/\s/g,'');
|
11930
10662
|
};
|
11931
|
-
|
11932
|
-
/**
|
11933
|
-
* Replace special characters before write to output.
|
11934
|
-
*
|
11935
|
-
* Rules:
|
11936
|
-
* - single quotes is the escape sequence for double-quotes
|
11937
|
-
* - < is the escape sequence for <
|
11938
|
-
* - > is the escape sequence for >
|
11939
|
-
*
|
11940
|
-
* @param {String} message to escape
|
11941
|
-
* @return escaped message as {String}
|
11942
|
-
*/
|
11943
10663
|
var escapeSpecialCharacters = function(str) {
|
11944
10664
|
if (!str || str.constructor !== String) {
|
11945
10665
|
return "";
|
@@ -11962,7 +10682,6 @@ CSSLint.addFormatter({
|
|
11962
10682
|
return output.join("");
|
11963
10683
|
}
|
11964
10684
|
});
|
11965
|
-
/*global CSSLint*/
|
11966
10685
|
CSSLint.addFormatter({
|
11967
10686
|
//format information
|
11968
10687
|
id: "compact",
|
@@ -11995,12 +10714,6 @@ CSSLint.addFormatter({
|
|
11995
10714
|
var messages = results.messages,
|
11996
10715
|
output = "";
|
11997
10716
|
options = options || {};
|
11998
|
-
|
11999
|
-
/**
|
12000
|
-
* Capitalize and return given string.
|
12001
|
-
* @param str {String} to capitalize
|
12002
|
-
* @return {String} capitalized
|
12003
|
-
*/
|
12004
10717
|
var capitalize = function(str) {
|
12005
10718
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
12006
10719
|
};
|
@@ -12021,7 +10734,6 @@ CSSLint.addFormatter({
|
|
12021
10734
|
return output;
|
12022
10735
|
}
|
12023
10736
|
});
|
12024
|
-
/*global CSSLint*/
|
12025
10737
|
CSSLint.addFormatter({
|
12026
10738
|
//format information
|
12027
10739
|
id: "csslint-xml",
|
@@ -12053,18 +10765,6 @@ CSSLint.addFormatter({
|
|
12053
10765
|
formatResults: function(results, filename, options) {
|
12054
10766
|
var messages = results.messages,
|
12055
10767
|
output = [];
|
12056
|
-
|
12057
|
-
/**
|
12058
|
-
* Replace special characters before write to output.
|
12059
|
-
*
|
12060
|
-
* Rules:
|
12061
|
-
* - single quotes is the escape sequence for double-quotes
|
12062
|
-
* - < is the escape sequence for <
|
12063
|
-
* - > is the escape sequence for >
|
12064
|
-
*
|
12065
|
-
* @param {String} message to escape
|
12066
|
-
* @return escaped message as {String}
|
12067
|
-
*/
|
12068
10768
|
var escapeSpecialCharacters = function(str) {
|
12069
10769
|
if (!str || str.constructor !== String) {
|
12070
10770
|
return "";
|
@@ -12088,7 +10788,6 @@ CSSLint.addFormatter({
|
|
12088
10788
|
return output.join("");
|
12089
10789
|
}
|
12090
10790
|
});
|
12091
|
-
/*global CSSLint*/
|
12092
10791
|
CSSLint.addFormatter({
|
12093
10792
|
//format information
|
12094
10793
|
id: "lint-xml",
|
@@ -12120,18 +10819,6 @@ CSSLint.addFormatter({
|
|
12120
10819
|
formatResults: function(results, filename, options) {
|
12121
10820
|
var messages = results.messages,
|
12122
10821
|
output = [];
|
12123
|
-
|
12124
|
-
/**
|
12125
|
-
* Replace special characters before write to output.
|
12126
|
-
*
|
12127
|
-
* Rules:
|
12128
|
-
* - single quotes is the escape sequence for double-quotes
|
12129
|
-
* - < is the escape sequence for <
|
12130
|
-
* - > is the escape sequence for >
|
12131
|
-
*
|
12132
|
-
* @param {String} message to escape
|
12133
|
-
* @return escaped message as {String}
|
12134
|
-
*/
|
12135
10822
|
var escapeSpecialCharacters = function(str) {
|
12136
10823
|
if (!str || str.constructor !== String) {
|
12137
10824
|
return "";
|
@@ -12156,7 +10843,6 @@ CSSLint.addFormatter({
|
|
12156
10843
|
return output.join("");
|
12157
10844
|
}
|
12158
10845
|
});
|
12159
|
-
/*global CSSLint*/
|
12160
10846
|
CSSLint.addFormatter({
|
12161
10847
|
//format information
|
12162
10848
|
id: "text",
|