--- name: Prototype & Script.aculo.us (JavaScript) scopeName: source.js.prototype repository: leading-space: patterns: - name: meta.leading-tabs begin: ^(?=(\t| )) end: (?=[^\t\s]) patterns: - captures: "6": name: meta.even-tab.group6.spaces "11": name: meta.odd-tab.group11.spaces "7": name: meta.odd-tab.group7.spaces "8": name: meta.even-tab.group8.spaces "9": name: meta.odd-tab.group9.spaces "1": name: meta.odd-tab.group1.spaces "2": name: meta.even-tab.group2.spaces "3": name: meta.odd-tab.group3.spaces "4": name: meta.even-tab.group4.spaces "10": name: meta.even-tab.group10.spaces "5": name: meta.odd-tab.group5.spaces match: ( )( )?( )?( )?( )?( )?( )?( )?( )?( )?( )? - captures: "6": name: meta.even-tab.group6.tab "11": name: meta.odd-tab.group11.tab "7": name: meta.odd-tab.group7.tab "8": name: meta.even-tab.group8.tab "9": name: meta.odd-tab.group9.tab "1": name: meta.odd-tab.group1.tab "2": name: meta.even-tab.group2.tab "3": name: meta.odd-tab.group3.tab "4": name: meta.even-tab.group4.tab "10": name: meta.even-tab.group10.tab "5": name: meta.odd-tab.group5.tab match: (\t)(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)? uuid: 0BD60463-DDF6-436F-9295-89DEF577FF30 foldingStartMarker: (^.*{[^}]*$|^.*\([^\)]*$|^.*/\*(?!.*\*/).*$) patterns: - name: support.class.prototype.js match: \b(Prototype|Class|Abstract|Try|PeriodicalExecuter|Enumerable|Hash|ObjectRange|Element|Ajax|Responders|Base|Request|Updater|PeriodicalUpdater|Toggle|Insertion|Before|Top|Bottom|After|ClassNames|Form|Serializers|TimedObserver|Observer|EventObserver|Event|Position|Effect|Effect2|Transitions|ScopedQueue|Queues|DefaultOptions|Parallel|Opacity|Move|MoveBy|Scale|Highlight|ScrollTo|Fade|Appear|Puff|BlindUp|BlindDown|SwitchOff|DropOut|Shake|SlideDown|SlideUp|Squish|Grow|Shrink|Pulsate|Fold|console)\b - name: support.function.js.prototype match: \b(Version|ScriptFragment|emptyFunction|K|create|toColorPart|succ|times|these|initialize|registerCallback|onTimerEvent|stripTags|stripScripts|extractScripts|evalScripts|escapeHTML|unescapeHTML|toQueryParams|toArray|camelize|inspect|each|inGroupsOf|eachSlice|all|any|collect|detect|findAll|grep|include|inject|invoke|max|min|partition|pluck|reject|sortBy|toArray|zip|inspect|map|find|select|member|entries|_each|_reverse|reverse|clear|first|last|compact|flatten|without|indexOf|reverse|shift|inspect|keys|values|merge|toQueryString|inspect|include|getTransport|activeRequestCount|responders|register|unregister|dispatch|onComplete|setOptions|responseIsSuccess|responseIsFailure|request|setRequestHeaders|onStateChange|header|evalJSON|evalResponse|respondToReadyState|dispatchException|updateContent|start|stop|updateComplete|toggle|hide|show|remove|update|getHeight|classNames|hasClassName|addClassName|removeClassName|cleanWhitespace|empty|scrollTo|getStyle|setStyle|getDimensions|makePositioned|undoPositioned|makeClipping|undoClipping|recursivelyCollect|ancestors|descendants|previousSiblings|nextSiblings|siblings|match|up|down|previous|next|getElementsBySelector|getElementsByClassName|contentFromAnonymousTable|initializeRange|insertContent|set|add|toString|focus|present|activate|serialize|getElements|getInputs|disable|enable|findFirstElement|focusFirstElement|reset|getValue|input|inputSelector|textarea|selectOne|selectMany|onElementEvent|registerFormCallbacks|element|isLeftClick|pointerX|pointerY|findElement|observers|unloadCache|observe|stopObserving|includeScrollOffsets|prepare|realOffset|cumulativeOffset|positionedOffset|offsetParent|within|withinIncludingScrolloffsets|overlap|clone|page|clone|absolutize|relativize)\b - include: source.js - name: variable.other.js.prototype match: ((?<=var\s)\b[a-zA-Z]\w*\b|\b[a-zA-Z]\w*\b(?=(\[|\s*(&|\*|\-\-|\-|\+\+|\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|/=|%=|\+=|\-=|&=|\^=)))) - include: "#leading-space" foldingStopMarker: (^\s*\}|^\s*\)|^(?!.*/\*).*\*/) keyEquivalent: ^~J comment: "Prototype and Scriptaculous Javascript Frameworks. By Justin Palmer, Thomas Aylott & Martin Str\xC3\xB6m"