ace-rails-ap 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +1 -1
  3. data/lib/ace/rails/version.rb +1 -1
  4. data/vendor/assets/javascripts/ace/ace.js +6911 -5290
  5. data/vendor/assets/javascripts/ace/ext-chromevox.js +537 -0
  6. data/vendor/assets/javascripts/ace/ext-elastic_tabstops_lite.js +301 -0
  7. data/vendor/assets/javascripts/ace/ext-emmet.js +1109 -0
  8. data/vendor/assets/javascripts/ace/ext-keybinding_menu.js +207 -0
  9. data/vendor/assets/javascripts/ace/ext-language_tools.js +1665 -0
  10. data/vendor/assets/javascripts/ace/ext-modelist.js +168 -0
  11. data/vendor/assets/javascripts/ace/ext-old_ie.js +500 -0
  12. data/vendor/assets/javascripts/ace/ext-options.js +252 -0
  13. data/vendor/assets/javascripts/ace/ext-searchbox.js +421 -0
  14. data/vendor/assets/javascripts/ace/ext-settings_menu.js +632 -0
  15. data/vendor/assets/javascripts/ace/ext-spellcheck.js +68 -0
  16. data/vendor/assets/javascripts/ace/ext-split.js +271 -0
  17. data/vendor/assets/javascripts/ace/ext-static_highlight.js +178 -0
  18. data/vendor/assets/javascripts/ace/ext-statusbar.js +47 -0
  19. data/vendor/assets/javascripts/ace/ext-textarea.js +478 -0
  20. data/vendor/assets/javascripts/ace/ext-themelist.js +86 -0
  21. data/vendor/assets/javascripts/ace/ext-whitespace.js +206 -0
  22. data/vendor/assets/javascripts/ace/keybinding-emacs.js +822 -131
  23. data/vendor/assets/javascripts/ace/keybinding-vim.js +382 -258
  24. data/vendor/assets/javascripts/ace/mode-abap.js +261 -0
  25. data/vendor/assets/javascripts/ace/mode-actionscript.js +257 -0
  26. data/vendor/assets/javascripts/ace/mode-ada.js +118 -0
  27. data/vendor/assets/javascripts/ace/mode-asciidoc.js +373 -0
  28. data/vendor/assets/javascripts/ace/mode-assembly_x86.js +217 -0
  29. data/vendor/assets/javascripts/ace/mode-autohotkey.js +225 -0
  30. data/vendor/assets/javascripts/ace/mode-batchfile.js +213 -0
  31. data/vendor/assets/javascripts/ace/mode-c9search.js +144 -124
  32. data/vendor/assets/javascripts/ace/mode-c_cpp.js +296 -254
  33. data/vendor/assets/javascripts/ace/mode-clojure.js +113 -177
  34. data/vendor/assets/javascripts/ace/mode-cobol.js +125 -0
  35. data/vendor/assets/javascripts/ace/mode-coffee.js +152 -235
  36. data/vendor/assets/javascripts/ace/mode-coldfusion.js +823 -835
  37. data/vendor/assets/javascripts/ace/mode-csharp.js +325 -187
  38. data/vendor/assets/javascripts/ace/mode-css.js +583 -297
  39. data/vendor/assets/javascripts/ace/mode-curly.js +2423 -0
  40. data/vendor/assets/javascripts/ace/mode-d.js +492 -0
  41. data/vendor/assets/javascripts/ace/mode-dart.js +993 -0
  42. data/vendor/assets/javascripts/ace/mode-diff.js +124 -204
  43. data/vendor/assets/javascripts/ace/mode-django.js +2448 -0
  44. data/vendor/assets/javascripts/ace/mode-dot.js +361 -0
  45. data/vendor/assets/javascripts/ace/mode-ejs.js +2817 -0
  46. data/vendor/assets/javascripts/ace/mode-erlang.js +987 -0
  47. data/vendor/assets/javascripts/ace/mode-forth.js +280 -0
  48. data/vendor/assets/javascripts/ace/mode-ftl.js +1061 -0
  49. data/vendor/assets/javascripts/ace/mode-glsl.js +313 -275
  50. data/vendor/assets/javascripts/ace/mode-golang.js +268 -275
  51. data/vendor/assets/javascripts/ace/mode-groovy.js +347 -492
  52. data/vendor/assets/javascripts/ace/mode-haml.js +498 -0
  53. data/vendor/assets/javascripts/ace/mode-handlebars.js +2433 -0
  54. data/vendor/assets/javascripts/ace/mode-haskell.js +362 -0
  55. data/vendor/assets/javascripts/ace/mode-haxe.js +226 -202
  56. data/vendor/assets/javascripts/ace/mode-html.js +1099 -802
  57. data/vendor/assets/javascripts/ace/mode-html_completions.js +309 -0
  58. data/vendor/assets/javascripts/ace/mode-html_ruby.js +2822 -0
  59. data/vendor/assets/javascripts/ace/mode-ini.js +185 -0
  60. data/vendor/assets/javascripts/ace/mode-jack.js +653 -0
  61. data/vendor/assets/javascripts/ace/mode-jade.js +2081 -0
  62. data/vendor/assets/javascripts/ace/mode-java.js +339 -488
  63. data/vendor/assets/javascripts/ace/mode-javascript.js +342 -478
  64. data/vendor/assets/javascripts/ace/mode-json.js +215 -178
  65. data/vendor/assets/javascripts/ace/mode-jsoniq.js +2761 -0
  66. data/vendor/assets/javascripts/ace/mode-jsp.js +1553 -0
  67. data/vendor/assets/javascripts/ace/mode-jsx.js +325 -289
  68. data/vendor/assets/javascripts/ace/mode-julia.js +286 -0
  69. data/vendor/assets/javascripts/ace/mode-latex.js +141 -46
  70. data/vendor/assets/javascripts/ace/mode-less.js +493 -151
  71. data/vendor/assets/javascripts/ace/mode-liquid.js +594 -656
  72. data/vendor/assets/javascripts/ace/mode-lisp.js +137 -0
  73. data/vendor/assets/javascripts/ace/mode-livescript.js +288 -0
  74. data/vendor/assets/javascripts/ace/mode-logiql.js +669 -0
  75. data/vendor/assets/javascripts/ace/mode-lsl.js +890 -0
  76. data/vendor/assets/javascripts/ace/mode-lua.js +274 -368
  77. data/vendor/assets/javascripts/ace/mode-luapage.js +1331 -1107
  78. data/vendor/assets/javascripts/ace/mode-lucene.js +64 -0
  79. data/vendor/assets/javascripts/ace/mode-makefile.js +332 -0
  80. data/vendor/assets/javascripts/ace/mode-markdown.js +1303 -948
  81. data/vendor/assets/javascripts/ace/mode-matlab.js +230 -0
  82. data/vendor/assets/javascripts/ace/mode-mushcode.js +705 -0
  83. data/vendor/assets/javascripts/ace/mode-mushcode_high_rules.js +569 -0
  84. data/vendor/assets/javascripts/ace/mode-mysql.js +185 -0
  85. data/vendor/assets/javascripts/ace/mode-nix.js +935 -0
  86. data/vendor/assets/javascripts/ace/mode-objectivec.js +699 -0
  87. data/vendor/assets/javascripts/ace/mode-ocaml.js +44 -63
  88. data/vendor/assets/javascripts/ace/mode-pascal.js +233 -0
  89. data/vendor/assets/javascripts/ace/mode-perl.js +116 -189
  90. data/vendor/assets/javascripts/ace/mode-pgsql.js +886 -500
  91. data/vendor/assets/javascripts/ace/mode-php.js +1158 -380
  92. data/vendor/assets/javascripts/ace/mode-plain_text.js +56 -0
  93. data/vendor/assets/javascripts/ace/mode-powershell.js +222 -167
  94. data/vendor/assets/javascripts/ace/mode-prolog.js +354 -0
  95. data/vendor/assets/javascripts/ace/mode-properties.js +100 -0
  96. data/vendor/assets/javascripts/ace/mode-protobuf.js +885 -0
  97. data/vendor/assets/javascripts/ace/mode-python.js +99 -201
  98. data/vendor/assets/javascripts/ace/mode-r.js +337 -0
  99. data/vendor/assets/javascripts/ace/mode-rdoc.js +210 -0
  100. data/vendor/assets/javascripts/ace/mode-rhtml.js +2663 -0
  101. data/vendor/assets/javascripts/ace/mode-ruby.js +262 -136
  102. data/vendor/assets/javascripts/ace/mode-rust.js +245 -0
  103. data/vendor/assets/javascripts/ace/mode-sass.js +443 -0
  104. data/vendor/assets/javascripts/ace/mode-scad.js +225 -240
  105. data/vendor/assets/javascripts/ace/mode-scala.js +340 -494
  106. data/vendor/assets/javascripts/ace/mode-scheme.js +143 -0
  107. data/vendor/assets/javascripts/ace/mode-scss.js +499 -157
  108. data/vendor/assets/javascripts/ace/mode-sh.js +180 -110
  109. data/vendor/assets/javascripts/ace/mode-sjs.js +1154 -0
  110. data/vendor/assets/javascripts/ace/mode-snippets.js +198 -0
  111. data/vendor/assets/javascripts/ace/mode-soy_template.js +2707 -0
  112. data/vendor/assets/javascripts/ace/mode-space.js +160 -0
  113. data/vendor/assets/javascripts/ace/mode-sql.js +48 -69
  114. data/vendor/assets/javascripts/ace/mode-stylus.js +447 -0
  115. data/vendor/assets/javascripts/ace/mode-svg.js +552 -605
  116. data/vendor/assets/javascripts/ace/mode-tcl.js +139 -98
  117. data/vendor/assets/javascripts/ace/mode-tex.js +187 -0
  118. data/vendor/assets/javascripts/ace/mode-textile.js +29 -40
  119. data/vendor/assets/javascripts/ace/mode-tmsnippet.js +200 -0
  120. data/vendor/assets/javascripts/ace/mode-toml.js +177 -0
  121. data/vendor/assets/javascripts/ace/mode-twig.js +2228 -0
  122. data/vendor/assets/javascripts/ace/mode-typescript.js +1018 -0
  123. data/vendor/assets/javascripts/ace/mode-vbscript.js +250 -0
  124. data/vendor/assets/javascripts/ace/mode-velocity.js +1621 -0
  125. data/vendor/assets/javascripts/ace/mode-verilog.js +127 -0
  126. data/vendor/assets/javascripts/ace/mode-vhdl.js +139 -0
  127. data/vendor/assets/javascripts/ace/mode-xml.js +350 -242
  128. data/vendor/assets/javascripts/ace/mode-xquery.js +2490 -300
  129. data/vendor/assets/javascripts/ace/mode-yaml.js +146 -45
  130. data/vendor/assets/javascripts/ace/theme-ambiance.js +202 -0
  131. data/vendor/assets/javascripts/ace/theme-chaos.js +179 -0
  132. data/vendor/assets/javascripts/ace/theme-chrome.js +97 -153
  133. data/vendor/assets/javascripts/ace/theme-clouds.js +78 -119
  134. data/vendor/assets/javascripts/ace/theme-clouds_midnight.js +79 -120
  135. data/vendor/assets/javascripts/ace/theme-cobalt.js +89 -140
  136. data/vendor/assets/javascripts/ace/theme-crimson_editor.js +93 -145
  137. data/vendor/assets/javascripts/ace/theme-dawn.js +84 -143
  138. data/vendor/assets/javascripts/ace/theme-dreamweaver.js +99 -162
  139. data/vendor/assets/javascripts/ace/theme-eclipse.js +78 -111
  140. data/vendor/assets/javascripts/ace/theme-github.js +70 -121
  141. data/vendor/assets/javascripts/ace/theme-idle_fingers.js +75 -134
  142. data/vendor/assets/javascripts/ace/theme-kr.js +135 -0
  143. data/vendor/assets/javascripts/ace/theme-merbivore.js +80 -143
  144. data/vendor/assets/javascripts/ace/theme-merbivore_soft.js +81 -149
  145. data/vendor/assets/javascripts/ace/theme-mono_industrial.js +87 -146
  146. data/vendor/assets/javascripts/ace/theme-monokai.js +88 -146
  147. data/vendor/assets/javascripts/ace/theme-pastel_on_dark.js +82 -142
  148. data/vendor/assets/javascripts/ace/theme-solarized_dark.js +83 -144
  149. data/vendor/assets/javascripts/ace/theme-solarized_light.js +76 -133
  150. data/vendor/assets/javascripts/ace/theme-terminal.js +145 -0
  151. data/vendor/assets/javascripts/ace/theme-textmate.js +101 -158
  152. data/vendor/assets/javascripts/ace/theme-tomorrow.js +89 -163
  153. data/vendor/assets/javascripts/ace/theme-tomorrow_night.js +89 -163
  154. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue.js +89 -165
  155. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright.js +101 -162
  156. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties.js +90 -160
  157. data/vendor/assets/javascripts/ace/theme-twilight.js +87 -158
  158. data/vendor/assets/javascripts/ace/theme-vibrant_ink.js +75 -140
  159. data/vendor/assets/javascripts/ace/theme-xcode.js +120 -0
  160. data/vendor/assets/javascripts/ace/worker-coffee.js +3049 -2665
  161. data/vendor/assets/javascripts/ace/worker-css.js +1779 -4376
  162. data/vendor/assets/javascripts/ace/worker-javascript.js +8701 -9008
  163. data/vendor/assets/javascripts/ace/worker-json.js +709 -1340
  164. data/vendor/assets/javascripts/ace/worker-lua.js +3525 -0
  165. data/vendor/assets/javascripts/ace/worker-php.js +6893 -0
  166. data/vendor/assets/javascripts/ace/worker-xquery.js +19924 -64507
  167. metadata +100 -17
