Add javascript bundle

This commit is contained in:
Corey Johnson & Nathan Sobo 2012-08-01 17:18:43 -07:00
parent 1d70e2e85b
commit e6bc0e092a
30 changed files with 2509 additions and 0 deletions

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>beforeRunningCommand</key>
<string>nop</string>
<key>command</key>
<string>#!/usr/bin/env perl
#
# Written by John Gruber, taken with permission from:
# http://daringfireball.net/2007/03/javascript_bookmarklet_builder
use strict;
use warnings;
use URI::Escape qw(uri_escape_utf8);
use open IO =&gt; ":utf8", # UTF8 by default
":std"; # Apply to STDIN/STDOUT/STDERR
my $src = do { local $/; &lt;&gt; };
# Zap the first line if there's already a bookmarklet comment:
$src =~ s{^// ?javascript:.+\n}{};
my $bookmarklet = $src;
$bookmarklet =~ s{^\s*//.+\n}{}gm; # Kill comments.
$bookmarklet =~ s{\t}{ }gm; # Tabs to spaces
$bookmarklet =~ s{ +}{ }gm; # Space runs to one space
$bookmarklet =~ s{^\s+}{}gm; # Kill line-leading whitespace
$bookmarklet =~ s{\s+$}{}gm; # Kill line-ending whitespace
$bookmarklet =~ s{\n}{}gm; # Kill newlines
# Escape single- and double-quotes, spaces, control chars, unicode:
$bookmarklet = "javascript:" .
uri_escape_utf8($bookmarklet, qq('" \x00-\x1f\x7f-\xff));
print "// $bookmarklet\n" . $src;
# Put bookmarklet on clipboard:
`/bin/echo -n '$bookmarklet' | /usr/bin/pbcopy`;
</string>
<key>input</key>
<string>selection</string>
<key>keyEquivalent</key>
<string>^H</string>
<key>name</key>
<string>Copy as Bookmarklet to Clipboard</string>
<key>output</key>
<string>replaceSelectedText</string>
<key>scope</key>
<string>source.js</string>
<key>uuid</key>
<string>20E61C43-B81F-4FB9-9362-BFFE668EB9C9</string>
</dict>
</plist>

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>beforeRunningCommand</key>
<string>nop</string>
<key>command</key>
<string># index created using: curl -s 'http://devguru.com/technologies/javascript/index.asp'|grep -o '&lt;a href="[0-9]*.asp"&gt;[a-z][a-zA-Z]*&lt;/a&gt;'|perl -pe 's/&lt;a href="([^"]*)"&gt;([^&lt;]*)&lt;\/a&gt;/$2\t$1/'|sort|uniq|gzip &gt;dev_guru_index.gz
ref=$(zgrep -w "^${TM_SELECTED_TEXT:-$TM_CURRENT_WORD}" "$TM_BUNDLE_SUPPORT/dev_guru_index.gz"|cut -f2)
[[ -n "$ref" ]] &amp;&amp; exit_show_html "&lt;meta http-equiv='Refresh' content='0;URL=http://devguru.com/technologies/javascript/$ref'&gt;"
echo "No documentation found."</string>
<key>fallbackInput</key>
<string>word</string>
<key>input</key>
<string>selection</string>
<key>keyEquivalent</key>
<string>^h</string>
<key>name</key>
<string>Documentation for Word / Selection</string>
<key>output</key>
<string>showAsTooltip</string>
<key>scope</key>
<string>source.js</string>
<key>uuid</key>
<string>B4874A14-2491-465A-A349-61E4EBCF4700</string>
</dict>
</plist>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>beforeRunningCommand</key>
<string>nop</string>
<key>command</key>
<string>cat &lt;&lt;SNIPPET
function ${TM_SELECTED_TEXT:-$TM_CURRENT_WORD}(\${1:args}) {
\$0
}
SNIPPET</string>
<key>fallbackInput</key>
<string>word</string>
<key>input</key>
<string>selection</string>
<key>keyEquivalent</key>
<string>$ </string>
<key>name</key>
<string>New Function</string>
<key>output</key>
<string>insertAsSnippet</string>
<key>scope</key>
<string>source.js</string>
<key>uuid</key>
<string>73951799-AC15-40A6-81DB-EC051AB4A033</string>
</dict>
</plist>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>beforeRunningCommand</key>
<string>nop</string>
<key>command</key>
<string>cat &lt;&lt;SNIPPET
${TM_SELECTED_TEXT:-$TM_CURRENT_WORD}: function(\${1:args}) {
\$0
}\${2:,}
SNIPPET</string>
<key>fallbackInput</key>
<string>word</string>
<key>input</key>
<string>selection</string>
<key>keyEquivalent</key>
<string>~$ </string>
<key>name</key>
<string>New Method</string>
<key>output</key>
<string>insertAsSnippet</string>
<key>scope</key>
<string>source.js</string>
<key>uuid</key>
<string>1717B5AE-209B-4548-9155-9E88A7230C1C</string>
</dict>
</plist>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>beforeRunningCommand</key>
<string>nop</string>
<key>command</key>
<string>#!/usr/bin/env python
import os
import sys
sys.path.append(os.path.join(os.environ["TM_BUNDLE_SUPPORT"], "lib"))
import jsbeautifier
opts = jsbeautifier.default_options()
if os.environ["TM_SOFT_TABS"] == 'NO':
opts.indent_size = 1
opts.indent_char = '\t'
else:
opts.indent_size = int(os.environ["TM_TAB_SIZE"])
print jsbeautifier.beautify_file('-', opts)
</string>
<key>input</key>
<string>selection</string>
<key>keyEquivalent</key>
<string>^H</string>
<key>name</key>
<string>Reformat Document / Selection</string>
<key>output</key>
<string>replaceSelectedText</string>
<key>scope</key>
<string>source.js</string>
<key>uuid</key>
<string>36EC03E9-EFF4-479A-AB90-8DFA16800642</string>
</dict>
</plist>

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Comments</string>
<key>scope</key>
<string>source.js</string>
<key>settings</key>
<dict>
<key>shellVariables</key>
<array>
<dict>
<key>name</key>
<string>TM_COMMENT_START</string>
<key>value</key>
<string>// </string>
</dict>
<dict>
<key>name</key>
<string>TM_COMMENT_START_2</string>
<key>value</key>
<string>/*</string>
</dict>
<dict>
<key>name</key>
<string>TM_COMMENT_END_2</string>
<key>value</key>
<string>*/</string>
</dict>
</array>
</dict>
<key>uuid</key>
<string>A67A8BD9-A951-406F-9175-018DD4B52FD1</string>
</dict>
</plist>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>JavaScript Indent</string>
<key>scope</key>
<string>source.js</string>
<key>settings</key>
<dict>
<key>decreaseIndentPattern</key>
<string>^(.*\*/)?\s*(\}|\))([^{]*\{)?([;,]?\s*|\.[^{]*|\s*\)[;\s]*)$</string>
<key>increaseIndentPattern</key>
<string>^.*(\{[^}"']*|\([^)"']*)$</string>
</dict>
<key>uuid</key>
<string>BC062860-3346-4D3B-8421-C5543F83D11F</string>
</dict>
</plist>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Symbol List Banned</string>
<key>scope</key>
<string>source.js meta.property.function entity.name.function</string>
<key>settings</key>
<dict>
<key>showInSymbolList</key>
<string>0</string>
</dict>
<key>uuid</key>
<string>834BC727-6B31-4073-A161-4823227219EF</string>
</dict>
</plist>

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Symbol List Class</string>
<key>scope</key>
<string>source.js entity.name.type.class</string>
<key>settings</key>
<dict>
<key>showInSymbolList</key>
<string>1</string>
<key>symbolTransformation</key>
<string>
s/^/• /g;
</string>
</dict>
<key>uuid</key>
<string>3CEA49B2-A5C5-405C-82E2-B8B668877C37</string>
</dict>
</plist>

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Symbol List Instance</string>
<key>scope</key>
<string>source.js entity.name.instance</string>
<key>settings</key>
<dict>
<key>showInSymbolList</key>
<string>1</string>
<key>symbolTransformation</key>
<string>
s/^/\t/g;
</string>
</dict>
<key>uuid</key>
<string>E6EB7CC8-04E8-43A9-93B2-BC9EF5BA862B</string>
</dict>
</plist>

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Symbol List Sub 1</string>
<key>scope</key>
<string>source.js object.property.function -(meta.group meta.group)</string>
<key>settings</key>
<dict>
<key>showInSymbolList</key>
<string>1</string>
<key>symbolTransformation</key>
<string>
s/^/:/g;
</string>
</dict>
<key>uuid</key>
<string>73557394-4F0F-4DD3-8029-EEE8201AC7F5</string>
</dict>
</plist>

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Symbol List Sub 2</string>
<key>scope</key>
<string>source.js meta.group meta.group object.property.function</string>
<key>settings</key>
<dict>
<key>showInSymbolList</key>
<string>1</string>
<key>symbolTransformation</key>
<string>
s/^/:/g;
</string>
</dict>
<key>uuid</key>
<string>51841DDB-C2A4-461C-A8AB-6C124AD50EAE</string>
</dict>
</plist>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>content</key>
<string>getElement${1/(T)|.*/(?1:s)/}By${1:T}${1/(T)|(I)|.*/(?1:agName)(?2:d)/}('$2')</string>
<key>name</key>
<string>Get Elements</string>
<key>scope</key>
<string>source.js</string>
<key>tabTrigger</key>
<string>get</string>
<key>uuid</key>
<string>9E0E3BCC-7F20-4D6B-891D-A44D6EC56E31</string>
</dict>
</plist>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>content</key>
<string>'${1:${2:#thing}:${3:click}}': function(element){
$0
}${10:,}</string>
<key>name</key>
<string>Object Method String</string>
<key>scope</key>
<string>source.js</string>
<key>tabTrigger</key>
<string>'':f</string>
<key>uuid</key>
<string>7B9AEFCC-B450-416D-8527-430FE2A08568</string>
</dict>
</plist>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>content</key>
<string>${1:method_name}: function(${3:attribute}){
$0
}${10:,}</string>
<key>name</key>
<string>Object Method</string>
<key>scope</key>
<string>source.js</string>
<key>tabTrigger</key>
<string>:f</string>
<key>uuid</key>
<string>77065D69-742A-4FF0-9A41-AD211DFBE72F</string>
</dict>
</plist>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>content</key>
<string>${1:value_name}:${0:value},</string>
<key>name</key>
<string>Object Value JS</string>
<key>scope</key>
<string>source.js</string>
<key>tabTrigger</key>
<string>:,</string>
<key>uuid</key>
<string>AD506BEC-B33C-4168-A900-0A4D386A4B05</string>
</dict>
</plist>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>content</key>
<string>${1:key}: ${2:"${3:value}"}${4:, }</string>
<key>keyEquivalent</key>
<string>~:</string>
<key>name</key>
<string>Object key — key: "value"</string>
<key>scope</key>
<string>source.js</string>
<key>tabTrigger</key>
<string>:</string>
<key>uuid</key>
<string>DC8B46FB-8ADA-45EA-8F36-94C807A0D302</string>
</dict>
</plist>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>content</key>
<string>${1:class_name}.prototype.${2:method_name} = function(${3:first_argument}) {
${0:// body...}
};
</string>
<key>name</key>
<string>Prototype</string>
<key>scope</key>
<string>source.js</string>
<key>tabTrigger</key>
<string>proto</string>
<key>uuid</key>
<string>2F96136B-0193-42F5-90FC-B6F456A3AD77</string>
</dict>
</plist>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>content</key>
<string>for (var ${20:i} = ${1:Things}.length - 1; ${20:i} &gt;= 0; ${20:i}--){
${100:${1:Things}[${20:i}]}$0
};</string>
<key>name</key>
<string>for (…) {…} (Improved Native For-Loop)</string>
<key>scope</key>
<string>source.js</string>
<key>tabTrigger</key>
<string>for</string>
<key>uuid</key>
<string>C207B7C3-5597-4873-8AAD-C46FB8842AF2</string>
</dict>
</plist>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>content</key>
<string>for (var ${20:i}=0; ${20:i} &lt; ${1:Things}.length; ${20:i}++) {
${100:${1:Things}[${20:i}]}$0
};</string>
<key>name</key>
<string>for (…) {…}</string>
<key>scope</key>
<string>source.js</string>
<key>tabTrigger</key>
<string>for</string>
<key>uuid</key>
<string>011C4681-FBEC-4891-9326-3DECFCDED6D6</string>
</dict>
</plist>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>content</key>
<string>function ${1:function_name} (${2:argument}) {
${0:// body...}
}</string>
<key>name</key>
<string>Function</string>
<key>scope</key>
<string>source.js</string>
<key>tabTrigger</key>
<string>fun</string>
<key>uuid</key>
<string>F0E4FB6A-4878-48C6-A777-62438DF1E14F</string>
</dict>
</plist>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>content</key>
<string>function($1) {${0:$TM_SELECTED_TEXT}};</string>
<key>name</key>
<string>Anonymous Function</string>
<key>scope</key>
<string>source.js</string>
<key>tabTrigger</key>
<string>f</string>
<key>uuid</key>
<string>4C6EDB43-3E2E-411B-A016-13C135C59833</string>
</dict>
</plist>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>content</key>
<string>if (${1:true}) {${0:$TM_SELECTED_TEXT}} else{};</string>
<key>name</key>
<string>if … else</string>
<key>scope</key>
<string>source.js</string>
<key>tabTrigger</key>
<string>ife</string>
<key>uuid</key>
<string>31964029-9D71-4ADC-8213-DFE5C4E222B3</string>
</dict>
</plist>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>content</key>
<string>if (${1:true}) {${0:$TM_SELECTED_TEXT}};</string>
<key>name</key>
<string>if</string>
<key>scope</key>
<string>source.js</string>
<key>tabTrigger</key>
<string>if</string>
<key>uuid</key>
<string>F19F3732-39A7-48EC-A72B-A8F477A01795</string>
</dict>
</plist>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>content</key>
<string>setTimeout(function() {$0}${2:}, ${1:10});</string>
<key>name</key>
<string>setTimeout function</string>
<key>scope</key>
<string>source.js</string>
<key>tabTrigger</key>
<string>timeout</string>
<key>uuid</key>
<string>009A3E6C-FE3F-4A18-8759-2DC31F17BBE2</string>
</dict>
</plist>

Binary file not shown.

View File

@ -0,0 +1,22 @@
Copyright (c) 2009 - 2011, Einar Lielmanis
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,712 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>comment</key>
<string>JavaScript Syntax: version 2.0</string>
<key>fileTypes</key>
<array>
<string>js</string>
<string>htc</string>
<string>jsx</string>
</array>
<key>foldingStartMarker</key>
<string>^.*\bfunction\s*(\w+\s*)?\([^\)]*\)(\s*\{[^\}]*)?\s*$</string>
<key>foldingStopMarker</key>
<string>^\s*\}</string>
<key>keyEquivalent</key>
<string>^~J</string>
<key>name</key>
<string>JavaScript</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>support.class.js</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>support.constant.js</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>keyword.operator.js</string>
</dict>
</dict>
<key>comment</key>
<string>match stuff like: Sound.prototype = { … } when extending an object</string>
<key>match</key>
<string>([a-zA-Z_?.$][\w?.$]*)\.(prototype)\s*(=)\s*</string>
<key>name</key>
<string>meta.class.js</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>support.class.js</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>support.constant.js</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>entity.name.function.js</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>keyword.operator.js</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>storage.type.function.js</string>
</dict>
<key>6</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.begin.js</string>
</dict>
<key>7</key>
<dict>
<key>name</key>
<string>variable.parameter.function.js</string>
</dict>
<key>8</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.end.js</string>
</dict>
</dict>
<key>comment</key>
<string>match stuff like: Sound.prototype.play = function() { … }</string>
<key>match</key>
<string>([a-zA-Z_?.$][\w?.$]*)\.(prototype)\.([a-zA-Z_?.$][\w?.$]*)\s*(=)\s*(function)?\s*(\()(.*?)(\))</string>
<key>name</key>
<string>meta.function.prototype.js</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>support.class.js</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>support.constant.js</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>entity.name.function.js</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>keyword.operator.js</string>
</dict>
</dict>
<key>comment</key>
<string>match stuff like: Sound.prototype.play = myfunc</string>
<key>match</key>
<string>([a-zA-Z_?.$][\w?.$]*)\.(prototype)\.([a-zA-Z_?.$][\w?.$]*)\s*(=)\s*</string>
<key>name</key>
<string>meta.function.js</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>support.class.js</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.js</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>keyword.operator.js</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>storage.type.function.js</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.begin.js</string>
</dict>
<key>6</key>
<dict>
<key>name</key>
<string>variable.parameter.function.js</string>
</dict>
<key>7</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.end.js</string>
</dict>
</dict>
<key>comment</key>
<string>match stuff like: Sound.play = function() { … }</string>
<key>match</key>
<string>([a-zA-Z_?.$][\w?.$]*)\.([a-zA-Z_?.$][\w?.$]*)\s*(=)\s*(function)\s*(\()(.*?)(\))</string>
<key>name</key>
<string>meta.function.js</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>entity.name.function.js</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.operator.js</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>storage.type.function.js</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.begin.js</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>variable.parameter.function.js</string>
</dict>
<key>6</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.end.js</string>
</dict>
</dict>
<key>comment</key>
<string>match stuff like: play = function() { … }</string>
<key>match</key>
<string>([a-zA-Z_?$][\w?$]*)\s*(=)\s*(function)\s*(\()(.*?)(\))</string>
<key>name</key>
<string>meta.function.js</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.js</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.js</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.begin.js</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>variable.parameter.function.js</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.end.js</string>
</dict>
</dict>
<key>comment</key>
<string>match regular function like: function myFunc(arg) { … }</string>
<key>match</key>
<string>\b(function)\s+([a-zA-Z_$]\w*)?\s*(\()(.*?)(\))</string>
<key>name</key>
<string>meta.function.js</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>entity.name.function.js</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.type.function.js</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.begin.js</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>variable.parameter.function.js</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.end.js</string>
</dict>
</dict>
<key>comment</key>
<string>match stuff like: foobar: function() { … }</string>
<key>match</key>
<string>\b([a-zA-Z_?.$][\w?.$]*)\s*:\s*\b(function)?\s*(\()(.*?)(\))</string>
<key>name</key>
<string>meta.function.json.js</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>string.quoted.single.js</string>
</dict>
<key>10</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.begin.js</string>
</dict>
<key>11</key>
<dict>
<key>name</key>
<string>variable.parameter.function.js</string>
</dict>
<key>12</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.end.js</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.js</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>entity.name.function.js</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.js</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>string.quoted.double.js</string>
</dict>
<key>6</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.js</string>
</dict>
<key>7</key>
<dict>
<key>name</key>
<string>entity.name.function.js</string>
</dict>
<key>8</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.js</string>
</dict>
<key>9</key>
<dict>
<key>name</key>
<string>entity.name.function.js</string>
</dict>
</dict>
<key>comment</key>
<string>Attempt to match "foo": function</string>
<key>match</key>
<string>(?:((')(.*?)('))|((")(.*?)(")))\s*:\s*\b(function)?\s*(\()(.*?)(\))</string>
<key>name</key>
<string>meta.function.json.js</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.new.js</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.type.instance.js</string>
</dict>
</dict>
<key>match</key>
<string>(new)\s+(\w+(?:\.\w*)?)</string>
<key>name</key>
<string>meta.class.instance.constructor</string>
</dict>
<dict>
<key>match</key>
<string>\b(console)\b</string>
<key>name</key>
<string>entity.name.type.object.js.firebug</string>
</dict>
<dict>
<key>match</key>
<string>\.(warn|info|log|error|time|timeEnd|assert)\b</string>
<key>name</key>
<string>support.function.js.firebug</string>
</dict>
<dict>
<key>match</key>
<string>\b((0(x|X)[0-9a-fA-F]+)|([0-9]+(\.[0-9]+)?))\b</string>
<key>name</key>
<string>constant.numeric.js</string>
</dict>
<dict>
<key>begin</key>
<string>'</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.js</string>
</dict>
</dict>
<key>end</key>
<string>'</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.js</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.js</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)</string>
<key>name</key>
<string>constant.character.escape.js</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>"</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.js</string>
</dict>
</dict>
<key>end</key>
<string>"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.js</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.js</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)</string>
<key>name</key>
<string>constant.character.escape.js</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>/\*\*(?!/)</string>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.js</string>
</dict>
</dict>
<key>end</key>
<string>\*/</string>
<key>name</key>
<string>comment.block.documentation.js</string>
</dict>
<dict>
<key>begin</key>
<string>/\*</string>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.js</string>
</dict>
</dict>
<key>end</key>
<string>\*/</string>
<key>name</key>
<string>comment.block.js</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.js</string>
</dict>
</dict>
<key>match</key>
<string>(//).*$\n?</string>
<key>name</key>
<string>comment.line.double-slash.js</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.html.js</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.html.js</string>
</dict>
</dict>
<key>match</key>
<string>(&lt;!--|--&gt;)</string>
<key>name</key>
<string>comment.block.html.js</string>
</dict>
<dict>
<key>match</key>
<string>\b(boolean|byte|char|class|double|enum|float|function|int|interface|long|short|var|void)\b</string>
<key>name</key>
<string>storage.type.js</string>
</dict>
<dict>
<key>match</key>
<string>\b(const|export|extends|final|implements|native|private|protected|public|static|synchronized|throws|transient|volatile)\b</string>
<key>name</key>
<string>storage.modifier.js</string>
</dict>
<dict>
<key>match</key>
<string>\b(break|case|catch|continue|default|do|else|finally|for|goto|if|import|package|return|switch|throw|try|while)\b</string>
<key>name</key>
<string>keyword.control.js</string>
</dict>
<dict>
<key>match</key>
<string>\b(delete|in|instanceof|new|typeof|with)\b</string>
<key>name</key>
<string>keyword.operator.js</string>
</dict>
<dict>
<key>match</key>
<string>\btrue\b</string>
<key>name</key>
<string>constant.language.boolean.true.js</string>
</dict>
<dict>
<key>match</key>
<string>\bfalse\b</string>
<key>name</key>
<string>constant.language.boolean.false.js</string>
</dict>
<dict>
<key>match</key>
<string>\bnull\b</string>
<key>name</key>
<string>constant.language.null.js</string>
</dict>
<dict>
<key>match</key>
<string>\b(super|this)\b</string>
<key>name</key>
<string>variable.language.js</string>
</dict>
<dict>
<key>match</key>
<string>\b(debugger)\b</string>
<key>name</key>
<string>keyword.other.js</string>
</dict>
<dict>
<key>match</key>
<string>\b(Anchor|Applet|Area|Array|Boolean|Button|Checkbox|Date|document|event|FileUpload|Form|Frame|Function|Hidden|History|Image|JavaArray|JavaClass|JavaObject|JavaPackage|java|Layer|Link|Location|Math|MimeType|Number|navigator|netscape|Object|Option|Packages|Password|Plugin|Radio|RegExp|Reset|Select|String|Style|Submit|screen|sun|Text|Textarea|window|XMLHttpRequest)\b</string>
<key>name</key>
<string>support.class.js</string>
</dict>
<dict>
<key>match</key>
<string>\b(s(h(ift|ow(Mod(elessDialog|alDialog)|Help))|croll(X|By(Pages|Lines)?|Y|To)?|t(op|rike)|i(n|zeToContent|debar|gnText)|ort|u(p|b(str(ing)?)?)|pli(ce|t)|e(nd|t(Re(sizable|questHeader)|M(i(nutes|lliseconds)|onth)|Seconds|Ho(tKeys|urs)|Year|Cursor|Time(out)?|Interval|ZOptions|Date|UTC(M(i(nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(ome|andleEvent)|navigate|c(har(CodeAt|At)|o(s|n(cat|textual|firm)|mpile)|eil|lear(Timeout|Interval)?|a(ptureEvents|ll)|reate(StyleSheet|Popup|EventObject))|t(o(GMTString|S(tring|ource)|U(TCString|pperCase)|Lo(caleString|werCase))|est|a(n|int(Enabled)?))|i(s(NaN|Finite)|ndexOf|talics)|d(isableExternalCapture|ump|etachEvent)|u(n(shift|taint|escape|watch)|pdateCommands)|j(oin|avaEnabled)|p(o(p|w)|ush|lugins.refresh|a(ddings|rse(Int|Float)?)|r(int|ompt|eference))|e(scape|nableExternalCapture|val|lementFromPoint|x(p|ec(Script|Command)?))|valueOf|UTC|queryCommand(State|Indeterm|Enabled|Value)|f(i(nd|le(ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(nt(size|color)|rward)|loor|romCharCode)|watch|l(ink|o(ad|g)|astIndexOf)|a(sin|nchor|cos|t(tachEvent|ob|an(2)?)|pply|lert|b(s|ort))|r(ou(nd|teEvents)|e(size(By|To)|calc|turnValue|place|verse|l(oad|ease(Capture|Events)))|andom)|g(o|et(ResponseHeader|M(i(nutes|lliseconds)|onth)|Se(conds|lection)|Hours|Year|Time(zoneOffset)?|Da(y|te)|UTC(M(i(nutes|lliseconds)|onth)|Seconds|Hours|Da(y|te)|FullYear)|FullYear|A(ttention|llResponseHeaders)))|m(in|ove(B(y|elow)|To(Absolute)?|Above)|ergeAttributes|a(tch|rgins|x))|b(toa|ig|o(ld|rderWidths)|link|ack))\b(?=\()</string>
<key>name</key>
<string>support.function.js</string>
</dict>
<dict>
<key>match</key>
<string>\b(s(ub(stringData|mit)|plitText|e(t(NamedItem|Attribute(Node)?)|lect))|has(ChildNodes|Feature)|namedItem|c(l(ick|o(se|neNode))|reate(C(omment|DATASection|aption)|T(Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(ntityReference|lement)|Attribute))|tabIndex|i(nsert(Row|Before|Cell|Data)|tem)|open|delete(Row|C(ell|aption)|T(Head|Foot)|Data)|focus|write(ln)?|a(dd|ppend(Child|Data))|re(set|place(Child|Data)|move(NamedItem|Child|Attribute(Node)?)?)|get(NamedItem|Element(sBy(Name|TagName)|ById)|Attribute(Node)?)|blur)\b(?=\()</string>
<key>name</key>
<string>support.function.dom.js</string>
</dict>
<dict>
<key>match</key>
<string>(?&lt;=\.)(s(ystemLanguage|cr(ipts|ollbars|een(X|Y|Top|Left))|t(yle(Sheets)?|atus(Text|bar)?)|ibling(Below|Above)|ource|uffixes|e(curity(Policy)?|l(ection|f)))|h(istory|ost(name)?|as(h|Focus))|y|X(MLDocument|SLDocument)|n(ext|ame(space(s|URI)|Prop))|M(IN_VALUE|AX_VALUE)|c(haracterSet|o(n(structor|trollers)|okieEnabled|lorDepth|mp(onents|lete))|urrent|puClass|l(i(p(boardData)?|entInformation)|osed|asses)|alle(e|r)|rypto)|t(o(olbar|p)|ext(Transform|Indent|Decoration|Align)|ags)|SQRT(1_2|2)|i(n(ner(Height|Width)|put)|ds|gnoreCase)|zIndex|o(scpu|n(readystatechange|Line)|uter(Height|Width)|p(sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(i(splay|alog(Height|Top|Width|Left|Arguments)|rectories)|e(scription|fault(Status|Ch(ecked|arset)|View)))|u(ser(Profile|Language|Agent)|n(iqueID|defined)|pdateInterval)|_content|p(ixelDepth|ort|ersonalbar|kcs11|l(ugins|atform)|a(thname|dding(Right|Bottom|Top|Left)|rent(Window|Layer)?|ge(X(Offset)?|Y(Offset)?))|r(o(to(col|type)|duct(Sub)?|mpter)|e(vious|fix)))|e(n(coding|abledPlugin)|x(ternal|pando)|mbeds)|v(isibility|endor(Sub)?|Linkcolor)|URLUnencoded|P(I|OSITIVE_INFINITY)|f(ilename|o(nt(Size|Family|Weight)|rmName)|rame(s|Element)|gColor)|E|whiteSpace|l(i(stStyleType|n(eHeight|kColor))|o(ca(tion(bar)?|lName)|wsrc)|e(ngth|ft(Context)?)|a(st(M(odified|atch)|Index|Paren)|yer(s|X)|nguage))|a(pp(MinorVersion|Name|Co(deName|re)|Version)|vail(Height|Top|Width|Left)|ll|r(ity|guments)|Linkcolor|bove)|r(ight(Context)?|e(sponse(XML|Text)|adyState))|global|x|m(imeTypes|ultiline|enubar|argin(Right|Bottom|Top|Left))|L(N(10|2)|OG(10E|2E))|b(o(ttom|rder(Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(Color|Image)))\b</string>
<key>name</key>
<string>support.constant.js</string>
</dict>
<dict>
<key>match</key>
<string>(?&lt;=\.)(s(hape|ystemId|c(heme|ope|rolling)|ta(ndby|rt)|ize|ummary|pecified|e(ctionRowIndex|lected(Index)?)|rc)|h(space|t(tpEquiv|mlFor)|e(ight|aders)|ref(lang)?)|n(o(Resize|tation(s|Name)|Shade|Href|de(Name|Type|Value)|Wrap)|extSibling|ame)|c(h(ildNodes|Off|ecked|arset)?|ite|o(ntent|o(kie|rds)|de(Base|Type)?|l(s|Span|or)|mpact)|ell(s|Spacing|Padding)|l(ear|assName)|aption)|t(ype|Bodies|itle|Head|ext|a(rget|gName)|Foot)|i(sMap|ndex|d|m(plementation|ages))|o(ptions|wnerDocument|bject)|d(i(sabled|r)|o(c(type|umentElement)|main)|e(clare|f(er|ault(Selected|Checked|Value)))|at(eTime|a))|useMap|p(ublicId|arentNode|r(o(file|mpt)|eviousSibling))|e(n(ctype|tities)|vent|lements)|v(space|ersion|alue(Type)?|Link|Align)|URL|f(irstChild|orm(s)?|ace|rame(Border)?)|width|l(ink(s)?|o(ngDesc|wSrc)|a(stChild|ng|bel))|a(nchors|c(ce(ssKey|pt(Charset)?)|tion)|ttributes|pplets|l(t|ign)|r(chive|eas)|xis|Link|bbr)|r(ow(s|Span|Index)|ules|e(v|ferrer|l|adOnly))|m(ultiple|e(thod|dia)|a(rgin(Height|Width)|xLength))|b(o(dy|rder)|ackground|gColor))\b</string>
<key>name</key>
<string>support.constant.dom.js</string>
</dict>
<dict>
<key>match</key>
<string>\b(ELEMENT_NODE|ATTRIBUTE_NODE|TEXT_NODE|CDATA_SECTION_NODE|ENTITY_REFERENCE_NODE|ENTITY_NODE|PROCESSING_INSTRUCTION_NODE|COMMENT_NODE|DOCUMENT_NODE|DOCUMENT_TYPE_NODE|DOCUMENT_FRAGMENT_NODE|NOTATION_NODE|INDEX_SIZE_ERR|DOMSTRING_SIZE_ERR|HIERARCHY_REQUEST_ERR|WRONG_DOCUMENT_ERR|INVALID_CHARACTER_ERR|NO_DATA_ALLOWED_ERR|NO_MODIFICATION_ALLOWED_ERR|NOT_FOUND_ERR|NOT_SUPPORTED_ERR|INUSE_ATTRIBUTE_ERR)\b</string>
<key>name</key>
<string>support.constant.dom.js</string>
</dict>
<dict>
<key>match</key>
<string>\bon(R(ow(s(inserted|delete)|e(nter|xit))|e(s(ize(start|end)?|et)|adystatechange))|Mouse(o(ut|ver)|down|up|move)|B(efore(cut|deactivate|u(nload|pdate)|p(aste|rint)|editfocus|activate)|lur)|S(croll|top|ubmit|elect(start|ionchange)?)|H(over|elp)|C(hange|ont(extmenu|rolselect)|ut|ellchange|l(ick|ose))|D(eactivate|ata(setc(hanged|omplete)|available)|r(op|ag(start|over|drop|en(ter|d)|leave)?)|blclick)|Unload|P(aste|ropertychange)|Error(update)?|Key(down|up|press)|Focus|Load|A(ctivate|fter(update|print)|bort))\b</string>
<key>name</key>
<string>support.function.event-handler.js</string>
</dict>
<dict>
<key>match</key>
<string>!|\$|%|&amp;|\*|\-\-|\-|\+\+|\+|~|===|==|=|!=|!==|&lt;=|&gt;=|&lt;&lt;=|&gt;&gt;=|&gt;&gt;&gt;=|&lt;&gt;|&lt;|&gt;|!|&amp;&amp;|\|\||\?\:|\*=|(?&lt;!\()/=|%=|\+=|\-=|&amp;=|\^=|\b(in|instanceof|new|delete|typeof|void)\b</string>
<key>name</key>
<string>keyword.operator.js</string>
</dict>
<dict>
<key>match</key>
<string>\b(Infinity|NaN|undefined)\b</string>
<key>name</key>
<string>constant.language.js</string>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;=[=(:]|^|return|&amp;&amp;|\|\||!)\s*(/)(?![/*+{}?])</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.js</string>
</dict>
</dict>
<key>end</key>
<string>(/)[igm]*</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.js</string>
</dict>
</dict>
<key>name</key>
<string>string.regexp.js</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\\.</string>
<key>name</key>
<string>constant.character.escape.js</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>\;</string>
<key>name</key>
<string>punctuation.terminator.statement.js</string>
</dict>
<dict>
<key>match</key>
<string>,[ |\t]*</string>
<key>name</key>
<string>meta.delimiter.object.comma.js</string>
</dict>
<dict>
<key>match</key>
<string>\.</string>
<key>name</key>
<string>meta.delimiter.method.period.js</string>
</dict>
<dict>
<key>match</key>
<string>\{|\}</string>
<key>name</key>
<string>meta.brace.curly.js</string>
</dict>
<dict>
<key>match</key>
<string>\(|\)</string>
<key>name</key>
<string>meta.brace.round.js</string>
</dict>
<dict>
<key>match</key>
<string>\[|\]</string>
<key>name</key>
<string>meta.brace.square.js</string>
</dict>
</array>
<key>scopeName</key>
<string>source.js</string>
<key>uuid</key>
<string>93E017CC-6F27-11D9-90EB-000D93589AF6</string>
</dict>
</plist>

View File

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>contactEmailRot13</key>
<string>boyvivbhf@fhogyrTenqvrag.pbz</string>
<key>contactName</key>
<string>Thomas Aylott</string>
<key>deleted</key>
<array>
<string>0FE55436-0C29-4545-A3BE-B858EF81E27B</string>
</array>
<key>description</key>
<string>Support for &lt;a href="http://developer.mozilla.org/en/docs/About_JavaScript"&gt;JavaScript&lt;/a&gt;.</string>
<key>mainMenu</key>
<dict>
<key>items</key>
<array>
<string>D2E6A1FE-2881-4754-B399-B65F61F29C2F</string>
<string>43F40EB6-5839-4BE8-99C8-4976D0534E5D</string>
<string>52090C49-D8B2-49A0-9597-80574354B3CD</string>
<string>------------------------------------</string>
<string>B4874A14-2491-465A-A349-61E4EBCF4700</string>
<string>------------------------------------</string>
<string>36EC03E9-EFF4-479A-AB90-8DFA16800642</string>
<string>20E61C43-B81F-4FB9-9362-BFFE668EB9C9</string>
</array>
<key>submenus</key>
<dict>
<key>43F40EB6-5839-4BE8-99C8-4976D0534E5D</key>
<dict>
<key>items</key>
<array>
<string>9E0E3BCC-7F20-4D6B-891D-A44D6EC56E31</string>
</array>
<key>name</key>
<string>DOM</string>
</dict>
<key>52090C49-D8B2-49A0-9597-80574354B3CD</key>
<dict>
<key>items</key>
<array>
<string>009A3E6C-FE3F-4A18-8759-2DC31F17BBE2</string>
</array>
<key>name</key>
<string>BOM</string>
</dict>
<key>66778C58-CE08-4F21-AD36-562149AEEE80</key>
<dict>
<key>items</key>
<array>
<string>4C6EDB43-3E2E-411B-A016-13C135C59833</string>
<string>F0E4FB6A-4878-48C6-A777-62438DF1E14F</string>
<string>------------------------------------</string>
<string>73951799-AC15-40A6-81DB-EC051AB4A033</string>
<string>1717B5AE-209B-4548-9155-9E88A7230C1C</string>
<string>------------------------------------</string>
<string>77065D69-742A-4FF0-9A41-AD211DFBE72F</string>
<string>7B9AEFCC-B450-416D-8527-430FE2A08568</string>
</array>
<key>name</key>
<string>Function</string>
</dict>
<key>7699AC1A-80AC-4120-A375-9371D1591F79</key>
<dict>
<key>items</key>
<array>
<string>F19F3732-39A7-48EC-A72B-A8F477A01795</string>
<string>31964029-9D71-4ADC-8213-DFE5C4E222B3</string>
<string>------------------------------------</string>
<string>011C4681-FBEC-4891-9326-3DECFCDED6D6</string>
<string>C207B7C3-5597-4873-8AAD-C46FB8842AF2</string>
</array>
<key>name</key>
<string>Control</string>
</dict>
<key>D2E6A1FE-2881-4754-B399-B65F61F29C2F</key>
<dict>
<key>items</key>
<array>
<string>7699AC1A-80AC-4120-A375-9371D1591F79</string>
<string>EC690F46-1906-4F55-9089-3C2929D5BB69</string>
<string>66778C58-CE08-4F21-AD36-562149AEEE80</string>
</array>
<key>name</key>
<string>Core</string>
</dict>
<key>EC690F46-1906-4F55-9089-3C2929D5BB69</key>
<dict>
<key>items</key>
<array>
<string>DC8B46FB-8ADA-45EA-8F36-94C807A0D302</string>
<string>AD506BEC-B33C-4168-A900-0A4D386A4B05</string>
<string>------------------------------------</string>
<string>2F96136B-0193-42F5-90FC-B6F456A3AD77</string>
</array>
<key>name</key>
<string>Language</string>
</dict>
</dict>
</dict>
<key>name</key>
<string>JavaScript</string>
<key>ordering</key>
<array>
<string>73951799-AC15-40A6-81DB-EC051AB4A033</string>
<string>1717B5AE-209B-4548-9155-9E88A7230C1C</string>
<string>B4874A14-2491-465A-A349-61E4EBCF4700</string>
<string>36EC03E9-EFF4-479A-AB90-8DFA16800642</string>
<string>20E61C43-B81F-4FB9-9362-BFFE668EB9C9</string>
<string>77065D69-742A-4FF0-9A41-AD211DFBE72F</string>
<string>F0E4FB6A-4878-48C6-A777-62438DF1E14F</string>
<string>2F96136B-0193-42F5-90FC-B6F456A3AD77</string>
<string>4C6EDB43-3E2E-411B-A016-13C135C59833</string>
<string>93E017CC-6F27-11D9-90EB-000D93589AF6</string>
<string>A67A8BD9-A951-406F-9175-018DD4B52FD1</string>
<string>BC062860-3346-4D3B-8421-C5543F83D11F</string>
<string>834BC727-6B31-4073-A161-4823227219EF</string>
<string>3CEA49B2-A5C5-405C-82E2-B8B668877C37</string>
<string>E6EB7CC8-04E8-43A9-93B2-BC9EF5BA862B</string>
<string>73557394-4F0F-4DD3-8029-EEE8201AC7F5</string>
<string>51841DDB-C2A4-461C-A8AB-6C124AD50EAE</string>
<string>F19F3732-39A7-48EC-A72B-A8F477A01795</string>
<string>31964029-9D71-4ADC-8213-DFE5C4E222B3</string>
<string>011C4681-FBEC-4891-9326-3DECFCDED6D6</string>
<string>C207B7C3-5597-4873-8AAD-C46FB8842AF2</string>
<string>AD506BEC-B33C-4168-A900-0A4D386A4B05</string>
<string>DC8B46FB-8ADA-45EA-8F36-94C807A0D302</string>
<string>009A3E6C-FE3F-4A18-8759-2DC31F17BBE2</string>
<string>7B9AEFCC-B450-416D-8527-430FE2A08568</string>
<string>9E0E3BCC-7F20-4D6B-891D-A44D6EC56E31</string>
</array>
<key>uuid</key>
<string>AAB4FD74-73F9-11D9-B89A-000D93589AF6</string>
</dict>
</plist>