1<?php
2/*************************************************************************************
3 * actionscript3.php
4 * ----------------
5 * Author: Jordi Boggiano (j.boggiano@seld.be)
6 * Copyright: (c) 2007 Jordi Boggiano (http://www.seld.be/), Benny Baumann (http://qbnz.com/highlighter)
7 * Release Version: 1.0.9.1
8 * Date Started: 2007/11/26
9 *
10 * ActionScript3 language file for GeSHi.
11 *
12 * All keywords scraped from the Flex 2.0.1 Documentation
13 *
14 * The default style is based on FlexBuilder2 coloring, with the addition of class, package, method and
15 * constant names that are highlighted to help identifying problem when used on public pastebins.
16 *
17 * For styling, keywords data from 0 to 1 (accessible through .kw1, etc.) are described here :
18 *
19 *   1 : operators
20 *   2 : 'var' keyword
21 *   3 : 'function' keyword
22 *   4 : 'class' and 'package' keywords
23 *   5 : all flash.* class names plus Top Level classes, mx are excluded
24 *   6 : all flash.* package names, mx are excluded
25 *   7 : valid flash method names and properties (there is no type checks sadly, for example String().x will be highlighted as 'x' is valid, but obviously strings don't have a x property)
26 *   8 : valid flash constant names (again, no type check)
27 *
28 *
29 * CHANGES
30 * -------
31 * 2007/12/06 (1.0.7.22)
32 *  -  Added the 'this' keyword (oops)
33 *
34 * TODO (updated 2007/11/30)
35 * -------------------------
36 *
37 *************************************************************************************
38 *
39 *     This file is part of GeSHi.
40 *
41 *   GeSHi is free software; you can redistribute it and/or modify
42 *   it under the terms of the GNU General Public License as published by
43 *   the Free Software Foundation; either version 2 of the License, or
44 *   (at your option) any later version.
45 *
46 *   GeSHi is distributed in the hope that it will be useful,
47 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
48 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
49 *   GNU General Public License for more details.
50 *
51 *   You should have received a copy of the GNU General Public License
52 *   along with GeSHi; if not, write to the Free Software
53 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
54 *
55 ************************************************************************************/
56
57$language_data = array (
58    'LANG_NAME' => 'ActionScript 3',
59    'COMMENT_SINGLE' => array(1 => '//'),
60    'COMMENT_MULTI' => array('/*' => '*/'),
61    'COMMENT_REGEXP' => array(
62        //Regular expressions
63        2 => "/(?<=[\\s^])(s|tr|y)\\/(?!\s)(?:\\\\.|(?!\n)[^\\/\\\\])+(?<!\s)\\/(?!\s)(?:\\\\.|(?!\n)[^\\/\\\\])*(?<!\s)\\/[msixpogcde]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])(m|q[qrwx]?)?\\/(?!\s)(?:\\\\.|(?!\n)[^\\/\\\\])+(?<!\s)\\/[msixpogc]*(?=[\\s$\\.\\,\\;\\)])/iU",
64        ),
65    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
66    'QUOTEMARKS' => array("'", '"'),
67    'ESCAPE_CHAR' => '\\',
68    'KEYWORDS' => array(
69        1 => array(
70            'with', 'while', 'void', 'undefined', 'typeof', 'try', 'true',
71            'throw', 'this', 'switch', 'super', 'set', 'return', 'public', 'protected',
72            'private', 'null', 'new', 'is', 'internal', 'instanceof', 'in',
73            'import', 'if', 'get', 'for', 'false', 'else', 'each', 'do',
74            'delete', 'default', 'continue', 'catch', 'case', 'break', 'as',
75            'extends', 'override'
76            ),
77        2 => array(
78            'var'
79            ),
80        3 => array(
81            'function'
82            ),
83        4 => array(
84            'class', 'package'
85            ),
86        6 => array(
87            'flash.xml', 'flash.utils', 'flash.ui', 'flash.text',
88            'flash.system', 'flash.profiler', 'flash.printing', 'flash.net',
89            'flash.media', 'flash.geom', 'flash.filters', 'flash.external',
90            'flash.events', 'flash.errors', 'flash.display',
91            'flash.accessibility'
92            ),
93        7 => array(
94            'zoom', 'year', 'y', 'xmlDecl', 'x', 'writeUnsignedInt',
95            'writeUTFBytes', 'writeUTF', 'writeShort', 'writeObject',
96            'writeMultiByte', 'writeInt', 'writeFloat', 'writeExternal',
97            'writeDynamicProperty', 'writeDynamicProperties', 'writeDouble',
98            'writeBytes', 'writeByte', 'writeBoolean', 'wordWrap',
99            'willTrigger', 'width', 'volume', 'visible', 'videoWidth',
100            'videoHeight', 'version', 'valueOf', 'value', 'usingTLS',
101            'useRichTextClipboard', 'useHandCursor', 'useEchoSuppression',
102            'useCodePage', 'url', 'uri', 'uploadCompleteData', 'upload',
103            'updateProperties', 'updateAfterEvent', 'upState', 'unshift',
104            'unlock', 'unload', 'union', 'unescapeMultiByte', 'unescape',
105            'underline', 'uncompress', 'type', 'ty', 'tx', 'transparent',
106            'translate', 'transformPoint', 'transform', 'trackAsMenu', 'track',
107            'trace', 'totalMemory', 'totalFrames', 'topLeft', 'top',
108            'togglePause', 'toXMLString', 'toUpperCase', 'toUTCString',
109            'toTimeString', 'toString', 'toPrecision', 'toLowerCase',
110            'toLocaleUpperCase', 'toLocaleTimeString', 'toLocaleString',
111            'toLocaleLowerCase', 'toLocaleDateString', 'toFixed',
112            'toExponential', 'toDateString', 'timezoneOffset', 'timerComplete',
113            'timer', 'time', 'threshold', 'thickness', 'textWidth',
114            'textSnapshot', 'textInput', 'textHeight', 'textColor', 'text',
115            'test', 'target', 'tan', 'tabStops', 'tabIndexChange', 'tabIndex',
116            'tabEnabledChange', 'tabEnabled', 'tabChildrenChange',
117            'tabChildren', 'sync', 'swfVersion', 'swapChildrenAt',
118            'swapChildren', 'subtract', 'substring', 'substr', 'styleSheet',
119            'styleNames', 'strength', 'stopPropagation',
120            'stopImmediatePropagation', 'stopDrag', 'stopAll', 'stop', 'status',
121            'startDrag', 'start', 'stageY', 'stageX', 'stageWidth',
122            'stageHeight', 'stageFocusRect', 'stage', 'sqrt', 'split', 'splice',
123            'source', 'soundTransform', 'soundComplete', 'sortOn', 'sort',
124            'songName', 'some', 'socketData', 'smoothing', 'slice', 'size',
125            'sin', 'silent', 'silenceTimeout', 'silenceLevel', 'showSettings',
126            'showRedrawRegions', 'showDefaultContextMenu', 'show', 'shortcut',
127            'shiftKey', 'shift', 'sharpness', 'sharedEvents', 'shadowColor',
128            'shadowAlpha', 'settings', 'setUseEchoSuppression', 'setUTCSeconds',
129            'setUTCMonth', 'setUTCMinutes', 'setUTCMilliseconds', 'setUTCHours',
130            'setUTCFullYear', 'setUTCDate', 'setTimeout', 'setTime',
131            'setTextFormat', 'setStyle', 'setSilenceLevel', 'setSettings',
132            'setSelection', 'setSelected', 'setSelectColor', 'setSeconds',
133            'setQuality', 'setPropertyIsEnumerable', 'setProperty', 'setPixels',
134            'setPixel32', 'setPixel', 'setNamespace', 'setName',
135            'setMotionLevel', 'setMonth', 'setMode', 'setMinutes',
136            'setMilliseconds', 'setLoopback', 'setLoopBack', 'setLocalName',
137            'setKeyFrameInterval', 'setInterval', 'setHours', 'setFullYear',
138            'setEmpty', 'setDirty', 'setDate', 'setCompositionString',
139            'setClipboard', 'setChildren', 'setChildIndex',
140            'setAdvancedAntiAliasingTable', 'serverString', 'separatorBefore',
141            'sendToURL', 'send', 'selectionEndIndex', 'selectionBeginIndex',
142            'selectable', 'select', 'seek', 'securityError', 'securityDomain',
143            'secondsUTC', 'seconds', 'search', 'scrollV', 'scrollRect',
144            'scrollH', 'scroll', 'screenResolutionY', 'screenResolutionX',
145            'screenDPI', 'screenColor', 'scenes', 'scaleY', 'scaleX',
146            'scaleMode', 'scale9Grid', 'scale', 'save', 'sandboxType',
147            'sameDomain', 'running', 'round', 'rotation', 'rotate', 'root',
148            'rollOver', 'rollOut', 'rightToRight', 'rightToLeft', 'rightPeak',
149            'rightMargin', 'right', 'rewind', 'reverse', 'resume', 'restrict',
150            'resize', 'reset', 'requestHeaders', 'replaceText',
151            'replaceSelectedText', 'replace', 'repeatCount', 'render',
152            'removedFromStage', 'removed', 'removeNode', 'removeNamespace',
153            'removeEventListener', 'removeChildAt', 'removeChild',
154            'relatedObject', 'registerFont', 'registerClassAlias', 'redOffset',
155            'redMultiplier', 'rect', 'receiveVideo', 'receiveAudio',
156            'readUnsignedShort', 'readUnsignedInt', 'readUnsignedByte',
157            'readUTFBytes', 'readUTF', 'readShort', 'readObject',
158            'readMultiByte', 'readInt', 'readFloat', 'readExternal',
159            'readDouble', 'readBytes', 'readByte', 'readBoolean', 'ratios',
160            'rate', 'random', 'quality', 'push', 'publish', 'proxyType',
161            'prototype', 'propertyIsEnumerable', 'progress',
162            'processingInstructions', 'printAsBitmap', 'print',
163            'previousSibling', 'preventDefault', 'prevScene', 'prevFrame',
164            'prettyPrinting', 'prettyIndent', 'preserveAlpha', 'prependChild',
165            'prefix', 'pow', 'position', 'pop', 'polar', 'playerType', 'play',
166            'pixelSnapping', 'pixelDissolve', 'pixelBounds', 'pixelAspectRatio',
167            'perlinNoise', 'pause', 'parseXML', 'parseInt', 'parseFloat',
168            'parseCSS', 'parse', 'parentNode', 'parentDomain',
169            'parentAllowsChild', 'parent', 'parameters', 'paperWidth',
170            'paperHeight', 'pan', 'paletteMap', 'pageWidth', 'pageHeight',
171            'overState', 'outsideCutoff', 'os', 'orientation', 'open',
172            'opaqueBackground', 'onPlayStatus', 'onMetaData', 'onCuePoint',
173            'offsetPoint', 'offset', 'objectID', 'objectEncoding', 'numLock',
174            'numLines', 'numFrames', 'numChildren', 'normalize', 'noise',
175            'nodeValue', 'nodeType', 'nodeName', 'nodeKind', 'noAutoLabeling',
176            'nextValue', 'nextSibling', 'nextScene', 'nextNameIndex',
177            'nextName', 'nextFrame', 'netStatus', 'navigateToURL',
178            'namespaceURI', 'namespaceDeclarations', 'namespace', 'names',
179            'name', 'muted', 'multiline', 'moveTo', 'mouseY', 'mouseX',
180            'mouseWheelEnabled', 'mouseWheel', 'mouseUp', 'mouseTarget',
181            'mouseOver', 'mouseOut', 'mouseMove', 'mouseLeave',
182            'mouseFocusChange', 'mouseEnabled', 'mouseDown', 'mouseChildren',
183            'motionTimeout', 'motionLevel', 'monthUTC', 'month',
184            'modificationDate', 'mode', 'minutesUTC', 'minutes', 'min',
185            'millisecondsUTC', 'milliseconds', 'method', 'message', 'merge',
186            'menuSelect', 'menuItemSelect', 'maxScrollV', 'maxScrollH',
187            'maxLevel', 'maxChars', 'max', 'matrixY', 'matrixX', 'matrix',
188            'match', 'mask', 'mapPoint', 'mapBitmap', 'map', 'manufacturer',
189            'macType', 'loopback', 'loop', 'log', 'lock', 'localeCompare',
190            'localY', 'localX', 'localToGlobal', 'localName',
191            'localFileReadDisable', 'loaderURL', 'loaderInfo', 'loader',
192            'loadPolicyFile', 'loadBytes', 'load', 'liveDelay', 'link',
193            'lineTo', 'lineStyle', 'lineGradientStyle', 'level',
194            'letterSpacing', 'length', 'leftToRight', 'leftToLeft', 'leftPeak',
195            'leftMargin', 'left', 'leading', 'lastIndexOf', 'lastIndex',
196            'lastChild', 'language', 'labels', 'knockout', 'keyUp',
197            'keyLocation', 'keyFrameInterval', 'keyFocusChange', 'keyDown',
198            'keyCode', 'kerning', 'join', 'italic', 'isXMLName',
199            'isPrototypeOf', 'isNaN', 'isFocusInaccessible', 'isFinite',
200            'isEmpty', 'isDefaultPrevented', 'isDebugger', 'isBuffering',
201            'isAttribute', 'isAccessible', 'ioError', 'invert', 'invalidate',
202            'intersects', 'intersection', 'interpolate', 'insideCutoff',
203            'insertChildBefore', 'insertChildAfter', 'insertBefore', 'inner',
204            'init', 'info', 'inflatePoint', 'inflate', 'indexOf', 'index',
205            'indent', 'inScopeNamespaces', 'imeComposition', 'ime',
206            'ignoreWhitespace', 'ignoreWhite', 'ignoreProcessingInstructions',
207            'ignoreComments', 'ignoreCase', 'identity', 'idMap', 'id3',
208            'httpStatus', 'htmlText', 'hoursUTC', 'hours', 'hitTestTextNearPos',
209            'hitTestState', 'hitTestPoint', 'hitTestObject', 'hitTest',
210            'hitArea', 'highlightColor', 'highlightAlpha', 'hideObject',
211            'hideBuiltInItems', 'hide', 'height', 'hasVideoEncoder', 'hasTLS',
212            'hasStreamingVideo', 'hasStreamingAudio', 'hasSimpleContent',
213            'hasScreenPlayback', 'hasScreenBroadcast', 'hasProperty',
214            'hasPrinting', 'hasOwnProperty', 'hasMP3', 'hasIME', 'hasGlyphs',
215            'hasEventListener', 'hasEmbeddedVideo', 'hasDefinition',
216            'hasComplexContent', 'hasChildNodes', 'hasAudioEncoder', 'hasAudio',
217            'hasAccessibility', 'gridFitType', 'greenOffset', 'greenMultiplier',
218            'graphics', 'gotoAndStop', 'gotoAndPlay', 'globalToLocal', 'global',
219            'getUTCSeconds', 'getUTCMonth', 'getUTCMinutes',
220            'getUTCMilliseconds', 'getUTCHours', 'getUTCFullYear', 'getUTCDay',
221            'getUTCDate', 'getTimezoneOffset', 'getTimer', 'getTime',
222            'getTextRunInfo', 'getTextFormat', 'getText', 'getStyle',
223            'getStackTrace', 'getSelectedText', 'getSelected', 'getSeconds',
224            'getRemote', 'getRect', 'getQualifiedSuperclassName',
225            'getQualifiedClassName', 'getProperty', 'getPrefixForNamespace',
226            'getPixels', 'getPixel32', 'getPixel', 'getParagraphLength',
227            'getObjectsUnderPoint', 'getNamespaceForPrefix', 'getMonth',
228            'getMinutes', 'getMilliseconds', 'getMicrophone', 'getLocal',
229            'getLineText', 'getLineOffset', 'getLineMetrics', 'getLineLength',
230            'getLineIndexOfChar', 'getLineIndexAtPoint', 'getImageReference',
231            'getHours', 'getFullYear', 'getFirstCharInParagraph',
232            'getDescendants', 'getDefinitionByName', 'getDefinition', 'getDay',
233            'getDate', 'getColorBoundsRect', 'getClassByAlias', 'getChildIndex',
234            'getChildByName', 'getChildAt', 'getCharIndexAtPoint',
235            'getCharBoundaries', 'getCamera', 'getBounds', 'genre',
236            'generateFilterRect', 'gain', 'fullYearUTC', 'fullYear',
237            'fullScreen', 'fscommand', 'fromCharCode', 'framesLoaded',
238            'frameRate', 'frame', 'fps', 'forwardAndBack', 'formatToString',
239            'forceSimple', 'forEach', 'fontType', 'fontStyle', 'fontSize',
240            'fontName', 'font', 'focusRect', 'focusOut', 'focusIn', 'focus',
241            'flush', 'floor', 'floodFill', 'firstChild', 'findText', 'filters',
242            'filter', 'fillRect', 'fileList', 'extension', 'extended', 'exp',
243            'exec', 'exactSettings', 'every', 'eventPhase', 'escapeMultiByte',
244            'escape', 'errorID', 'error', 'equals', 'enumerateFonts',
245            'enterFrame', 'endian', 'endFill', 'encodeURIComponent',
246            'encodeURI', 'enabled', 'embedFonts', 'elements',
247            'dynamicPropertyWriter', 'dropTarget', 'drawRoundRect', 'drawRect',
248            'drawEllipse', 'drawCircle', 'draw', 'download', 'downState',
249            'doubleClickEnabled', 'doubleClick', 'dotall', 'domain',
250            'docTypeDecl', 'doConversion', 'divisor', 'distance', 'dispose',
251            'displayState', 'displayMode', 'displayAsPassword', 'dispatchEvent',
252            'description', 'describeType', 'descent', 'descendants',
253            'deltaTransformPoint', 'delta', 'deleteProperty', 'delay',
254            'defaultTextFormat', 'defaultSettings', 'defaultObjectEncoding',
255            'decodeURIComponent', 'decodeURI', 'decode', 'deblocking',
256            'deactivate', 'dayUTC', 'day', 'dateUTC', 'date', 'dataFormat',
257            'data', 'd', 'customItems', 'curveTo', 'currentTarget',
258            'currentScene', 'currentLabels', 'currentLabel', 'currentFrame',
259            'currentFPS', 'currentDomain', 'currentCount', 'ctrlKey', 'creator',
260            'creationDate', 'createTextNode', 'createGradientBox',
261            'createElement', 'createBox', 'cos', 'copyPixels', 'copyChannel',
262            'copy', 'conversionMode', 'contextMenuOwner', 'contextMenu',
263            'contentType', 'contentLoaderInfo', 'content', 'containsRect',
264            'containsPoint', 'contains', 'constructor', 'connectedProxyType',
265            'connected', 'connect', 'condenseWhite', 'concatenatedMatrix',
266            'concatenatedColorTransform', 'concat', 'computeSpectrum',
267            'compress', 'componentY', 'componentX', 'complete', 'compare',
268            'comments', 'comment', 'colors', 'colorTransform', 'color', 'code',
269            'close', 'cloneNode', 'clone', 'client', 'click', 'clearTimeout',
270            'clearInterval', 'clear', 'clamp', 'children', 'childNodes',
271            'childIndex', 'childAllowsParent', 'child', 'checkPolicyFile',
272            'charCount', 'charCodeAt', 'charCode', 'charAt', 'changeList',
273            'change', 'ceil', 'caretIndex', 'caption', 'capsLock', 'cancelable',
274            'cancel', 'callee', 'callProperty', 'call', 'cacheAsBitmap', 'c',
275            'bytesTotal', 'bytesLoaded', 'bytesAvailable', 'buttonMode',
276            'buttonDown', 'bullet', 'builtInItems', 'bufferTime',
277            'bufferLength', 'bubbles', 'browse', 'bottomScrollV', 'bottomRight',
278            'bottom', 'borderColor', 'border', 'bold', 'blurY', 'blurX',
279            'blueOffset', 'blueMultiplier', 'blockIndent', 'blendMode',
280            'bitmapData', 'bias', 'beginGradientFill', 'beginFill',
281            'beginBitmapFill', 'bandwidth', 'backgroundColor', 'background',
282            'b', 'available', 'avHardwareDisable', 'autoSize', 'attributes',
283            'attribute', 'attachNetStream', 'attachCamera', 'attachAudio',
284            'atan2', 'atan', 'asyncError', 'asin', 'ascent', 'artist',
285            'areSoundsInaccessible', 'areInaccessibleObjectsUnderPoint',
286            'applyFilter', 'apply', 'applicationDomain', 'appendText',
287            'appendChild', 'antiAliasType', 'angle', 'alwaysShowSelection',
288            'altKey', 'alphas', 'alphaOffset', 'alphaMultiplier', 'alpha',
289            'allowInsecureDomain', 'allowDomain', 'align', 'album',
290            'addedToStage', 'added', 'addPage', 'addNamespace', 'addHeader',
291            'addEventListener', 'addChildAt', 'addChild', 'addCallback', 'add',
292            'activityLevel', 'activity', 'active', 'activating', 'activate',
293            'actionScriptVersion', 'acos', 'accessibilityProperties', 'abs'
294            ),
295        8 => array(
296            'WRAP', 'VERTICAL', 'VARIABLES',
297            'UTC', 'UPLOAD_COMPLETE_DATA', 'UP', 'UNLOAD', 'UNKNOWN',
298            'UNIQUESORT', 'TOP_RIGHT', 'TOP_LEFT', 'TOP', 'TIMER_COMPLETE',
299            'TIMER', 'TEXT_NODE', 'TEXT_INPUT', 'TEXT', 'TAB_INDEX_CHANGE',
300            'TAB_ENABLED_CHANGE', 'TAB_CHILDREN_CHANGE', 'TAB', 'SYNC',
301            'SUBTRACT', 'SUBPIXEL', 'STATUS', 'STANDARD', 'SQUARE', 'SQRT2',
302            'SQRT1_2', 'SPACE', 'SOUND_COMPLETE', 'SOCKET_DATA', 'SHOW_ALL',
303            'SHIFT', 'SETTINGS_MANAGER', 'SELECT', 'SECURITY_ERROR', 'SCROLL',
304            'SCREEN', 'ROUND', 'ROLL_OVER', 'ROLL_OUT', 'RIGHT', 'RGB',
305            'RETURNINDEXEDARRAY', 'RESIZE', 'REPEAT', 'RENDER',
306            'REMOVED_FROM_STAGE', 'REMOVED', 'REMOTE', 'REGULAR', 'REFLECT',
307            'RED', 'RADIAL', 'PROGRESS', 'PRIVACY', 'POST', 'POSITIVE_INFINITY',
308            'PORTRAIT', 'PIXEL', 'PI', 'PENDING', 'PAGE_UP', 'PAGE_DOWN', 'PAD',
309            'OVERLAY', 'OUTER', 'OPEN', 'NaN', 'NUM_PAD', 'NUMPAD_SUBTRACT',
310            'NUMPAD_MULTIPLY', 'NUMPAD_ENTER', 'NUMPAD_DIVIDE',
311            'NUMPAD_DECIMAL', 'NUMPAD_ADD', 'NUMPAD_9', 'NUMPAD_8', 'NUMPAD_7',
312            'NUMPAD_6', 'NUMPAD_5', 'NUMPAD_4', 'NUMPAD_3', 'NUMPAD_2',
313            'NUMPAD_1', 'NUMPAD_0', 'NUMERIC', 'NO_SCALE', 'NO_BORDER',
314            'NORMAL', 'NONE', 'NEVER', 'NET_STATUS', 'NEGATIVE_INFINITY',
315            'MULTIPLY', 'MOUSE_WHEEL', 'MOUSE_UP', 'MOUSE_OVER', 'MOUSE_OUT',
316            'MOUSE_MOVE', 'MOUSE_LEAVE', 'MOUSE_FOCUS_CHANGE', 'MOUSE_DOWN',
317            'MITER', 'MIN_VALUE', 'MICROPHONE', 'MENU_SELECT',
318            'MENU_ITEM_SELECT', 'MEDIUM', 'MAX_VALUE', 'LOW', 'LOG2E', 'LOG10E',
319            'LOCAL_WITH_NETWORK', 'LOCAL_WITH_FILE', 'LOCAL_TRUSTED',
320            'LOCAL_STORAGE', 'LN2', 'LN10', 'LITTLE_ENDIAN', 'LINK',
321            'LINEAR_RGB', 'LINEAR', 'LIGHT_COLOR', 'LIGHTEN', 'LEFT', 'LCD',
322            'LAYER', 'LANDSCAPE', 'KOREAN', 'KEY_UP', 'KEY_FOCUS_CHANGE',
323            'KEY_DOWN', 'JUSTIFY', 'JAPANESE_KATAKANA_HALF',
324            'JAPANESE_KATAKANA_FULL', 'JAPANESE_HIRAGANA', 'Infinity', 'ITALIC',
325            'IO_ERROR', 'INVERT', 'INSERT', 'INPUT', 'INNER', 'INIT',
326            'IME_COMPOSITION', 'IGNORE', 'ID3', 'HTTP_STATUS', 'HORIZONTAL',
327            'HOME', 'HIGH', 'HARDLIGHT', 'GREEN', 'GET', 'FULLSCREEN', 'FULL',
328            'FOCUS_OUT', 'FOCUS_IN', 'FLUSHED', 'FLASH9', 'FLASH8', 'FLASH7',
329            'FLASH6', 'FLASH5', 'FLASH4', 'FLASH3', 'FLASH2', 'FLASH1', 'F9',
330            'F8', 'F7', 'F6', 'F5', 'F4', 'F3', 'F2', 'F15', 'F14', 'F13',
331            'F12', 'F11', 'F10', 'F1', 'EXACT_FIT', 'ESCAPE', 'ERROR', 'ERASE',
332            'ENTER_FRAME', 'ENTER', 'END', 'EMBEDDED', 'ELEMENT_NODE', 'E',
333            'DYNAMIC', 'DOWN', 'DOUBLE_CLICK', 'DIFFERENCE', 'DEVICE',
334            'DESCENDING', 'DELETE', 'DEFAULT', 'DEACTIVATE', 'DATA',
335            'DARK_COLOR', 'DARKEN', 'CRT', 'CONTROL', 'CONNECT', 'COMPLETE',
336            'COLOR', 'CLOSE', 'CLICK', 'CLAMP', 'CHINESE', 'CHANGE', 'CENTER',
337            'CASEINSENSITIVE', 'CAPTURING_PHASE', 'CAPS_LOCK', 'CANCEL',
338            'CAMERA', 'BUBBLING_PHASE', 'BOTTOM_RIGHT', 'BOTTOM_LEFT', 'BOTTOM',
339            'BOLD_ITALIC', 'BOLD', 'BLUE', 'BINARY', 'BIG_ENDIAN', 'BEVEL',
340            'BEST', 'BACKSPACE', 'AUTO', 'AT_TARGET', 'ASYNC_ERROR', 'AMF3',
341            'AMF0', 'ALWAYS', 'ALPHANUMERIC_HALF', 'ALPHANUMERIC_FULL', 'ALPHA',
342            'ADVANCED', 'ADDED_TO_STAGE', 'ADDED', 'ADD', 'ACTIVITY',
343            'ACTIONSCRIPT3', 'ACTIONSCRIPT2'
344            ),
345        //FIX: Must be last in order to avoid conflicts with keywords present
346        //in other keyword groups, that might get highlighted as part of the URL.
347        //I know this is not a proper work-around, but should do just fine.
348        5 => array(
349            'uint', 'int', 'arguments', 'XMLSocket', 'XMLNodeType', 'XMLNode',
350            'XMLList', 'XMLDocument', 'XML', 'Video', 'VerifyError',
351            'URLVariables', 'URLStream', 'URLRequestMethod', 'URLRequestHeader',
352            'URLRequest', 'URLLoaderDataFormat', 'URLLoader', 'URIError',
353            'TypeError', 'Transform', 'TimerEvent', 'Timer', 'TextSnapshot',
354            'TextRenderer', 'TextLineMetrics', 'TextFormatAlign', 'TextFormat',
355            'TextFieldType', 'TextFieldAutoSize', 'TextField', 'TextEvent',
356            'TextDisplayMode', 'TextColorType', 'System', 'SyntaxError',
357            'SyncEvent', 'StyleSheet', 'String', 'StatusEvent', 'StaticText',
358            'StageScaleMode', 'StageQuality', 'StageAlign', 'Stage',
359            'StackOverflowError', 'Sprite', 'SpreadMethod', 'SoundTransform',
360            'SoundMixer', 'SoundLoaderContext', 'SoundChannel', 'Sound',
361            'Socket', 'SimpleButton', 'SharedObjectFlushStatus', 'SharedObject',
362            'Shape', 'SecurityPanel', 'SecurityErrorEvent', 'SecurityError',
363            'SecurityDomain', 'Security', 'ScriptTimeoutError', 'Scene',
364            'SWFVersion', 'Responder', 'RegExp', 'ReferenceError', 'Rectangle',
365            'RangeError', 'QName', 'Proxy', 'ProgressEvent',
366            'PrintJobOrientation', 'PrintJobOptions', 'PrintJob', 'Point',
367            'PixelSnapping', 'ObjectEncoding', 'Object', 'Number', 'NetStream',
368            'NetStatusEvent', 'NetConnection', 'Namespace', 'MovieClip',
369            'MouseEvent', 'Mouse', 'MorphShape', 'Microphone', 'MemoryError',
370            'Matrix', 'Math', 'LocalConnection', 'LoaderInfo', 'LoaderContext',
371            'Loader', 'LineScaleMode', 'KeyboardEvent', 'Keyboard',
372            'KeyLocation', 'JointStyle', 'InvalidSWFError',
373            'InterpolationMethod', 'InteractiveObject', 'IllegalOperationError',
374            'IOErrorEvent', 'IOError', 'IMEEvent', 'IMEConversionMode', 'IME',
375            'IExternalizable', 'IEventDispatcher', 'IDynamicPropertyWriter',
376            'IDynamicPropertyOutput', 'IDataOutput', 'IDataInput', 'ID3Info',
377            'IBitmapDrawable', 'HTTPStatusEvent', 'GridFitType', 'Graphics',
378            'GradientType', 'GradientGlowFilter', 'GradientBevelFilter',
379            'GlowFilter', 'Function', 'FrameLabel', 'FontType', 'FontStyle',
380            'Font', 'FocusEvent', 'FileReferenceList', 'FileReference',
381            'FileFilter', 'ExternalInterface', 'EventPhase', 'EventDispatcher',
382            'Event', 'EvalError', 'ErrorEvent', 'Error', 'Endian', 'EOFError',
383            'DropShadowFilter', 'DisplayObjectContainer', 'DisplayObject',
384            'DisplacementMapFilterMode', 'DisplacementMapFilter', 'Dictionary',
385            'DefinitionError', 'Date', 'DataEvent', 'ConvolutionFilter',
386            'ContextMenuItem', 'ContextMenuEvent', 'ContextMenuBuiltInItems',
387            'ContextMenu', 'ColorTransform', 'ColorMatrixFilter', 'Class',
388            'CapsStyle', 'Capabilities', 'Camera', 'CSMSettings', 'ByteArray',
389            'Boolean', 'BlurFilter', 'BlendMode', 'BitmapFilterType',
390            'BitmapFilterQuality', 'BitmapFilter', 'BitmapDataChannel',
391            'BitmapData', 'Bitmap', 'BevelFilter', 'AsyncErrorEvent', 'Array',
392            'ArgumentError', 'ApplicationDomain', 'AntiAliasType',
393            'ActivityEvent', 'ActionScriptVersion', 'AccessibilityProperties',
394            'Accessibility', 'AVM1Movie'
395            )
396        ),
397    'SYMBOLS' => array(
398        '(', ')', '[', ']', '{', '}', '!', '%', '&', '*', '|', '/', '<', '>', '^', '-', '+', '~', '?', ':', ';', '.', ','
399        ),
400    'CASE_SENSITIVE' => array(
401        GESHI_COMMENTS => false,
402        1 => true,
403        2 => true,
404        3 => true,
405        4 => true,
406        5 => true,
407        6 => true,
408        7 => true,
409        8 => true
410        ),
411    'STYLES' => array(
412        'KEYWORDS' => array(
413            1 => 'color: #0033ff; font-weight: bold;',
414            2 => 'color: #6699cc; font-weight: bold;',
415            3 => 'color: #339966; font-weight: bold;',
416            4 => 'color: #9900cc; font-weight: bold;',
417            5 => 'color: #004993;',
418            6 => 'color: #004993;',
419            7 => 'color: #004993;',
420            8 => 'color: #004993;'
421            ),
422        'COMMENTS' => array(
423            1 => 'color: #009900; font-style: italic;',
424            2 => 'color: #009966; font-style: italic;',
425            'MULTI' => 'color: #3f5fbf;'
426            ),
427        'ESCAPE_CHAR' => array(
428            0 => ''
429            ),
430        'BRACKETS' => array(
431            0 => 'color: #000000;'
432            ),
433        'STRINGS' => array(
434            0 => 'color: #990000;'
435            ),
436        'NUMBERS' => array(
437            0 => 'color: #000000; font-weight:bold;'
438            ),
439        'METHODS' => array(
440            0 => 'color: #000000;',
441            ),
442        'SYMBOLS' => array(
443            0 => 'color: #000066; font-weight: bold;'
444            ),
445        'REGEXPS' => array(
446            ),
447        'SCRIPT' => array(
448            )
449        ),
450    'URLS' => array(
451        1 => '',
452        2 => '',
453        3 => '',
454        4 => '',
455        5 => 'http://www.google.com/search?q={FNAMEL}%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:{FNAMEL}.html',
456        6 => '',
457        7 => '',
458        8 => ''
459        ),
460    'OOLANG' => false,//Save some time as OO identifiers aren't used
461    'OBJECT_SPLITTERS' => array(
462        // commented out because it's not very relevant for AS, as all properties, methods and constants are dot-accessed.
463        // I believe it's preferable to have package highlighting for example, which is not possible with this enabled.
464        // 0 => '.'
465        ),
466    'REGEXPS' => array(
467        ),
468    'STRICT_MODE_APPLIES' => GESHI_NEVER,
469    'SCRIPT_DELIMITERS' => array(),
470    'HIGHLIGHT_STRICT_BLOCK' => array()
471);
472