@@ -0,0 +1,890 @@
1
+ /* ***** BEGIN LICENSE BLOCK *****
2
+ * Distributed under the BSD license:
3
+ *
4
+ * Copyright (c) 2013, Ajax.org B.V.
5
+ * All rights reserved.
6
+ *
7
+ * Redistribution and use in source and binary forms, with or without
8
+ * modification, are permitted provided that the following conditions are met:
9
+ * * Redistributions of source code must retain the above copyright
10
+ * notice, this list of conditions and the following disclaimer.
11
+ * * Redistributions in binary form must reproduce the above copyright
12
+ * notice, this list of conditions and the following disclaimer in the
13
+ * documentation and/or other materials provided with the distribution.
14
+ * * Neither the name of Ajax.org B.V. nor the
15
+ * names of its contributors may be used to endorse or promote products
16
+ * derived from this software without specific prior written permission.
17
+ *
18
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
+ * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
22
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+ *
29
+ * ***** END LICENSE BLOCK ***** */
30
+
31
+ define('ace/mode/lsl', ['require', 'exports', 'module' , 'ace/tokenizer', 'ace/mode/lsl_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/range', 'ace/mode/text', 'ace/mode/behaviour/cstyle', 'ace/mode/folding/cstyle', 'ace/lib/oop'], function(require, exports, module) {
32
+
33
+
34
+ var Tokenizer = require("../tokenizer").Tokenizer;
35
+ var Rules = require("./lsl_highlight_rules").LSLHighlightRules;
36
+ var Outdent = require("./matching_brace_outdent").MatchingBraceOutdent;
37
+ var Range = require("../range").Range;
38
+ var TextMode = require("./text").Mode;
39
+ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
40
+ var CStyleFoldMode = require("./folding/cstyle").FoldMode;
41
+ var oop = require("../lib/oop");
42
+
43
+ var Mode = function() {
44
+ this.HighlightRules = Rules;
45
+ this.$outdent = new Outdent();
46
+ this.$behaviour = new CstyleBehaviour();
47
+ this.foldingRules = new CStyleFoldMode();
48
+ };
49
+ oop.inherits(Mode, TextMode);
50
+
51
+ (function() {
52
+
53
+ this.lineCommentStart = ["//"];
54
+
55
+ this.blockComment = {
56
+ start: "/*",
57
+ end: "*/"
58
+ };
59
+
60
+ this.getNextLineIndent = function(state, line, tab) {
61
+ var indent = this.$getIndent(line);
62
+
63
+ var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
64
+ var tokens = tokenizedLine.tokens;
65
+ var endState = tokenizedLine.state;
66
+
67
+ if (tokens.length && tokens[tokens.length-1].type === "comment.block.lsl") {
68
+ return indent;
69
+ }
70
+
71
+ if (state === "start") {
72
+ var match = line.match(/^.*[\{\(\[]\s*$/);
73
+ if (match) {
74
+ indent += tab;
75
+ }
76
+ }
77
+
78
+ return indent;
79
+ };
80
+
81
+ this.checkOutdent = function(state, line, input) {
82
+ return this.$outdent.checkOutdent(line, input);
83
+ };
84
+
85
+ this.autoOutdent = function(state, doc, row) {
86
+ this.$outdent.autoOutdent(doc, row);
87
+ };
88
+
89
+ this.$id = "ace/mode/lsl";
90
+ }).call(Mode.prototype);
91
+
92
+ exports.Mode = Mode;
93
+ });
94
+
95
+ define('ace/mode/lsl_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
96
+
97
+
98
+ var oop = require("../lib/oop");
99
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
100
+
101
+ oop.inherits(LSLHighlightRules, TextHighlightRules);
102
+
103
+ function LSLHighlightRules() {
104
+ var keywordMapper = this.createKeywordMapper({
105
+ "constant.language.float.lsl" : "DEG_TO_RAD|PI|PI_BY_TWO|RAD_TO_DEG|SQRT2|TWO_PI",
106
+ "constant.language.integer.lsl": "ACTIVE|AGENT|AGENT_ALWAYS_RUN|AGENT_ATTACHMENTS|" +
107
+ "AGENT_AUTOPILOT|AGENT_AWAY|AGENT_BUSY|AGENT_BY_LEGACY_NAME|AGENT_BY_USERNAME|" +
108
+ "AGENT_CROUCHING|AGENT_FLYING|AGENT_IN_AIR|AGENT_LIST_PARCEL|AGENT_LIST_PARCEL_OWNER|" +
109
+ "AGENT_LIST_REGION|AGENT_MOUSELOOK|AGENT_ON_OBJECT|AGENT_SCRIPTED|AGENT_SITTING|" +
110
+ "AGENT_TYPING|AGENT_WALKING|ALL_SIDES|ANIM_ON|ATTACH_AVATAR_CENTER|ATTACH_BACK|" +
111
+ "ATTACH_BELLY|ATTACH_CHEST|ATTACH_CHIN|ATTACH_HEAD|ATTACH_HUD_BOTTOM|" +
112
+ "ATTACH_HUD_BOTTOM_LEFT|ATTACH_HUD_BOTTOM_RIGHT|ATTACH_HUD_CENTER_1|ATTACH_HUD_CENTER_2|" +
113
+ "ATTACH_HUD_TOP_CENTER|ATTACH_HUD_TOP_LEFT|ATTACH_HUD_TOP_RIGHT|ATTACH_LEAR|" +
114
+ "ATTACH_LEFT_PEC|ATTACH_LEYE|ATTACH_LFOOT|ATTACH_LHAND|ATTACH_LHIP|ATTACH_LLARM|" +
115
+ "ATTACH_LLLEG|ATTACH_LSHOULDER|ATTACH_LUARM|ATTACH_LULEG|ATTACH_MOUTH|" +
116
+ "ATTACH_NECK|ATTACH_NOSE|ATTACH_PELVIS|ATTACH_REAR|ATTACH_REYE|ATTACH_RFOOT|" +
117
+ "ATTACH_RHAND|ATTACH_RHIP|ATTACH_RIGHT_PEC|ATTACH_RLARM|ATTACH_RLLEG|" +
118
+ "ATTACH_RSHOULDER|ATTACH_RUARM|ATTACH_RULEG|AVOID_CHARACTERS|AVOID_DYNAMIC_OBSTACLES|" +
119
+ "AVOID_NONE|CAMERA_ACTIVE|CAMERA_BEHINDNESS_ANGLE|CAMERA_BEHINDNESS_LAG|" +
120
+ "CAMERA_DISTANCE|CAMERA_FOCUS|CAMERA_FOCUS_LAG|CAMERA_FOCUS_LOCKED|CAMERA_FOCUS_OFFSET|" +
121
+ "CAMERA_FOCUS_THRESHOLD|CAMERA_PITCH|CAMERA_POSITION|CAMERA_POSITION_LAG|" +
122
+ "CAMERA_POSITION_LOCKED|CAMERA_POSITION_THRESHOLD|CHANGED_ALLOWED_DROP|" +
123
+ "CHANGED_COLOR|CHANGED_INVENTORY|CHANGED_LINK|CHANGED_MEDIA|CHANGED_OWNER|" +
124
+ "CHANGED_REGION|CHANGED_REGION_START|CHANGED_SCALE|CHANGED_SHAPE|CHANGED_TELEPORT|" +
125
+ "CHANGED_TEXTURE|CHARACTER_ACCOUNT_FOR_SKIPPED_FRAMES|CHARACTER_AVOIDANCE_MODE|" +
126
+ "CHARACTER_CMD_JUMP|CHARACTER_CMD_SMOOTH_STOP|CHARACTER_CMD_STOP|CHARACTER_DESIRED_SPEED|" +
127
+ "CHARACTER_DESIRED_TURN_SPEED|CHARACTER_LENGTH|CHARACTER_MAX_ACCEL|CHARACTER_MAX_DECEL|" +
128
+ "CHARACTER_MAX_SPEED|CHARACTER_MAX_TURN_RADIUS|CHARACTER_ORIENTATION|" +
129
+ "CHARACTER_RADIUS|CHARACTER_STAY_WITHIN_PARCEL|CHARACTER_TYPE|CHARACTER_TYPE_A|" +
130
+ "CHARACTER_TYPE_B|CHARACTER_TYPE_C|CHARACTER_TYPE_D|CHARACTER_TYPE_NONE|" +
131
+ "CLICK_ACTION_BUY|CLICK_ACTION_NONE|CLICK_ACTION_OPEN|CLICK_ACTION_OPEN_MEDIA|" +
132
+ "CLICK_ACTION_PAY|CLICK_ACTION_PLAY|CLICK_ACTION_SIT|CLICK_ACTION_TOUCH|" +
133
+ "CONTENT_TYPE_ATOM|CONTENT_TYPE_FORM|CONTENT_TYPE_HTML|CONTENT_TYPE_JSON|" +
134
+ "CONTENT_TYPE_LLSD|CONTENT_TYPE_RSS|CONTENT_TYPE_TEXT|CONTENT_TYPE_XHTML|" +
135
+ "CONTENT_TYPE_XML|CONTROL_BACK|CONTROL_DOWN|CONTROL_FWD|CONTROL_LBUTTON|" +
136
+ "CONTROL_LEFT|CONTROL_ML_LBUTTON|CONTROL_RIGHT|CONTROL_ROT_LEFT|CONTROL_ROT_RIGHT|" +
137
+ "CONTROL_UP|DATA_BORN|DATA_NAME|DATA_ONLINE|DATA_PAYINFO|DATA_SIM_POS|" +
138
+ "DATA_SIM_RATING|DATA_SIM_STATUS|DEBUG_CHANNEL|DENSITY|ERR_GENERIC|ERR_MALFORMED_PARAMS|" +
139
+ "ERR_PARCEL_PERMISSIONS|ERR_RUNTIME_PERMISSIONS|ERR_THROTTLED|ESTATE_ACCESS_ALLOWED_AGENT_ADD|" +
140
+ "ESTATE_ACCESS_ALLOWED_AGENT_REMOVE|ESTATE_ACCESS_ALLOWED_GROUP_ADD|ESTATE_ACCESS_ALLOWED_GROUP_REMOVE|" +
141
+ "ESTATE_ACCESS_BANNED_AGENT_ADD|ESTATE_ACCESS_BANNED_AGENT_REMOVE|FORCE_DIRECT_PATH|" +
142
+ "FRICTION|GCNP_RADIUS|GCNP_STATIC|GRAVITY_MULTIPLIER|HORIZONTAL|HTTP_BODY_MAXLENGTH|" +
143
+ "HTTP_BODY_TRUNCATED|HTTP_CUSTOM_HEADER|HTTP_METHOD|HTTP_MIMETYPE|HTTP_PRAGMA_NO_CACHE|" +
144
+ "HTTP_VERBOSE_THROTTLE|HTTP_VERIFY_CERT|INVENTORY_ALL|INVENTORY_ANIMATION|" +
145
+ "INVENTORY_BODYPART|INVENTORY_CLOTHING|INVENTORY_GESTURE|INVENTORY_LANDMARK|" +
146
+ "INVENTORY_NONE|INVENTORY_NOTECARD|INVENTORY_OBJECT|INVENTORY_SCRIPT|" +
147
+ "INVENTORY_SOUND|INVENTORY_TEXTURE|JSON_APPEND|KFM_CMD_PAUSE|KFM_CMD_PLAY|" +
148
+ "KFM_CMD_SET_MODE|KFM_CMD_STOP|KFM_COMMAND|KFM_DATA|KFM_FORWARD|KFM_LOOP|" +
149
+ "KFM_MODE|KFM_PING_PONG|KFM_REVERSE|KFM_ROTATION|KFM_TRANSLATION|LAND_LEVEL|" +
150
+ "LAND_LOWER|LAND_NOISE|LAND_RAISE|LAND_REVERT|LAND_SMOOTH|LINK_ALL_CHILDREN|" +
151
+ "LINK_ALL_OTHERS|LINK_ROOT|LINK_SET|LINK_THIS|LIST_STAT_GEOMETRIC_MEAN|" +
152
+ "LIST_STAT_MAX|LIST_STAT_MEAN|LIST_STAT_MEDIAN|LIST_STAT_MIN|LIST_STAT_NUM_COUNT|" +
153
+ "LIST_STAT_RANGE|LIST_STAT_STD_DEV|LIST_STAT_SUM|LIST_STAT_SUM_SQUARES|" +
154
+ "LOOP|MASK_BASE|MASK_EVERYONE|MASK_GROUP|MASK_NEXT|MASK_OWNER|OBJECT_ATTACHED_POINT|" +
155
+ "OBJECT_CHARACTER_TIME|OBJECT_CREATOR|OBJECT_DESC|OBJECT_GROUP|OBJECT_NAME|" +
156
+ "OBJECT_OWNER|OBJECT_PATHFINDING_TYPE|OBJECT_PHANTOM|OBJECT_PHYSICS|OBJECT_PHYSICS_COST|" +
157
+ "OBJECT_POS|OBJECT_PRIM_EQUIVALENCE|OBJECT_RETURN_PARCEL|OBJECT_RETURN_PARCEL_OWNER|" +
158
+ "OBJECT_RETURN_REGION|OBJECT_ROOT|OBJECT_ROT|OBJECT_RUNNING_SCRIPT_COUNT|" +
159
+ "OBJECT_SCRIPT_MEMORY|OBJECT_SCRIPT_TIME|OBJECT_SERVER_COST|OBJECT_STREAMING_COST|" +
160
+ "OBJECT_TEMP_ON_REZ|OBJECT_TOTAL_SCRIPT_COUNT|OBJECT_UNKNOWN_DETAIL|OBJECT_VELOCITY|" +
161
+ "OPT_AVATAR|OPT_CHARACTER|OPT_EXCLUSION_VOLUME|OPT_LEGACY_LINKSET|OPT_MATERIAL_VOLUME|" +
162
+ "OPT_OTHER|OPT_STATIC_OBSTACLE|OPT_WALKABLE|PARCEL_COUNT_GROUP|PARCEL_COUNT_OTHER|" +
163
+ "PARCEL_COUNT_OWNER|PARCEL_COUNT_SELECTED|PARCEL_COUNT_TEMP|PARCEL_COUNT_TOTAL|" +
164
+ "PARCEL_DETAILS_AREA|PARCEL_DETAILS_DESC|PARCEL_DETAILS_GROUP|PARCEL_DETAILS_ID|" +
165
+ "PARCEL_DETAILS_NAME|PARCEL_DETAILS_OWNER|PARCEL_DETAILS_SEE_AVATARS|" +
166
+ "PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY|PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS|" +
167
+ "PARCEL_FLAG_ALLOW_CREATE_OBJECTS|PARCEL_FLAG_ALLOW_DAMAGE|PARCEL_FLAG_ALLOW_FLY|" +
168
+ "PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY|PARCEL_FLAG_ALLOW_GROUP_SCRIPTS|" +
169
+ "PARCEL_FLAG_ALLOW_LANDMARK|PARCEL_FLAG_ALLOW_SCRIPTS|PARCEL_FLAG_ALLOW_TERRAFORM|" +
170
+ "PARCEL_FLAG_LOCAL_SOUND_ONLY|PARCEL_FLAG_RESTRICT_PUSHOBJECT|PARCEL_FLAG_USE_ACCESS_GROUP|" +
171
+ "PARCEL_FLAG_USE_ACCESS_LIST|PARCEL_FLAG_USE_BAN_LIST|PARCEL_FLAG_USE_LAND_PASS_LIST|" +
172
+ "PARCEL_MEDIA_COMMAND_AGENT|PARCEL_MEDIA_COMMAND_AUTO_ALIGN|PARCEL_MEDIA_COMMAND_DESC|" +
173
+ "PARCEL_MEDIA_COMMAND_LOOP|PARCEL_MEDIA_COMMAND_LOOP_SET|PARCEL_MEDIA_COMMAND_PAUSE|" +
174
+ "PARCEL_MEDIA_COMMAND_PLAY|PARCEL_MEDIA_COMMAND_SIZE|PARCEL_MEDIA_COMMAND_STOP|" +
175
+ "PARCEL_MEDIA_COMMAND_TEXTURE|PARCEL_MEDIA_COMMAND_TIME|PARCEL_MEDIA_COMMAND_TYPE|" +
176
+ "PARCEL_MEDIA_COMMAND_UNLOAD|PARCEL_MEDIA_COMMAND_URL|PASSIVE|PATROL_PAUSE_AT_WAYPOINTS|" +
177
+ "PAY_DEFAULT|PAY_HIDE|PAYMENT_INFO_ON_FILE|PAYMENT_INFO_USED|PERM_ALL|" +
178
+ "PERM_COPY|PERM_MODIFY|PERM_MOVE|PERM_TRANSFER|PERMISSION_ATTACH|PERMISSION_CHANGE_LINKS|" +
179
+ "PERMISSION_CONTROL_CAMERA|PERMISSION_DEBIT|PERMISSION_OVERRIDE_ANIMATIONS|" +
180
+ "PERMISSION_RETURN_OBJECTS|PERMISSION_SILENT_ESTATE_MANAGEMENT|PERMISSION_TAKE_CONTROLS|" +
181
+ "PERMISSION_TELEPORT|PERMISSION_TRACK_CAMERA|PERMISSION_TRIGGER_ANIMATION|" +
182
+ "PING_PONG|PRIM_BUMP_BARK|PRIM_BUMP_BLOBS|PRIM_BUMP_BRICKS|PRIM_BUMP_BRIGHT|" +
183
+ "PRIM_BUMP_CHECKER|PRIM_BUMP_CONCRETE|PRIM_BUMP_DARK|PRIM_BUMP_DISKS|" +
184
+ "PRIM_BUMP_GRAVEL|PRIM_BUMP_LARGETILE|PRIM_BUMP_NONE|PRIM_BUMP_SHINY|" +
185
+ "PRIM_BUMP_SIDING|PRIM_BUMP_STONE|PRIM_BUMP_STUCCO|PRIM_BUMP_SUCTION|" +
186
+ "PRIM_BUMP_TILE|PRIM_BUMP_WEAVE|PRIM_BUMP_WOOD|PRIM_COLOR|PRIM_DESC|PRIM_FLEXIBLE|" +
187
+ "PRIM_FULLBRIGHT|PRIM_GLOW|PRIM_HOLE_CIRCLE|PRIM_HOLE_DEFAULT|PRIM_HOLE_SQUARE|" +
188
+ "PRIM_HOLE_TRIANGLE|PRIM_LINK_TARGET|PRIM_MATERIAL|PRIM_MATERIAL_FLESH|" +
189
+ "PRIM_MATERIAL_GLASS|PRIM_MATERIAL_METAL|PRIM_MATERIAL_PLASTIC|PRIM_MATERIAL_RUBBER|" +
190
+ "PRIM_MATERIAL_STONE|PRIM_MATERIAL_WOOD|PRIM_MEDIA_ALT_IMAGE_ENABLE|PRIM_MEDIA_AUTO_LOOP|" +
191
+ "PRIM_MEDIA_AUTO_PLAY|PRIM_MEDIA_AUTO_SCALE|PRIM_MEDIA_AUTO_ZOOM|PRIM_MEDIA_CONTROLS|" +
192
+ "PRIM_MEDIA_CONTROLS_MINI|PRIM_MEDIA_CONTROLS_STANDARD|PRIM_MEDIA_CURRENT_URL|" +
193
+ "PRIM_MEDIA_FIRST_CLICK_INTERACT|PRIM_MEDIA_HEIGHT_PIXELS|PRIM_MEDIA_HOME_URL|" +
194
+ "PRIM_MEDIA_MAX_HEIGHT_PIXELS|PRIM_MEDIA_MAX_URL_LENGTH|PRIM_MEDIA_MAX_WHITELIST_COUNT|" +
195
+ "PRIM_MEDIA_MAX_WHITELIST_SIZE|PRIM_MEDIA_MAX_WIDTH_PIXELS|PRIM_MEDIA_PARAM_MAX|" +
196
+ "PRIM_MEDIA_PERM_ANYONE|PRIM_MEDIA_PERM_GROUP|PRIM_MEDIA_PERM_NONE|PRIM_MEDIA_PERM_OWNER|" +
197
+ "PRIM_MEDIA_PERMS_CONTROL|PRIM_MEDIA_PERMS_INTERACT|PRIM_MEDIA_WHITELIST|" +
198
+ "PRIM_MEDIA_WHITELIST_ENABLE|PRIM_MEDIA_WIDTH_PIXELS|PRIM_NAME|PRIM_OMEGA|" +
199
+ "PRIM_PHANTOM|PRIM_PHYSICS|PRIM_PHYSICS_SHAPE_CONVEX|PRIM_PHYSICS_SHAPE_NONE|" +
200
+ "PRIM_PHYSICS_SHAPE_PRIM|PRIM_PHYSICS_SHAPE_TYPE|PRIM_POINT_LIGHT|PRIM_POS_LOCAL|" +
201
+ "PRIM_POSITION|PRIM_ROT_LOCAL|PRIM_ROTATION|PRIM_SCULPT_FLAG_INVERT|PRIM_SCULPT_FLAG_MIRROR|" +
202
+ "PRIM_SCULPT_TYPE_CYLINDER|PRIM_SCULPT_TYPE_MASK|PRIM_SCULPT_TYPE_PLANE|" +
203
+ "PRIM_SCULPT_TYPE_SPHERE|PRIM_SCULPT_TYPE_TORUS|PRIM_SHINY_HIGH|PRIM_SHINY_LOW|" +
204
+ "PRIM_SHINY_MEDIUM|PRIM_SHINY_NONE|PRIM_SIZE|PRIM_SLICE|PRIM_TEMP_ON_REZ|" +
205
+ "PRIM_TEXGEN|PRIM_TEXGEN_DEFAULT|PRIM_TEXGEN_PLANAR|PRIM_TEXT|PRIM_TEXTURE|" +
206
+ "PRIM_TYPE|PRIM_TYPE_BOX|PRIM_TYPE_CYLINDER|PRIM_TYPE_PRISM|PRIM_TYPE_RING|" +
207
+ "PRIM_TYPE_SCULPT|PRIM_TYPE_SPHERE|PRIM_TYPE_TORUS|PRIM_TYPE_TUBE|PROFILE_NONE|" +
208
+ "PROFILE_SCRIPT_MEMORY|PSYS_PART_BOUNCE_MASK|PSYS_PART_EMISSIVE_MASK|" +
209
+ "PSYS_PART_END_ALPHA|PSYS_PART_END_COLOR|PSYS_PART_END_SCALE|PSYS_PART_FLAGS|" +
210
+ "PSYS_PART_FOLLOW_SRC_MASK|PSYS_PART_FOLLOW_VELOCITY_MASK|PSYS_PART_INTERP_COLOR_MASK|" +
211
+ "PSYS_PART_INTERP_SCALE_MASK|PSYS_PART_MAX_AGE|PSYS_PART_START_ALPHA|" +
212
+ "PSYS_PART_START_COLOR|PSYS_PART_START_SCALE|PSYS_PART_TARGET_LINEAR_MASK|" +
213
+ "PSYS_PART_TARGET_POS_MASK|PSYS_PART_WIND_MASK|PSYS_SRC_ACCEL|PSYS_SRC_ANGLE_BEGIN|" +
214
+ "PSYS_SRC_ANGLE_END|PSYS_SRC_BURST_PART_COUNT|PSYS_SRC_BURST_RADIUS|PSYS_SRC_BURST_RATE|" +
215
+ "PSYS_SRC_BURST_SPEED_MAX|PSYS_SRC_BURST_SPEED_MIN|PSYS_SRC_MAX_AGE|PSYS_SRC_OMEGA|" +
216
+ "PSYS_SRC_PATTERN|PSYS_SRC_PATTERN_ANGLE|PSYS_SRC_PATTERN_ANGLE_CONE|" +
217
+ "PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY|PSYS_SRC_PATTERN_DROP|PSYS_SRC_PATTERN_EXPLODE|" +
218
+ "PSYS_SRC_TARGET_KEY|PSYS_SRC_TEXTURE|PU_EVADE_HIDDEN|PU_EVADE_SPOTTED|" +
219
+ "PU_FAILURE_DYNAMIC_PATHFINDING_DISABLED|PU_FAILURE_INVALID_GOAL|PU_FAILURE_INVALID_START|" +
220
+ "PU_FAILURE_NO_NAVMESH|PU_FAILURE_NO_VALID_DESTINATION|PU_FAILURE_OTHER|" +
221
+ "PU_FAILURE_PARCEL_UNREACHABLE|PU_FAILURE_TARGET_GONE|PU_FAILURE_UNREACHABLE|" +
222
+ "PU_GOAL_REACHED|PU_SLOWDOWN_DISTANCE_REACHED|PUBLIC_CHANNEL|PURSUIT_FUZZ_FACTOR|" +
223
+ "PURSUIT_GOAL_TOLERANCE|PURSUIT_INTERCEPT|PURSUIT_OFFSET|RC_DATA_FLAGS|" +
224
+ "RC_DETECT_PHANTOM|RC_GET_LINK_NUM|RC_GET_NORMAL|RC_GET_ROOT_KEY|RC_MAX_HITS|" +
225
+ "RC_REJECT_AGENTS|RC_REJECT_LAND|RC_REJECT_NONPHYSICAL|RC_REJECT_PHYSICAL|" +
226
+ "RC_REJECT_TYPES|RCERR_CAST_TIME_EXCEEDED|RCERR_SIM_PERF_LOW|RCERR_UNKNOWN|" +
227
+ "REGION_FLAG_ALLOW_DAMAGE|REGION_FLAG_ALLOW_DIRECT_TELEPORT|REGION_FLAG_BLOCK_FLY|" +
228
+ "REGION_FLAG_BLOCK_TERRAFORM|REGION_FLAG_DISABLE_COLLISIONS|REGION_FLAG_DISABLE_PHYSICS|" +
229
+ "REGION_FLAG_FIXED_SUN|REGION_FLAG_RESTRICT_PUSHOBJECT|REGION_FLAG_SANDBOX|" +
230
+ "REMOTE_DATA_CHANNEL|REMOTE_DATA_REPLY|REMOTE_DATA_REQUEST|REQUIRE_LINE_OF_SIGHT|" +
231
+ "RESTITUTION|REVERSE|ROTATE|SCALE|SCRIPTED|SIM_STAT_PCT_CHARS_STEPPED|" +
232
+ "SMOOTH|STATUS_BLOCK_GRAB|STATUS_BLOCK_GRAB_OBJECT|STATUS_BOUNDS_ERROR|" +
233
+ "STATUS_CAST_SHADOWS|STATUS_DIE_AT_EDGE|STATUS_INTERNAL_ERROR|STATUS_MALFORMED_PARAMS|" +
234
+ "STATUS_NOT_FOUND|STATUS_NOT_SUPPORTED|STATUS_OK|STATUS_PHANTOM|STATUS_PHYSICS|" +
235
+ "STATUS_RETURN_AT_EDGE|STATUS_ROTATE_X|STATUS_ROTATE_Y|STATUS_ROTATE_Z|" +
236
+ "STATUS_SANDBOX|STATUS_TYPE_MISMATCH|STATUS_WHITELIST_FAILED|STRING_TRIM|" +
237
+ "STRING_TRIM_HEAD|STRING_TRIM_TAIL|TOUCH_INVALID_FACE|TRAVERSAL_TYPE|" +
238
+ "TRAVERSAL_TYPE_FAST|TRAVERSAL_TYPE_NONE|TRAVERSAL_TYPE_SLOW|TYPE_FLOAT|" +
239
+ "TYPE_INTEGER|TYPE_INVALID|TYPE_KEY|TYPE_ROTATION|TYPE_STRING|TYPE_VECTOR|" +
240
+ "VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY|VEHICLE_ANGULAR_DEFLECTION_TIMESCALE|" +
241
+ "VEHICLE_ANGULAR_FRICTION_TIMESCALE|VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE|" +
242
+ "VEHICLE_ANGULAR_MOTOR_DIRECTION|VEHICLE_ANGULAR_MOTOR_TIMESCALE|VEHICLE_BANKING_EFFICIENCY|" +
243
+ "VEHICLE_BANKING_MIX|VEHICLE_BANKING_TIMESCALE|VEHICLE_BUOYANCY|VEHICLE_FLAG_CAMERA_DECOUPLED|" +
244
+ "VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT|VEHICLE_FLAG_HOVER_TERRAIN_ONLY|VEHICLE_FLAG_HOVER_UP_ONLY|" +
245
+ "VEHICLE_FLAG_HOVER_WATER_ONLY|VEHICLE_FLAG_LIMIT_MOTOR_UP|VEHICLE_FLAG_LIMIT_ROLL_ONLY|" +
246
+ "VEHICLE_FLAG_MOUSELOOK_BANK|VEHICLE_FLAG_MOUSELOOK_STEER|VEHICLE_FLAG_NO_DEFLECTION_UP|" +
247
+ "VEHICLE_HOVER_EFFICIENCY|VEHICLE_HOVER_HEIGHT|VEHICLE_HOVER_TIMESCALE|" +
248
+ "VEHICLE_LINEAR_DEFLECTION_EFFICIENCY|VEHICLE_LINEAR_DEFLECTION_TIMESCALE|" +
249
+ "VEHICLE_LINEAR_FRICTION_TIMESCALE|VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE|" +
250
+ "VEHICLE_LINEAR_MOTOR_DIRECTION|VEHICLE_LINEAR_MOTOR_OFFSET|VEHICLE_LINEAR_MOTOR_TIMESCALE|" +
251
+ "VEHICLE_REFERENCE_FRAME|VEHICLE_TYPE_AIRPLANE|VEHICLE_TYPE_BALLOON|VEHICLE_TYPE_BOAT|" +
252
+ "VEHICLE_TYPE_CAR|VEHICLE_TYPE_NONE|VEHICLE_TYPE_SLED|VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY|" +
253
+ "VEHICLE_VERTICAL_ATTRACTION_TIMESCALE|VERTICAL|WANDER_PAUSE_AT_WAYPOINTS",
254
+ "constant.language.integer.boolean.lsl" : "FALSE|TRUE",
255
+ "constant.language.quaternion.lsl" : "ZERO_ROTATION",
256
+ "constant.language.string.lsl" : "EOF|JSON_ARRAY|JSON_FALSE|JSON_INVALID|" +
257
+ "JSON_NULL|JSON_NUMBER|JSON_OBJECT|JSON_STRING|JSON_TRUE|NULL_KEY|" +
258
+ "TEXTURE_BLANK|TEXTURE_DEFAULT|TEXTURE_MEDIA|TEXTURE_PLYWOOD|" +
259
+ "TEXTURE_TRANSPARENT|URL_REQUEST_DENIED|URL_REQUEST_GRANTED",
260
+ "constant.language.vector.lsl" : "TOUCH_INVALID_TEXCOORD|TOUCH_INVALID_VECTOR|ZERO_VECTOR",
261
+ "invalid.broken.lsl": "LAND_LARGE_BRUSH|LAND_MEDIUM_BRUSH|LAND_SMALL_BRUSH",
262
+ "invalid.deprecated.lsl" : "ATTACH_LPEC|ATTACH_RPEC|CHARACTER_MAX_ANGULAR_ACCEL|" +
263
+ "CHARACTER_MAX_ANGULAR_SPEED|CHARACTER_TURN_SPEED_MULTIPLIER|DATA_RATING|" +
264
+ "PRIM_CAST_SHADOWS|PRIM_MATERIAL_LIGHT|PRIM_PHYSICS_MATERIAL|PRIM_TYPE_LEGACY|" +
265
+ "PSYS_SRC_INNERANGLE|PSYS_SRC_OUTERANGLE|VEHICLE_FLAG_NO_FLY_UP|llCloud|" +
266
+ "llGodLikeRezObject|llMakeExplosion|llMakeFire|llMakeFountain|llMakeSmoke|" +
267
+ "llRemoteDataSetRegion|llSetInventoryPermMask|llSetObjectPermMask|llSound|" +
268
+ "llSoundPreload|llXorBase64Strings|llXorBase64StringsCorrect",
269
+ "invalid.godmode.lsl": "llGodLikeRezObject|llSetInventoryPermMask|llSetObjectPermMask",
270
+ "invalid.illegal.lsl" : "print",
271
+ "invalid.unimplemented.lsl": "CHARACTER_MAX_ANGULAR_ACCEL|CHARACTER_MAX_ANGULAR_SPEED|" +
272
+ "CHARACTER_TURN_SPEED_MULTIPLIER|PERMISSION_CHANGE_JOINTS|PERMISSION_CHANGE_PERMISSIONS|" +
273
+ "PERMISSION_RELEASE_OWNERSHIP|PERMISSION_REMAP_CONTROLS|PRIM_PHYSICS_MATERIAL|PRIM_TYPE_LEGACY|" +
274
+ "PSYS_SRC_OBJ_REL_MASK|event|llCollisionSprite|llPointAt|llRefreshPrimURL|" +
275
+ "llReleaseCamera|llRemoteLoadScript|llSetPrimURL|llStopPointAt|llTakeCamera",
276
+ "keyword.control.lsl" : "do|else|for|if|jump|return|while",
277
+ "storage.type.lsl" : "float|integer|key|list|quaternion|rotation|string|vector",
278
+ "support.function.lsl": "llAbs|llAcos|llAddToLandBanList|llAddToLandPassList|" +
279
+ "llAdjustSoundVolume|llAllowInventoryDrop|llAngleBetween|llApplyImpulse|" +
280
+ "llApplyRotationalImpulse|llAsin|llAtan2|llAttachToAvatar|llAttachToAvatarTemp|" +
281
+ "llAvatarOnLinkSitTarget|llAvatarOnSitTarget|llAxes2Rot|llAxisAngle2Rot|" +
282
+ "llBase64ToInteger|llBase64ToString|llBreakAllLinks|llBreakLink|llCastRay|" +
283
+ "llCeil|llClearCameraParams|llClearLinkMedia|llClearPrimMedia|llCloseRemoteDataChannel|" +
284
+ "llCollisionFilter|llCollisionSound|llCos|llCreateCharacter|llCreateLink|" +
285
+ "llCSV2List|llDeleteCharacter|llDeleteSubList|llDeleteSubString|llDetachFromAvatar|" +
286
+ "llDetectedGrab|llDetectedGroup|llDetectedKey|llDetectedLinkNumber|llDetectedName|" +
287
+ "llDetectedOwner|llDetectedPos|llDetectedRot|llDetectedTouchBinormal|" +
288
+ "llDetectedTouchFace|llDetectedTouchNormal|llDetectedTouchPos|llDetectedTouchST|" +
289
+ "llDetectedTouchUV|llDetectedType|llDetectedVel|llDialog|llDie|llDumpList2String|" +
290
+ "llEdgeOfWorld|llEjectFromLand|llEmail|llEscapeURL|llEuler2Rot|llExecCharacterCmd|" +
291
+ "llEvade|llFabs|llFleeFrom|llFloor|llForceMouselook|llFrand|llGenerateKey|" +
292
+ "llGetAccel|llGetAgentInfo|llGetAgentLanguage|llGetAgentList|llGetAgentSize|" +
293
+ "llGetAlpha|llGetAndResetTime|llGetAnimation|llGetAnimationList|llGetAnimationOverride|" +
294
+ "llGetAttached|llGetBoundingBox|llGetCameraPos|llGetCameraRot|llGetCenterOfMass|" +
295
+ "llGetClosestNavPoint|llGetColor|llGetCreator|llGetDate|llGetDisplayName|" +
296
+ "llGetEnergy|llGetEnv|llGetForce|llGetFreeMemory|llGetFreeURLs|llGetGeometricCenter|" +
297
+ "llGetGMTclock|llGetHTTPHeader|llGetInventoryCreator|llGetInventoryKey|llGetInventoryName|" +
298
+ "llGetInventoryNumber|llGetInventoryPermMask|llGetInventoryType|llGetKey|" +
299
+ "llGetLandOwnerAt|llGetLinkKey|llGetLinkMedia|llGetLinkName|llGetLinkNumber|" +
300
+ "llGetLinkNumberOfSides|llGetLinkPrimitiveParams|llGetListEntryType|llGetListLength|" +
301
+ "llGetLocalPos|llGetLocalRot|llGetMass|llGetMassMKS|llGetMemoryLimit|" +
302
+ "llGetNextEmail|llGetNotecardLine|llGetNumberOfNotecardLines|llGetNumberOfPrims|" +
303
+ "llGetNumberOfSides|llGetObjectDesc|llGetObjectDetails|llGetObjectMass|" +
304
+ "llGetObjectName|llGetObjectPermMask|llGetObjectPrimCount|llGetOmega|" +
305
+ "llGetOwner|llGetOwnerKey|llGetParcelDetails|llGetParcelFlags|llGetParcelMaxPrims|" +
306
+ "llGetParcelMusicURL|llGetParcelPrimCount|llGetParcelPrimOwners|llGetPermissions|" +
307
+ "llGetPermissionsKey|llGetPhysicsMaterial|llGetPos|llGetPrimitiveParams|" +
308
+ "llGetPrimMediaParams|llGetRegionAgentCount|llGetRegionCorner|llGetRegionFlags|" +
309
+ "llGetRegionFPS|llGetRegionName|llGetRegionTimeDilation|llGetRootPosition|" +
310
+ "llGetRootRotation|llGetRot|llGetScale|llGetScriptName|llGetScriptState|" +
311
+ "llGetSimStats|llGetSimulatorHostname|llGetSPMaxMemory|llGetStartParameter|" +
312
+ "llGetStaticPath|llGetStatus|llGetSubString|llGetSunDirection|llGetTexture|" +
313
+ "llGetTextureOffset|llGetTextureRot|llGetTextureScale|llGetTime|llGetTimeOfDay|" +
314
+ "llGetTimestamp|llGetTorque|llGetUnixTime|llGetUsedMemory|llGetUsername|" +
315
+ "llGetVel|llGetWallclock|llGiveInventory|llGiveInventoryList|llGiveMoney|" +
316
+ "llGround|llGroundContour|llGroundNormal|llGroundRepel|llGroundSlope|" +
317
+ "llHTTPRequest|llHTTPResponse|llInsertString|llInstantMessage|llIntegerToBase64|" +
318
+ "llJson2List|llJsonGetValue|llJsonSetValue|llJsonValueType|llKey2Name|" +
319
+ "llLinkParticleSystem|llLinkSitTarget|llList2CSV|llList2Float|llList2Integer|" +
320
+ "llList2Json|llList2Key|llList2List|llList2ListStrided|llList2Rot|" +
321
+ "llList2String|llList2Vector|llListen|llListenControl|llListenRemove|" +
322
+ "llListFindList|llListInsertList|llListRandomize|llListReplaceList|llListSort|" +
323
+ "llListStatistics|llLoadURL|llLog|llLog10|llLookAt|llLoopSound|llLoopSoundMaster|" +
324
+ "llLoopSoundSlave|llManageEstateAccess|llMapDestination|llMD5String|llMessageLinked|" +
325
+ "llMinEventDelay|llModifyLand|llModPow|llMoveToTarget|llNavigateTo|llOffsetTexture|" +
326
+ "llOpenRemoteDataChannel|llOverMyLand|llOwnerSay|llParcelMediaCommandList|" +
327
+ "llParcelMediaQuery|llParseString2List|llParseStringKeepNulls|llParticleSystem|" +
328
+ "llPassCollisions|llPassTouches|llPatrolPoints|llPlaySound|llPlaySoundSlave|" +
329
+ "llPow|llPreloadSound|llPursue|llPushObject|llRegionSay|llRegionSayTo|" +
330
+ "llReleaseControls|llReleaseURL|llRemoteDataReply|llRemoteLoadScriptPin|" +
331
+ "llRemoveFromLandBanList|llRemoveFromLandPassList|llRemoveInventory|llRemoveVehicleFlags|" +
332
+ "llRequestAgentData|llRequestDisplayName|llRequestInventoryData|llRequestPermissions|" +
333
+ "llRequestSecureURL|llRequestSimulatorData|llRequestURL|llRequestUsername|" +
334
+ "llResetAnimationOverride|llResetLandBanList|llResetLandPassList|llResetOtherScript|" +
335
+ "llResetScript|llResetTime|llReturnObjectsByID|llReturnObjectsByOwner|" +
336
+ "llRezAtRoot|llRezObject|llRot2Angle|llRot2Axis|llRot2Euler|" +
337
+ "llRot2Fwd|llRot2Left|llRot2Up|llRotateTexture|llRotBetween|llRotLookAt|" +
338
+ "llRotTarget|llRotTargetRemove|llRound|llSameGroup|llSay|llScaleTexture|" +
339
+ "llScriptDanger|llScriptProfiler|llSendRemoteData|llSensor|llSensorRemove|" +
340
+ "llSensorRepeat|llSetAlpha|llSetAngularVelocity|llSetAnimationOverride|llSetBuoyancy|" +
341
+ "llSetCameraAtOffset|llSetCameraEyeOffset|llSetCameraParams|llSetClickAction|" +
342
+ "llSetColor|llSetContentType|llSetDamage|llSetForce|llSetForceAndTorque|llSetHoverHeight|" +
343
+ "llSetKeyframedMotion|llSetLinkAlpha|llSetLinkCamera|llSetLinkColor|llSetLinkMedia|" +
344
+ "llSetLinkPrimitiveParams|llSetLinkPrimitiveParamsFast|llSetLinkTexture|llSetLinkTextureAnim|" +
345
+ "llSetLocalRot|llSetMemoryLimit|llSetObjectDesc|llSetObjectName|llSetParcelMusicURL|" +
346
+ "llSetPayPrice|llSetPhysicsMaterial|llSetPos|llSetPrimitiveParams|llSetPrimMediaParams|" +
347
+ "llSetRegionPos|llSetRemoteScriptAccessPin|llSetRot|llSetScale|llSetScriptState|" +
348
+ "llSetSitText|llSetSoundQueueing|llSetSoundRadius|llSetStatus|llSetText|" +
349
+ "llSetTexture|llSetTextureAnim|llSetTimerEvent|llSetTorque|llSetTouchText|" +
350
+ "llSetVehicleFlags|llSetVehicleFloatParam|llSetVehicleRotationParam|llSetVehicleType|" +
351
+ "llSetVehicleVectorParam|llSetVelocity|llSHA1String|llShout|llSin|llSitTarget|" +
352
+ "llSleep|llSqrt|llStartAnimation|llStopAnimation|llStopHover|llStopLookAt|" +
353
+ "llStopMoveToTarget|llStopSound|llStringLength|llStringToBase64|llStringTrim|" +
354
+ "llSubStringIndex|llTakeControls|llTan|llTarget|llTargetOmega|llTargetRemove|" +
355
+ "llTeleportAgent|llTeleportAgentGlobalCoords|llTeleportAgentHome|llTextBox|" +
356
+ "llToLower|llToUpper|llTransferLindenDollars|llTriggerSound|llTriggerSoundLimited|" +
357
+ "llUnescapeURL|llUnSit|llUpdateCharacter|llVecDist|llVecMag|llVecNorm|" +
358
+ "llVolumeDetect|llWanderWithin|llWater|llWhisper|llWind|llXorBase64",
359
+ "support.function.event.lsl" : "at_rot_target|at_target|attach|changed|collision|" +
360
+ "collision_end|collision_start|control|dataserver|email|http_request|" +
361
+ "http_response|land_collision|land_collision_end|land_collision_start|" +
362
+ "link_message|listen|money|moving_end|moving_start|no_sensor|not_at_rot_target|" +
363
+ "not_at_target|object_rez|on_rez|path_update|remote_data|run_time_permissions|" +
364
+ "sensor|state_entry|state_exit|timer|touch|touch_end|touch_start|transaction_result"
365
+ }, "identifier");
366
+
367
+ this.$rules = {
368
+ "start" : [
369
+ {
370
+ token : "comment.line.double-slash.lsl",
371
+ regex : "\\/\\/.*$"
372
+ }, {
373
+ token : "comment.block.lsl",
374
+ regex : "\\/\\*",
375
+ next : "comment"
376
+ }, {
377
+ token : "string.quoted.double.lsl",
378
+ start : '"',
379
+ end : '"',
380
+ next : [{
381
+ token : "constant.language.escape.lsl", regex : /\\[tn"\\]/
382
+ }]
383
+ }, {
384
+ token : "constant.numeric.lsl",
385
+ regex : "(0[xX][0-9a-fA-F]+|[+-]?[0-9]+(?:(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?)?)\\b"
386
+ }, {
387
+ token : "entity.name.state.lsl",
388
+ regex : "\\b((state)\\s+\\w+|default)\\b"
389
+ }, {
390
+ token : keywordMapper,
391
+ regex : "\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"
392
+ }, {
393
+ token : "support.function.user-defined.lsl",
394
+ regex : /\b([a-zA-Z_]\w*)(?=\(.*?\))/
395
+ }, {
396
+ token : "keyword.operator.lsl",
397
+ regex : "\\+\\+|\\-\\-|<<|>>|&&?|\\|\\|?|\\^|~|[!%<>=*+\\-\\/]=?"
398
+ }, {
399
+ token : "punctuation.operator.lsl",
400
+ regex : "\\,|\\;"
401
+ }, {
402
+ token : "paren.lparen.lsl",
403
+ regex : "[\\[\\(\\{]"
404
+ }, {
405
+ token : "paren.rparen.lsl",
406
+ regex : "[\\]\\)\\}]"
407
+ }, {
408
+ token : "text.lsl",
409
+ regex : "\\s+"
410
+ }
411
+ ],
412
+ "comment" : [
413
+ {
414
+ token : "comment.block.lsl",
415
+ regex : ".*?\\*\\/",
416
+ next : "start"
417
+ }, {
418
+ token : "comment.block.lsl",
419
+ regex : ".+"
420
+ }
421
+ ]
422
+ };
423
+ this.normalizeRules();
424
+ }
425
+
426
+ exports.LSLHighlightRules = LSLHighlightRules;
427
+ });
428
+
429
+ define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
430
+
431
+
432
+ var Range = require("../range").Range;
433
+
434
+ var MatchingBraceOutdent = function() {};
435
+
436
+ (function() {
437
+
438
+ this.checkOutdent = function(line, input) {
439
+ if (! /^\s+$/.test(line))
440
+ return false;
441
+
442
+ return /^\s*\}/.test(input);
443
+ };
444
+
445
+ this.autoOutdent = function(doc, row) {
446
+ var line = doc.getLine(row);
447
+ var match = line.match(/^(\s*\})/);
448
+
449
+ if (!match) return 0;
450
+
451
+ var column = match[1].length;
452
+ var openBracePos = doc.findMatchingBracket({row: row, column: column});
453
+
454
+ if (!openBracePos || openBracePos.row == row) return 0;
455
+
456
+ var indent = this.$getIndent(doc.getLine(openBracePos.row));
457
+ doc.replace(new Range(row, 0, row, column-1), indent);
458
+ };
459
+
460
+ this.$getIndent = function(line) {
461
+ return line.match(/^\s*/)[0];
462
+ };
463
+
464
+ }).call(MatchingBraceOutdent.prototype);
465
+
466
+ exports.MatchingBraceOutdent = MatchingBraceOutdent;
467
+ });
468
+
469
+ define('ace/mode/behaviour/cstyle', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/behaviour', 'ace/token_iterator', 'ace/lib/lang'], function(require, exports, module) {
470
+
471
+
472
+ var oop = require("../../lib/oop");
473
+ var Behaviour = require("../behaviour").Behaviour;
474
+ var TokenIterator = require("../../token_iterator").TokenIterator;
475
+ var lang = require("../../lib/lang");
476
+
477
+ var SAFE_INSERT_IN_TOKENS =
478
+ ["text", "paren.rparen", "punctuation.operator"];
479
+ var SAFE_INSERT_BEFORE_TOKENS =
480
+ ["text", "paren.rparen", "punctuation.operator", "comment"];
481
+
482
+
483
+ var autoInsertedBrackets = 0;
484
+ var autoInsertedRow = -1;
485
+ var autoInsertedLineEnd = "";
486
+ var maybeInsertedBrackets = 0;
487
+ var maybeInsertedRow = -1;
488
+ var maybeInsertedLineStart = "";
489
+ var maybeInsertedLineEnd = "";
490
+
491
+ var CstyleBehaviour = function () {
492
+
493
+ CstyleBehaviour.isSaneInsertion = function(editor, session) {
494
+ var cursor = editor.getCursorPosition();
495
+ var iterator = new TokenIterator(session, cursor.row, cursor.column);
496
+ if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
497
+ var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
498
+ if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
499
+ return false;
500
+ }
501
+ iterator.stepForward();
502
+ return iterator.getCurrentTokenRow() !== cursor.row ||
503
+ this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
504
+ };
505
+
506
+ CstyleBehaviour.$matchTokenType = function(token, types) {
507
+ return types.indexOf(token.type || token) > -1;
508
+ };
509
+
510
+ CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
511
+ var cursor = editor.getCursorPosition();
512
+ var line = session.doc.getLine(cursor.row);
513
+ if (!this.isAutoInsertedClosing(cursor, line, autoInsertedLineEnd[0]))
514
+ autoInsertedBrackets = 0;
515
+ autoInsertedRow = cursor.row;
516
+ autoInsertedLineEnd = bracket + line.substr(cursor.column);
517
+ autoInsertedBrackets++;
518
+ };
519
+
520
+ CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
521
+ var cursor = editor.getCursorPosition();
522
+ var line = session.doc.getLine(cursor.row);
523
+ if (!this.isMaybeInsertedClosing(cursor, line))
524
+ maybeInsertedBrackets = 0;
525
+ maybeInsertedRow = cursor.row;
526
+ maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
527
+ maybeInsertedLineEnd = line.substr(cursor.column);
528
+ maybeInsertedBrackets++;
529
+ };
530
+
531
+ CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
532
+ return autoInsertedBrackets > 0 &&
533
+ cursor.row === autoInsertedRow &&
534
+ bracket === autoInsertedLineEnd[0] &&
535
+ line.substr(cursor.column) === autoInsertedLineEnd;
536
+ };
537
+
538
+ CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
539
+ return maybeInsertedBrackets > 0 &&
540
+ cursor.row === maybeInsertedRow &&
541
+ line.substr(cursor.column) === maybeInsertedLineEnd &&
542
+ line.substr(0, cursor.column) == maybeInsertedLineStart;
543
+ };
544
+
545
+ CstyleBehaviour.popAutoInsertedClosing = function() {
546
+ autoInsertedLineEnd = autoInsertedLineEnd.substr(1);
547
+ autoInsertedBrackets--;
548
+ };
549
+
550
+ CstyleBehaviour.clearMaybeInsertedClosing = function() {
551
+ maybeInsertedBrackets = 0;
552
+ maybeInsertedRow = -1;
553
+ };
554
+
555
+ this.add("braces", "insertion", function (state, action, editor, session, text) {
556
+ var cursor = editor.getCursorPosition();
557
+ var line = session.doc.getLine(cursor.row);
558
+ if (text == '{') {
559
+ var selection = editor.getSelectionRange();
560
+ var selected = session.doc.getTextRange(selection);
561
+ if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
562
+ return {
563
+ text: '{' + selected + '}',
564
+ selection: false
565
+ };
566
+ } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
567
+ if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
568
+ CstyleBehaviour.recordAutoInsert(editor, session, "}");
569
+ return {
570
+ text: '{}',
571
+ selection: [1, 1]
572
+ };
573
+ } else {
574
+ CstyleBehaviour.recordMaybeInsert(editor, session, "{");
575
+ return {
576
+ text: '{',
577
+ selection: [1, 1]
578
+ };
579
+ }
580
+ }
581
+ } else if (text == '}') {
582
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
583
+ if (rightChar == '}') {
584
+ var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
585
+ if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
586
+ CstyleBehaviour.popAutoInsertedClosing();
587
+ return {
588
+ text: '',
589
+ selection: [1, 1]
590
+ };
591
+ }
592
+ }
593
+ } else if (text == "\n" || text == "\r\n") {
594
+ var closing = "";
595
+ if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
596
+ closing = lang.stringRepeat("}", maybeInsertedBrackets);
597
+ CstyleBehaviour.clearMaybeInsertedClosing();
598
+ }
599
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
600
+ if (rightChar === '}') {
601
+ var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
602
+ if (!openBracePos)
603
+ return null;
604
+ var next_indent = this.$getIndent(session.getLine(openBracePos.row));
605
+ } else if (closing) {
606
+ var next_indent = this.$getIndent(line);
607
+ } else {
608
+ return;
609
+ }
610
+ var indent = next_indent + session.getTabString();
611
+
612
+ return {
613
+ text: '\n' + indent + '\n' + next_indent + closing,
614
+ selection: [1, indent.length, 1, indent.length]
615
+ };
616
+ } else {
617
+ CstyleBehaviour.clearMaybeInsertedClosing();
618
+ }
619
+ });
620
+
621
+ this.add("braces", "deletion", function (state, action, editor, session, range) {
622
+ var selected = session.doc.getTextRange(range);
623
+ if (!range.isMultiLine() && selected == '{') {
624
+ var line = session.doc.getLine(range.start.row);
625
+ var rightChar = line.substring(range.end.column, range.end.column + 1);
626
+ if (rightChar == '}') {
627
+ range.end.column++;
628
+ return range;
629
+ } else {
630
+ maybeInsertedBrackets--;
631
+ }
632
+ }
633
+ });
634
+
635
+ this.add("parens", "insertion", function (state, action, editor, session, text) {
636
+ if (text == '(') {
637
+ var selection = editor.getSelectionRange();
638
+ var selected = session.doc.getTextRange(selection);
639
+ if (selected !== "" && editor.getWrapBehavioursEnabled()) {
640
+ return {
641
+ text: '(' + selected + ')',
642
+ selection: false
643
+ };
644
+ } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
645
+ CstyleBehaviour.recordAutoInsert(editor, session, ")");
646
+ return {
647
+ text: '()',
648
+ selection: [1, 1]
649
+ };
650
+ }
651
+ } else if (text == ')') {
652
+ var cursor = editor.getCursorPosition();
653
+ var line = session.doc.getLine(cursor.row);
654
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
655
+ if (rightChar == ')') {
656
+ var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
657
+ if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
658
+ CstyleBehaviour.popAutoInsertedClosing();
659
+ return {
660
+ text: '',
661
+ selection: [1, 1]
662
+ };
663
+ }
664
+ }
665
+ }
666
+ });
667
+
668
+ this.add("parens", "deletion", function (state, action, editor, session, range) {
669
+ var selected = session.doc.getTextRange(range);
670
+ if (!range.isMultiLine() && selected == '(') {
671
+ var line = session.doc.getLine(range.start.row);
672
+ var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
673
+ if (rightChar == ')') {
674
+ range.end.column++;
675
+ return range;
676
+ }
677
+ }
678
+ });
679
+
680
+ this.add("brackets", "insertion", function (state, action, editor, session, text) {
681
+ if (text == '[') {
682
+ var selection = editor.getSelectionRange();
683
+ var selected = session.doc.getTextRange(selection);
684
+ if (selected !== "" && editor.getWrapBehavioursEnabled()) {
685
+ return {
686
+ text: '[' + selected + ']',
687
+ selection: false
688
+ };
689
+ } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
690
+ CstyleBehaviour.recordAutoInsert(editor, session, "]");
691
+ return {
692
+ text: '[]',
693
+ selection: [1, 1]
694
+ };
695
+ }
696
+ } else if (text == ']') {
697
+ var cursor = editor.getCursorPosition();
698
+ var line = session.doc.getLine(cursor.row);
699
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
700
+ if (rightChar == ']') {
701
+ var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
702
+ if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
703
+ CstyleBehaviour.popAutoInsertedClosing();
704
+ return {
705
+ text: '',
706
+ selection: [1, 1]
707
+ };
708
+ }
709
+ }
710
+ }
711
+ });
712
+
713
+ this.add("brackets", "deletion", function (state, action, editor, session, range) {
714
+ var selected = session.doc.getTextRange(range);
715
+ if (!range.isMultiLine() && selected == '[') {
716
+ var line = session.doc.getLine(range.start.row);
717
+ var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
718
+ if (rightChar == ']') {
719
+ range.end.column++;
720
+ return range;
721
+ }
722
+ }
723
+ });
724
+
725
+ this.add("string_dquotes", "insertion", function (state, action, editor, session, text) {
726
+ if (text == '"' || text == "'") {
727
+ var quote = text;
728
+ var selection = editor.getSelectionRange();
729
+ var selected = session.doc.getTextRange(selection);
730
+ if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
731
+ return {
732
+ text: quote + selected + quote,
733
+ selection: false
734
+ };
735
+ } else {
736
+ var cursor = editor.getCursorPosition();
737
+ var line = session.doc.getLine(cursor.row);
738
+ var leftChar = line.substring(cursor.column-1, cursor.column);
739
+ if (leftChar == '\\') {
740
+ return null;
741
+ }
742
+ var tokens = session.getTokens(selection.start.row);
743
+ var col = 0, token;
744
+ var quotepos = -1; // Track whether we're inside an open quote.
745
+
746
+ for (var x = 0; x < tokens.length; x++) {
747
+ token = tokens[x];
748
+ if (token.type == "string") {
749
+ quotepos = -1;
750
+ } else if (quotepos < 0) {
751
+ quotepos = token.value.indexOf(quote);
752
+ }
753
+ if ((token.value.length + col) > selection.start.column) {
754
+ break;
755
+ }
756
+ col += tokens[x].value.length;
757
+ }
758
+ if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf(quote) === token.value.length-1)))) {
759
+ if (!CstyleBehaviour.isSaneInsertion(editor, session))
760
+ return;
761
+ return {
762
+ text: quote + quote,
763
+ selection: [1,1]
764
+ };
765
+ } else if (token && token.type === "string") {
766
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
767
+ if (rightChar == quote) {
768
+ return {
769
+ text: '',
770
+ selection: [1, 1]
771
+ };
772
+ }
773
+ }
774
+ }
775
+ }
776
+ });
777
+
778
+ this.add("string_dquotes", "deletion", function (state, action, editor, session, range) {
779
+ var selected = session.doc.getTextRange(range);
780
+ if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
781
+ var line = session.doc.getLine(range.start.row);
782
+ var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
783
+ if (rightChar == selected) {
784
+ range.end.column++;
785
+ return range;
786
+ }
787
+ }
788
+ });
789
+
790
+ };
791
+
792
+ oop.inherits(CstyleBehaviour, Behaviour);
793
+
794
+ exports.CstyleBehaviour = CstyleBehaviour;
795
+ });
796
+
797
+ define('ace/mode/folding/cstyle', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/range', 'ace/mode/folding/fold_mode'], function(require, exports, module) {
798
+
799
+
800
+ var oop = require("../../lib/oop");
801
+ var Range = require("../../range").Range;
802
+ var BaseFoldMode = require("./fold_mode").FoldMode;
803
+
804
+ var FoldMode = exports.FoldMode = function(commentRegex) {
805
+ if (commentRegex) {
806
+ this.foldingStartMarker = new RegExp(
807
+ this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
808
+ );
809
+ this.foldingStopMarker = new RegExp(
810
+ this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
811
+ );
812
+ }
813
+ };
814
+ oop.inherits(FoldMode, BaseFoldMode);
815
+
816
+ (function() {
817
+
818
+ this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
819
+ this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
820
+
821
+ this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
822
+ var line = session.getLine(row);
823
+ var match = line.match(this.foldingStartMarker);
824
+ if (match) {
825
+ var i = match.index;
826
+
827
+ if (match[1])
828
+ return this.openingBracketBlock(session, match[1], row, i);
829
+
830
+ var range = session.getCommentFoldRange(row, i + match[0].length, 1);
831
+
832
+ if (range && !range.isMultiLine()) {
833
+ if (forceMultiline) {
834
+ range = this.getSectionRange(session, row);
835
+ } else if (foldStyle != "all")
836
+ range = null;
837
+ }
838
+
839
+ return range;
840
+ }
841
+
842
+ if (foldStyle === "markbegin")
843
+ return;
844
+
845
+ var match = line.match(this.foldingStopMarker);
846
+ if (match) {
847
+ var i = match.index + match[0].length;
848
+
849
+ if (match[1])
850
+ return this.closingBracketBlock(session, match[1], row, i);
851
+
852
+ return session.getCommentFoldRange(row, i, -1);
853
+ }
854
+ };
855
+
856
+ this.getSectionRange = function(session, row) {
857
+ var line = session.getLine(row);
858
+ var startIndent = line.search(/\S/);
859
+ var startRow = row;
860
+ var startColumn = line.length;
861
+ row = row + 1;
862
+ var endRow = row;
863
+ var maxRow = session.getLength();
864
+ while (++row < maxRow) {
865
+ line = session.getLine(row);
866
+ var indent = line.search(/\S/);
867
+ if (indent === -1)
868
+ continue;
869
+ if (startIndent > indent)
870
+ break;
871
+ var subRange = this.getFoldWidgetRange(session, "all", row);
872
+
873
+ if (subRange) {
874
+ if (subRange.start.row <= startRow) {
875
+ break;
876
+ } else if (subRange.isMultiLine()) {
877
+ row = subRange.end.row;
878
+ } else if (startIndent == indent) {
879
+ break;
880
+ }
881
+ }
882
+ endRow = row;
883
+ }
884
+
885
+ return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
886
+ };
887
+
888
+ }).call(FoldMode.prototype);
889
+
890
+ });