Skip to content

Instantly share code, notes, and snippets.

@JoshuaWise
Created March 19, 2015 20:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JoshuaWise/f68838adfa6b3ee73808 to your computer and use it in GitHub Desktop.
Save JoshuaWise/f68838adfa6b3ee73808 to your computer and use it in GitHub Desktop.
JavaScript Ultimate mod: highlight all function calls
<!-- ##### Operators, Keywords, Constants #####-->
<key>operators-keywords-constants</key>
<dict>
<key>patterns</key>
<array>
<!-- Method Calls (anything.method(args)) -->
<dict>
<key>match</key>
<string>(?&lt;=\.)\s*+[\p{L}\p{Nl}$_][\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}]*+(?=\s*+\()</string>
<key>name</key>
<string>support.function.js</string>
</dict>
<!-- Normal Property Accessors (anything.propertyName) -->
<dict>
<key>match</key>
<string>(?&lt;=\.)\s*+[\p{L}\p{Nl}$_][\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}]*+</string>
</dict>
<!-- Booleans -->
<dict>
<key>match</key>
<string>(?&lt;![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])true(?![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])</string>
<key>name</key>
<string>constant.language.boolean.true.js</string>
</dict>
<dict>
<key>match</key>
<string>(?&lt;![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])false(?![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])</string>
<key>name</key>
<string>constant.language.boolean.false.js</string>
</dict>
<!-- Global Constants -->
<dict>
<key>match</key>
<string>(?&lt;![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])null(?![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])</string>
<key>name</key>
<string>constant.language.null.js</string>
</dict>
<dict>
<key>match</key>
<string>(?&lt;![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])undefined(?![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])</string>
<key>name</key>
<string>constant.language.undefined.js</string>
</dict>
<dict>
<key>match</key>
<string>(?&lt;![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])(?>Infinity|NaN)(?![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])</string>
<key>name</key>
<string>constant.language.js</string>
</dict>
<!-- Built-In Variables -->
<dict>
<key>match</key>
<string>(?&lt;![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])(?>super|this|arguments)(?![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])</string>
<key>name</key>
<string>variable.language.js</string>
</dict>
<!-- Storage Declarations -->
<dict>
<key>match</key>
<string>(?&lt;![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])(?>c(?>lass|onst)|enum|function|var|let|get|set|interface)(?![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])</string>
<key>name</key>
<string>storage.type.js</string>
</dict>
<!-- Storage Modifiers -->
<dict>
<key>match</key>
<string>(?&lt;![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])(?>extends|implements|p(?>r(?>otected|ivate)|ublic)|static)(?![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])</string>
<key>name</key>
<string>storage.modifier.js</string>
</dict>
<!-- Control Flow Statements -->
<dict>
<key>match</key>
<string>(?&lt;![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])(?>yield|e(?>xport|lse)|await|break|c(?>atch|ontinue)|d(?>ebugger|o)|f(?>inally|or)|i(?>f|mport)|package|return|switch|t(?>hrow|ry)|while)(?![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])</string>
<key>name</key>
<string>keyword.control.js</string>
</dict>
<!-- Bitwise Operators (combination) -->
<dict>
<key>match</key>
<string>(?>&gt;&gt;(?>&gt;(?>=)?|=)?|&lt;&lt;(?>=)?|&amp;=|\^=|\|=)</string>
<key>name</key>
<string>bitwise-operator.js</string>
</dict>
<!-- Major Operators (combination) -->
<dict>
<key>match</key>
<string>(?>-(?>-|=)|\+(?>\+|=)|~~|==(?>=)?|!=(?>=)?|&lt;=|&gt;=|&amp;&amp;|\|\||\*=|/=|%=|\?:)</string>
<key>name</key>
<string>keyword.operator.js</string>
</dict>
<!-- Major Operators (single) -->
<dict>
<key>match</key>
<string>(?>!|%|\*|/|-|\+|=|&lt;|&gt;)|(?&lt;![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])(?>in(?>stanceof)?|of|new|delete|typeof|void|with)(?![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])</string>
<key>name</key>
<string>keyword.operator.js</string>
</dict>
<!-- Bitwise Operators (single) -->
<dict>
<key>match</key>
<string>&amp;|\^|\||~</string>
<key>name</key>
<string>bitwise-operator.js</string>
</dict>
<!-- Normal Function Calls (func(args)) -->
<dict>
<key>match</key>
<string>(?&lt;![\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}])[\p{L}\p{Nl}$_][\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}_\x{200C}\x{200D}]*+(?=\s*+\()</string>
<key>name</key>
<string>support.function.js</string>
</dict>
</array>
</dict>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment