summaryrefslogtreecommitdiff
path: root/editors/Textmate/Prado.tmbundle/Syntaxes
diff options
context:
space:
mode:
authorctrlaltca <>2012-07-24 17:28:14 +0000
committerctrlaltca <>2012-07-24 17:28:14 +0000
commit59ef1ca568d8e20a726e343556113c117ce5022c (patch)
treeeaeeb5b386281a3c82afe2fe6d237bc03646a7f5 /editors/Textmate/Prado.tmbundle/Syntaxes
parent255db529c49ae00f5e8defb14c77461582edfd39 (diff)
updated plugin for textmate editor (works on "sublime text editor 2", too):
- updated prado syntax to the php's and html's current versions - added missing webcontrols (activecontrols still missing)
Diffstat (limited to 'editors/Textmate/Prado.tmbundle/Syntaxes')
-rw-r--r--editors/Textmate/Prado.tmbundle/Syntaxes/Prado PHP.tmLanguage3015
-rw-r--r--editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template.tmLanguage389
2 files changed, 2963 insertions, 441 deletions
diff --git a/editors/Textmate/Prado.tmbundle/Syntaxes/Prado PHP.tmLanguage b/editors/Textmate/Prado.tmbundle/Syntaxes/Prado PHP.tmLanguage
index b2ed6da0..dad644e1 100644
--- a/editors/Textmate/Prado.tmbundle/Syntaxes/Prado PHP.tmLanguage
+++ b/editors/Textmate/Prado.tmbundle/Syntaxes/Prado PHP.tmLanguage
@@ -1,9 +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">
+<!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>TODO:
+• Try to improve parameters list syntax – scope numbers, ‘=’, ‘,’ and possibly be intelligent about entity ordering
+• Is meta.function-call the correct scope? I've added it to my theme but by default it's not highlighted</string>
+ <key>fileTypes</key>
+ <array>
+ <!-- .php files are actually opened with HTML.tmLanguage, this is just a bit of trickery to make it look like PHP.tmLanguage is used to open them -->
+ <string>php</string>
+ </array>
<key>firstLineMatch</key>
- <string>^#!.*php[0-9]{0,1}\b</string>
+ <string>^#!.*(?&lt;!-)php[0-9]{0,1}\b</string>
<key>foldingStartMarker</key>
<string>(/\*|\{\s*$|&lt;&lt;&lt;HTML)</string>
<key>foldingStopMarker</key>
@@ -47,168 +56,761 @@
</dict>
</array>
</dict>
- </array>
- <key>repository</key>
- <dict>
- <key>language</key>
<dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.whitespace.embedded.leading.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>source.php.embedded.line.empty.html</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.section.embedded.begin.php</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>meta.consecutive-tags.php</string>
+ </dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
+ <string>source.php</string>
+ </dict>
+ <key>6</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.section.embedded.end.php</string>
+ </dict>
+ <key>7</key>
+ <dict>
+ <key>name</key>
+ <string>source.php</string>
+ </dict>
+ <key>8</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.whitespace.embedded.trailing.php</string>
+ </dict>
+ </dict>
+ <key>comment</key>
+ <string>Matches empty tags.</string>
+ <key>match</key>
+ <string>(?x)
+ (^\s*)? # 1 - Leading whitespace
+ ( # 2 - meta.embedded.line.empty.php
+ ( # 3 - Open Tag
+ (?:
+ ((?&lt;=\?&gt;)&lt;) # 4 - Consecutive tags
+ | &lt;
+ )
+ \?(?i:php|=)?
+ )
+ (\s*) # 5 - Loneliness
+ ((\?)&gt;) # 6 - Close Tag
+ # 7 - Scope ? as scope.php
+ )
+ (
+ \1 # Match nothing if there was no
+ # leading whitespace...
+ | (\s*$\n)? # or match trailing whitespace.
+ )
+ </string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>^\s*(?=&lt;\?)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.whitespace.embedded.leading.php</string>
+ </dict>
+ </dict>
+ <key>comment</key>
+ <string>Catches tags with preceeding whitespace.</string>
+ <key>end</key>
+ <string>(?&lt;=\?&gt;)(\s*$\n)?</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.whitespace.embedded.trailing.php</string>
+ </dict>
+ </dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
- <string>(&lt;&lt;&lt;HTML)</string>
- <key>captures</key>
+ <string>&lt;\?(?i:php|=)?</string>
+ <key>beginCaptures</key>
<dict>
- <key>1</key>
+ <key>0</key>
<dict>
<key>name</key>
- <string>keyword.other.heredoc</string>
+ <string>punctuation.section.embedded.begin.php</string>
</dict>
</dict>
- <key>contentName</key>
- <string>text.html.basic.embedded</string>
<key>end</key>
- <string>^(HTML);</string>
+ <string>(\?)&gt;</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.section.embedded.end.php</string>
+ </dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>source.php</string>
+ </dict>
+ </dict>
<key>name</key>
- <string>meta.scope.heredoc</string>
+ <string>source.php.embedded.block.html</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
- <string>text.html.basic</string>
+ <string>#language</string>
</dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(((?&lt;=\?&gt;)&lt;)|&lt;)\?(?i:php|=)?</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.section.embedded.begin.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>meta.consecutive-tags.php</string>
+ </dict>
+ </dict>
+ <key>comment</key>
+ <string>Catches the remainder.</string>
+ <key>end</key>
+ <string>(\?)&gt;</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.section.embedded.end.php</string>
+ </dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>source.php</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>source.php.embedded.line.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#language</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ <key>repository</key>
+ <dict>
+ <key>constants</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>(?i)\b(TRUE|FALSE|NULL|__(FILE|FUNCTION|CLASS|METHOD|LINE)__|ON|OFF|YES|NO|NL|BR|TAB)\b</string>
+ <key>name</key>
+ <string>constant.language.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(DEFAULT_INCLUDE_PATH|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|(RECOVERABLE_)?ERROR|NOTICE|PARSE|STRICT|USER_(ERROR|NOTICE|WARNING)|WARNING)|PEAR_(EXTENSION_DIR|INSTALL_DIR)|PHP_(BINDIR|CONFIG_FILE_PATH|DATADIR|E(OL|XTENSION_DIR)|L(IBDIR|OCALSTATEDIR)|O(S|UTPUT_HANDLER_CONT|UTPUT_HANDLER_END|UTPUT_HANDLER_START)|SYSCONFDIR|VERSION))\b</string>
+ <key>name</key>
+ <string>support.constant.core.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\b(A(B(DAY_([1-7])|MON_([0-9]{1,2}))|LT_DIGITS|M_STR|SSERT_(ACTIVE|BAIL|CALLBACK|QUIET_EVAL|WARNING))|C(ASE_(LOWER|UPPER)|HAR_MAX|O(DESET|NNECTION_(ABORTED|NORMAL|TIMEOUT)|UNT_(NORMAL|RECURSIVE))|REDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)|RNCYSTR|RYPT_(BLOWFISH|EXT_DES|MD5|SALT_LENGTH|STD_DES)|URRENCY_SYMBOL)|D(AY_([1-7])|ECIMAL_POINT|IRECTORY_SEPARATOR|_(FMT|T_FMT))|E(NT_(COMPAT|NOQUOTES|QUOTES)|RA(|_D_FMT|_D_T_FMT|_T_FMT|_YEAR)|XTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|SKIP))|FRAC_DIGITS|GROUPING|HTML_(ENTITIES|SPECIALCHARS)|IN(FO_(ALL|CONFIGURATION|CREDITS|ENVIRONMENT|GENERAL|LICENSE|MODULES|VARIABLES)|I_(ALL|PERDIR|SYSTEM|USER)|T_(CURR_SYMBOL|FRAC_DIGITS))|L(C_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|O(CK_(EX|NB|SH|UN)|G_(ALERT|AUTH(|PRIV)|CONS|CRIT|CRON|DAEMON|DEBUG|EMERG|ERR|INFO|KERN|LOCAL([0-7])|LPR|MAIL|NDELAY|NEWS|NOTICE|NOWAIT|ODELAY|PERROR|PID|SYSLOG|USER|UUCP|WARNING)))|M(ON_([0-9]{1,2}|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|YSQL_(ASSOC|BOTH|NUM)|_(1_PI|2_(PI|SQRTPI)|E|L(N10|N2|OG(10E|2E))|PI(|_2|_4)|SQRT1_2|SQRT2))|N(EGATIVE_SIGN|O(EXPR|STR)|_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN))|P(ATH(INFO_(BASENAME|DIRNAME|EXTENSION|FILENAME)|_SEPARATOR)|M_STR|OSITIVE_SIGN|_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN))|RADIXCHAR|S(EEK_(CUR|END|SET)|ORT_(ASC|DESC|NUMERIC|REGULAR|STRING)|TR_PAD_(BOTH|LEFT|RIGHT))|T(HOUS(ANDS_SEP|EP)|_(FMT(|_AMPM)))|YES(EXPR|STR))\b</string>
+ <key>name</key>
+ <string>support.constant.std.php</string>
+ </dict>
+ <dict>
+ <key>comment</key>
+ <string>In PHP, any identifier which is not a variable is taken to be a constant.
+ However, if there is no constant defined with the given name then a notice
+ is generated and the constant is assumed to have the value of its name.</string>
+ <key>match</key>
+ <string>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*</string>
+ <key>name</key>
+ <string>constant.other.php</string>
+ </dict>
+ </array>
+ </dict>
+ <key>function-call</key>
+ <dict>
+ <key>match</key>
+ <string>[A-Za-z_][A-Za-z_0-9]*(?=\s*\()</string>
+ <key>name</key>
+ <string>meta.function-call.php</string>
+ </dict>
+ <key>instantiation</key>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.other.new.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>variable.other.php</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>support.class.php</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>support.class.php</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>(?i)\b(new)\s+(?:(\$[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)|(\w+))|(\w+)(?=::)</string>
+ </dict>
+ <key>interpolation</key>
+ <dict>
+ <key>comment</key>
+ <string>http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>\\[0-7]{1,3}</string>
+ <key>name</key>
+ <string>constant.numeric.octal.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\\x[0-9A-Fa-f]{1,2}</string>
+ <key>name</key>
+ <string>constant.numeric.hex.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\\[nrt\\\$\"]</string>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
<dict>
- <key>include</key>
- <string>#var_global</string>
+ <key>name</key>
+ <string>variable.other.php</string>
</dict>
+ <key>2</key>
<dict>
- <key>include</key>
- <string>#var_global_safer</string>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
</dict>
+ <key>4</key>
<dict>
- <key>include</key>
- <string>#var_basic</string>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
</dict>
+ </dict>
+ <key>comment</key>
+ <string>Simple syntax with braces: "foo${bar}baz"</string>
+ <key>match</key>
+ <string>(?x)
+ ((\$\{)(?&lt;name&gt;[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(\}))
+ </string>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
<dict>
- <key>include</key>
- <string>#var_complex_string_heredoc</string>
+ <key>name</key>
+ <string>variable.other.php</string>
</dict>
- </array>
+ <key>10</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
+ </dict>
+ <key>11</key>
+ <dict>
+ <key>name</key>
+ <string>string.unquoted.index.php</string>
+ </dict>
+ <key>12</key>
+ <dict>
+ <key>name</key>
+ <string>invalid.illegal.invalid-simple-array-index.php</string>
+ </dict>
+ <key>13</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.index-end.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.class.php</string>
+ </dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
+ <string>variable.other.property.php</string>
+ </dict>
+ <key>6</key>
+ <dict>
+ <key>name</key>
+ <string>invalid.illegal.php</string>
+ </dict>
+ <key>7</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.index-start.php</string>
+ </dict>
+ <key>8</key>
+ <dict>
+ <key>name</key>
+ <string>constant.numeric.index.php</string>
+ </dict>
+ <key>9</key>
+ <dict>
+ <key>name</key>
+ <string>variable.other.index.php</string>
+ </dict>
+ </dict>
+ <key>comment</key>
+ <string>Simple syntax: $foo, $foo[0], $foo[$bar], $foo-&gt;bar</string>
+ <key>match</key>
+ <string>(?x)
+ ((\$)(?&lt;name&gt;[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*))
+ (?:
+ (-&gt;)
+ (?:
+ (\g&lt;name&gt;)
+ |
+ (\$\g&lt;name&gt;)
+ )
+ |
+ (\[)
+ (?:(\d+)|((\$)\g&lt;name&gt;)|(\w+)|(.*?))
+ (\])
+ )?
+ </string>
</dict>
<dict>
<key>begin</key>
- <string>(&lt;&lt;&lt;XML)</string>
- <key>captures</key>
+ <string>(?=(?&lt;regex&gt;(?#simple syntax)\$(?&lt;name&gt;[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?&lt;index&gt;[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g&lt;name&gt;)\]|-&gt;\g&lt;name&gt;(\(.*?\))?)?|(?#simple syntax with braces)\$\{(?:\g&lt;name&gt;(?&lt;indices&gt;\[(?:\g&lt;index&gt;|'(?:\\.|[^'\\])*'|"(?:\g&lt;regex&gt;|\\.|[^"\\])*")\])?|\g&lt;complex&gt;|\$\{\g&lt;complex&gt;\})\}|(?#complex syntax)\{(?&lt;complex&gt;\$(?&lt;segment&gt;\g&lt;name&gt;(\g&lt;indices&gt;*|\(.*?\))?)(?:-&gt;\g&lt;segment&gt;)*|\$\g&lt;complex&gt;|\$\{\g&lt;complex&gt;\})\}))\{</string>
+ <key>beginCaptures</key>
<dict>
- <key>1</key>
+ <key>0</key>
<dict>
<key>name</key>
- <string>keyword.other.heredoc</string>
+ <string>punctuation.definition.variable.php</string>
</dict>
</dict>
- <key>contentName</key>
- <string>text.xml.embedded</string>
+ <key>comment</key>
+ <string>Complex syntax. It seems this now supports complex method calls, as of PHP5.
+ I've put wildcards into the function call parameter lists to handle this, but this may break the pattern.
+ It also might be better to disable it as I shouldn't imagine it's used often (hopefully) and it may confuse PHP4 users.</string>
<key>end</key>
- <string>^(XML);</string>
- <key>name</key>
- <string>meta.scope.heredoc</string>
+ <string>\}</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
+ </dict>
+ </dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
- <string>text.xml</string>
+ <string>#function-call</string>
</dict>
<dict>
<key>include</key>
- <string>#var_global</string>
+ <string>#var_basic</string>
</dict>
<dict>
<key>include</key>
- <string>#var_global_safer</string>
+ <string>#object</string>
</dict>
<dict>
<key>include</key>
- <string>#var_basic</string>
+ <string>#numbers</string>
</dict>
<dict>
- <key>include</key>
- <string>#var_complex_string_heredoc</string>
+ <key>match</key>
+ <string>\[</string>
+ <key>name</key>
+ <string>keyword.operator.index-start.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\]</string>
+ <key>name</key>
+ <string>keyword.operator.index-end.php</string>
</dict>
</array>
</dict>
+ </array>
+ </dict>
+ <key>language</key>
+ <dict>
+ <key>patterns</key>
+ <array>
<dict>
<key>begin</key>
- <string>(&lt;&lt;&lt;SQL)</string>
- <key>captures</key>
- <dict>
- <key>1</key>
- <dict>
- <key>name</key>
- <string>keyword.other.heredoc</string>
- </dict>
- </dict>
- <key>contentName</key>
- <string>source.sql.embedded</string>
+ <string>(?=&lt;&lt;&lt;\s*(HTML|XML|SQL|JAVASCRIPT)\s*$)</string>
<key>end</key>
- <string>^(SQL);</string>
+ <string>(?!&lt;?&lt;&lt;\s*(HTML|XML|SQL|JAVASCRIPT)\s*$)</string>
<key>name</key>
- <string>meta.scope.heredoc</string>
+ <string>string.unquoted.heredoc.php</string>
<key>patterns</key>
<array>
<dict>
- <key>include</key>
- <string>source.sql</string>
+ <key>begin</key>
+ <string>(&lt;&lt;&lt;)\s*(HTML)\s*$\n?</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.section.embedded.begin.php</string>
+ </dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.heredoc.php</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>text.html</string>
+ <key>end</key>
+ <string>^(HTML)(;?)$\n?</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.section.embedded.end.php</string>
+ </dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.heredoc.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.php</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.embedded.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>text.html.basic</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#interpolation</string>
+ </dict>
+ </array>
</dict>
<dict>
- <key>include</key>
- <string>#var_global</string>
+ <key>begin</key>
+ <string>(&lt;&lt;&lt;)\s*(XML)\s*$\n?</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.section.embedded.begin.php</string>
+ </dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.heredoc.php</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>text.xml</string>
+ <key>end</key>
+ <string>^(XML)(;?)$\n?</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.section.embedded.end.php</string>
+ </dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.heredoc.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.php</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.embedded.xml</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>text.xml</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#interpolation</string>
+ </dict>
+ </array>
</dict>
<dict>
- <key>include</key>
- <string>#var_global_safer</string>
+ <key>begin</key>
+ <string>(&lt;&lt;&lt;)\s*(SQL)\s*$\n?</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.section.embedded.begin.php</string>
+ </dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.heredoc.php</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>source.sql</string>
+ <key>end</key>
+ <string>^(SQL)(;?)$\n?</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.section.embedded.end.php</string>
+ </dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.heredoc.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.php</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.embedded.sql</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>source.sql</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#interpolation</string>
+ </dict>
+ </array>
</dict>
<dict>
- <key>include</key>
- <string>#var_basic</string>
+ <key>begin</key>
+ <string>(&lt;&lt;&lt;)\s*(JAVASCRIPT)\s*$\n?</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.section.embedded.begin.php</string>
+ </dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.heredoc.php</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>source.js</string>
+ <key>end</key>
+ <string>^(JAVASCRIPT)(;?)$\n?</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.section.embedded.end.php</string>
+ </dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.heredoc.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.php</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.embedded.js</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>source.js</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#interpolation</string>
+ </dict>
+ </array>
</dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>/\*\*(?:#@\+)?\s*$</string>
+ <key>captures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.comment.php</string>
+ </dict>
+ </dict>
+ <key>comment</key>
+ <string>This now only highlights a docblock if the first line contains only /**
+ - this is to stop highlighting everything as invalid when people do comment banners with /******** ...
+ - Now matches /**#@+ too - used for docblock templates: http://manual.phpdoc.org/HTMLframesConverter/default/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html#basics.docblocktemplate</string>
+ <key>end</key>
+ <string>\*/</string>
+ <key>name</key>
+ <string>comment.block.documentation.phpdoc.php</string>
+ <key>patterns</key>
+ <array>
<dict>
<key>include</key>
- <string>#var_complex_string_heredoc</string>
+ <string>#php_doc</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.php</string>
+ </dict>
+ </dict>
<key>end</key>
<string>\*/</string>
<key>name</key>
<string>comment.block.php</string>
- <key>patterns</key>
- <array>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
<dict>
- <key>match</key>
- <string>\@(a(ccess|uthor)|c(ategory|opyright)|global|link|pa(ckage|ram)|return|s(ee|ince|tatic|ubpackage)|t(hrows|odo)|v(ar|ersion))\b</string>
<key>name</key>
- <string>keyword.other.phpdoc.php</string>
+ <string>punctuation.definition.comment.php</string>
</dict>
- </array>
- </dict>
- <dict>
+ </dict>
<key>match</key>
- <string>//.*$\n?</string>
+ <string>(//).*?($\n?|(?=\?&gt;))</string>
<key>name</key>
<string>comment.line.double-slash.php</string>
</dict>
<dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.comment.php</string>
+ </dict>
+ </dict>
<key>match</key>
- <string>#.*$\n?</string>
+ <string>(#).*?($\n?|(?=\?&gt;))</string>
<key>name</key>
<string>comment.line.number-sign.php</string>
</dict>
<dict>
<key>begin</key>
- <string>^\s*(interface)\s+([a-zA-Z0-9_]+)\s*(extends)?\s*</string>
+ <string>^(?i)\s*(interface)\s+([a-z0-9_]+)\s*(extends)?\s*</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
@@ -243,7 +845,7 @@
</dict>
<dict>
<key>begin</key>
- <string>^\s*(abstract)?\s*(class)\s+([a-zA-Z0-9_]+)\s*</string>
+ <string>(?i)^\s*(abstract|final)?\s*(class)\s+([a-z0-9_]+)\s*</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
@@ -283,11 +885,11 @@
</dict>
</dict>
<key>match</key>
- <string>(extends)\s+([a-zA-Z0-9_]+)\s*</string>
+ <string>(?i:(extends))\s+([a-zA-Z0-9_]+)\s*</string>
</dict>
<dict>
<key>begin</key>
- <string>(implements)\s+([a-zA-Z0-9_]+)\s*</string>
+ <string>(?i:(implements))\s+([a-zA-Z0-9_]+)\s*</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
@@ -302,7 +904,7 @@
</dict>
</dict>
<key>end</key>
- <string>(?=\s*\bextends)|$</string>
+ <string>(?=\s*\b(?i:(extends)))|$</string>
<key>patterns</key>
<array>
<dict>
@@ -328,21 +930,67 @@
<string>keyword.control.php</string>
</dict>
<dict>
+ <key>begin</key>
+ <string>(?i)\b((?:require|include)(?:_once)?)\b\s*</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.import.include.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(?=\s|;|$)</string>
+ <key>name</key>
+ <string>meta.include.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#language</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.exception.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>support.class.php</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>variable.other.php</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
+ </dict>
+ </dict>
<key>match</key>
- <string>\b(require|include)(_once)?\b</string>
+ <string>\b(catch)\b\s*\(\s*([A-Za-z_][A-Za-z_0-9]*)\s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)\s*\)</string>
<key>name</key>
- <string>keyword.control.import.include.php</string>
+ <string>meta.catch.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(catch|try|throw|exception)|([a-zA-Z_]*Exception)\b</string>
+ <string>\b(catch|try|throw|exception)\b</string>
<key>name</key>
<string>keyword.control.exception.php</string>
</dict>
<dict>
<key>begin</key>
- <string>(?:^\s*)((?:(?:final|abstract|public|private|protected|static)\s+)*)(function)\s*([&amp;a-zA-Z0-9_]+)\s*\(</string>
- <key>captures</key>
+ <string>(?:^\s*)((?:(?:final|abstract|public|private|protected|static)\s+)*)(function)(?:\s+|(\s*&amp;\s*))(?:(__(?:call|(?:con|de)struct|get|(?:is|un)?set|tostring|clone|set_state|sleep|wakeup|autoload))|([a-zA-Z0-9_]+))\s*(\()</string>
+ <key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
@@ -357,905 +1005,2460 @@
<key>3</key>
<dict>
<key>name</key>
+ <string>storage.modifier.reference.php</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>support.function.magic.php</string>
+ </dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
<string>entity.name.function.php</string>
</dict>
+ <key>6</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.parameters.begin.php</string>
+ </dict>
</dict>
+ <key>contentName</key>
+ <string>meta.function.arguments.php</string>
<key>end</key>
<string>\)</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.parameters.end.php</string>
+ </dict>
+ </dict>
<key>name</key>
<string>meta.function.php</string>
<key>patterns</key>
<array>
<dict>
- <key>include</key>
- <string>#string-double-quoted</string>
+ <key>begin</key>
+ <string>(?x)
+ \s*(array) # Typehint
+ \s*(&amp;)? # Reference
+ \s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*) # The variable name
+ \s*(=) # A default value
+ \s*(array)\s*(\()
+ </string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>storage.type.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>storage.modifier.php</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>variable.other.php</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
+ </dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.assignment.php</string>
+ </dict>
+ <key>6</key>
+ <dict>
+ <key>name</key>
+ <string>support.function.construct.php</string>
+ </dict>
+ <key>7</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.array.begin.php</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>meta.array.php</string>
+ <key>end</key>
+ <string>\)</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.array.end.php</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.function.argument.array.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#strings</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#numbers</string>
+ </dict>
+ </array>
</dict>
<dict>
- <key>include</key>
- <string>#string-single-quoted</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>storage.type.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>storage.modifier.php</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>variable.other.php</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
+ </dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.assignment.php</string>
+ </dict>
+ <key>6</key>
+ <dict>
+ <key>name</key>
+ <string>constant.language.php</string>
+ </dict>
+ <key>7</key>
+ <dict>
+ <key>name</key>
+ <string>invalid.illegal.non-null-typehinted.php</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>(?x)
+ \s*(array) # Typehint
+ \s*(&amp;)? # Reference
+ \s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*) # The variable name
+ (?:
+ \s*(=) # A default value
+ \s*(?i:
+ (NULL)
+ |
+ (\S.*?)
+ )?
+ )?
+ \s*(?=,|\)) # A closing parentheses (end of argument list) or a comma
+ </string>
+ <key>name</key>
+ <string>meta.function.argument.array.php</string>
</dict>
<dict>
- <key>include</key>
- <string>#var_global</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>support.class.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>storage.modifier.php</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>variable.other.php</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
+ </dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.assignment.php</string>
+ </dict>
+ <key>6</key>
+ <dict>
+ <key>name</key>
+ <string>constant.language.php</string>
+ </dict>
+ <key>7</key>
+ <dict>
+ <key>name</key>
+ <string>invalid.illegal.non-null-typehinted.php</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>(?x)
+ \s*([A-Za-z_][A-Za-z_0-9]*) # Typehinted class name
+ \s*(&amp;)? # Reference
+ \s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*) # The variable name
+ (?:
+ \s*(=) # A default value
+ \s*(?i:
+ (NULL)
+ |
+ (\S.*?)
+ )?
+ )?
+ \s*(?=,|\)) # A closing parentheses (end of argument list) or a comma
+ </string>
+ <key>name</key>
+ <string>meta.function.argument.typehinted.php</string>
</dict>
<dict>
- <key>include</key>
- <string>#var_global_safer</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>storage.modifier.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>variable.other.php</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>(\s*&amp;)?\s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)\s*(?=,|\))</string>
+ <key>name</key>
+ <string>meta.function.argument.no-default.php</string>
</dict>
<dict>
- <key>include</key>
- <string>#var_basic</string>
+ <key>begin</key>
+ <string>(\s*&amp;)?\s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\s*(=)\s*)\s*</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>storage.modifier.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>variable.other.php</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.assignment.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(?=,|\))</string>
+ <key>name</key>
+ <string>meta.function.argument.default.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#parameter-default-types</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.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\*/</string>
+ <key>name</key>
+ <string>comment.block.php</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\b(real|double|float|int(eger)?|bool(ean)?|string|class|clone|var|function|interface|parent|self|object)\b</string>
+ <key>name</key>
+ <string>storage.type.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\b(global|abstract|const|extends|implements|final|p(r(ivate|otected)|ublic)|static)\b</string>
+ <key>name</key>
+ <string>storage.modifier.php</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#object</string>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.class.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>meta.function-call.static.php</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>variable.other.class.php</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
+ </dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
+ <string>constant.other.class.php</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>(?x)(::)
+ (?:
+ ([A-Za-z_][A-Za-z_0-9]*)\s*\(
+ |
+ ((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
+ |
+ ([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
+ )?</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#support</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(&lt;&lt;&lt;)\s*([a-zA-Z_]+[a-zA-Z0-9_]*)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.heredoc.php</string>
</dict>
+ </dict>
+ <key>end</key>
+ <string>^(\2)(;?)$</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.heredoc.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.php</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>string.unquoted.heredoc.php</string>
+ <key>patterns</key>
+ <array>
<dict>
<key>include</key>
- <string>#language_constant</string>
+ <string>#interpolation</string>
</dict>
</array>
</dict>
<dict>
+ <key>match</key>
+ <string>=&gt;</string>
+ <key>name</key>
+ <string>keyword.operator.key.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>&amp;(?=\s*(\$|new|[A-Za-z_][A-Za-z_0-9]+(?=\s*\()))</string>
+ <key>name</key>
+ <string>storage.modifier.reference.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>;</string>
+ <key>name</key>
+ <string>punctuation.terminator.expression.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(@)</string>
+ <key>name</key>
+ <string>keyword.operator.error-control.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(\-\-|\+\+)</string>
+ <key>name</key>
+ <string>keyword.operator.increment-decrement.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(\-|\+|\*|/|%)</string>
+ <key>name</key>
+ <string>keyword.operator.arithmetic.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)(!|&amp;&amp;|\|\|)|\b(and|or|xor|as)\b</string>
+ <key>name</key>
+ <string>keyword.operator.logical.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>&lt;&lt;|&gt;&gt;|~|\^|&amp;|\|</string>
+ <key>name</key>
+ <string>keyword.operator.bitwise.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(===|==|!==|!=|&lt;=|&gt;=|&lt;&gt;|&lt;|&gt;)</string>
+ <key>name</key>
+ <string>keyword.operator.comparison.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(\.=|\.)</string>
+ <key>name</key>
+ <string>keyword.operator.string.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>=</string>
+ <key>name</key>
+ <string>keyword.operator.assignment.php</string>
+ </dict>
+ <dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
- <string>storage.modifier.abstract.php</string>
+ <string>keyword.operator.type.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>support.class.php</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>(?i)\b(instanceof)\b(?:\s+(\w+))?</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#numbers</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#strings</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#string-backtick</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#function-call</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#variables</string>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.php</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
- <string>storage.modifier.class-or-interface.php</string>
+ <string>variable.other.property.php</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>(?&lt;=[a-zA-Z0-9_\x{7f}-\x{ff}])(-&gt;)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?)\b</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#instantiation</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#constants</string>
+ </dict>
+ </array>
+ </dict>
+ <key>numbers</key>
+ <dict>
+ <key>match</key>
+ <string>\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b</string>
+ <key>name</key>
+ <string>constant.numeric.php</string>
+ </dict>
+ <key>object</key>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.class.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>meta.function-call.object.php</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>variable.other.property.php</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>(?x)(-&gt;)
+ (?:
+ ([A-Za-z_][A-Za-z_0-9]*)\s*\(
+ |
+ ((\$+)?[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
+ )?</string>
+ </dict>
+ <key>parameter-default-types</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#strings</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#numbers</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#string-backtick</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#variables</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>=&gt;</string>
+ <key>name</key>
+ <string>keyword.operator.key.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>=</string>
+ <key>name</key>
+ <string>keyword.operator.assignment.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>&amp;(?=\s*\$)</string>
+ <key>name</key>
+ <string>storage.modifier.reference.php</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(array)\s*(\()</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>support.function.construct.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.array.begin.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\)</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.array.end.php</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.array.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#parameter-default-types</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#instantiation</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#constants</string>
+ </dict>
+ </array>
+ </dict>
+ <key>php_doc</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>comment</key>
+ <string>PHPDocumentor only recognises lines with an asterisk as the first non-whitespaces character</string>
+ <key>match</key>
+ <string>^(?!\s*\*).*$\n?</string>
+ <key>name</key>
+ <string>invalid.illegal.missing-asterisk.phpdoc.php</string>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.other.phpdoc.php</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
- <string>entity.name.type.class.php</string>
+ <string>storage.modifier.php</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
- <string>entity.other.inherited-class.php</string>
+ <string>invalid.illegal.wrong-access-type.phpdoc.php</string>
</dict>
</dict>
<key>match</key>
- <string>(?:^\s*)(abstract)?\s*(class|interface)\s+([a-zA-Z0-9_]+)\s*(extends\s+([a-zA-Z0-9_]+))?</string>
+ <string>^\s*\*\s*(@access)\s+((public|private|protected)|(.+))\s*$</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>((https?|s?ftp|ftps|file|smb|afp|nfs|(x-)?man|gopher|txmt)://|mailto:)[-:@a-zA-Z0-9_.~%+/?=&amp;#]+(?&lt;![.?:])</string>
<key>name</key>
- <string>meta.class.php</string>
+ <string>markup.underline.link.php</string>
</dict>
<dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.other.phpdoc.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>markup.underline.link.php</string>
+ </dict>
+ </dict>
<key>match</key>
- <string>\b(class|clone|var|function|interface|new|parent|self|__(autoload|c(all|lone|onstruct)|destruct|get|set|sleep|toString|wakeup))\b</string>
+ <string>(@xlink)\s+(.+)\s*$</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\@(a(bstract|uthor)|c(ategory|opyright)|example|global|internal|li(cense|nk)|pa(ckage|ram)|return|s(ee|ince|tatic|ubpackage)|t(hrows|odo)|v(ar|ersion)|uses|deprecated|final)\b</string>
<key>name</key>
- <string>storage.type.php</string>
+ <string>keyword.other.phpdoc.php</string>
</dict>
<dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.other.phpdoc.php</string>
+ </dict>
+ </dict>
<key>match</key>
- <string>\b(abstract|const|extends|implements|final|p(r(ivate|otected)|ublic)|static)\b</string>
+ <string>\{(@(link)).+?\}</string>
<key>name</key>
- <string>storage.modifier.php</string>
+ <string>meta.tag.inline.phpdoc.php</string>
+ </dict>
+ </array>
+ </dict>
+ <key>regex-double-quoted</key>
+ <dict>
+ <key>begin</key>
+ <string>(?x)"/ (?= (\\.|[^"/])++/[imsxeADSUXu]*" )</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.begin.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(/)([imsxeADSUXu]*)(")</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.end.php</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>string.regexp.double-quoted.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>comment</key>
+ <string>Escaped from the regexp – there can also be 2 backslashes (since 1 will escape the first)</string>
+ <key>match</key>
+ <string>(\\){1,2}[.$^\[\]{}]</string>
+ <key>name</key>
+ <string>constant.character.escape.regex.php</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#interpolation</string>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.arbitrary-repitition.php</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.arbitrary-repitition.php</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>(\{)\d+(,\d+)?(\})</string>
+ <key>name</key>
+ <string>string.regexp.arbitrary-repitition.php</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>\[(?:\^?\])?</string>
+ <key>captures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.character-class.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\]</string>
+ <key>name</key>
+ <string>string.regexp.character-class.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#interpolation</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>[$^+*]</string>
+ <key>name</key>
+ <string>keyword.operator.regexp.php</string>
+ </dict>
+ </array>
+ </dict>
+ <key>regex-single-quoted</key>
+ <dict>
+ <key>begin</key>
+ <string>(?x)'/ (?= (\\.|[^'/])++/[imsxeADSUXu]*' )</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.begin.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(/)([imsxeADSUXu]*)(')</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.end.php</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>string.regexp.single-quoted.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.arbitrary-repitition.php</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.arbitrary-repitition.php</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>(\{)\d+(,\d+)?(\})</string>
+ <key>name</key>
+ <string>string.regexp.arbitrary-repitition.php</string>
+ </dict>
+ <dict>
+ <key>comment</key>
+ <string>Escaped from the regexp – there can also be 2 backslashes (since 1 will escape the first)</string>
+ <key>match</key>
+ <string>(\\){1,2}[.$^\[\]{}]</string>
+ <key>name</key>
+ <string>constant.character.escape.regex.php</string>
+ </dict>
+ <dict>
+ <key>comment</key>
+ <string>Escaped from the PHP string – there can also be 2 backslashes (since 1 will escape the first)</string>
+ <key>match</key>
+ <string>\\{1,2}[\\']</string>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>\[(?:\^?\])?</string>
+ <key>captures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.character-class.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\]</string>
+ <key>name</key>
+ <string>string.regexp.character-class.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>\\[\\'\[\]]</string>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>[$^+*]</string>
+ <key>name</key>
+ <string>keyword.operator.regexp.php</string>
+ </dict>
+ </array>
+ </dict>
+ <key>sql-string-double-quoted</key>
+ <dict>
+ <key>begin</key>
+ <string>"\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER)\b)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.begin.php</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>source.sql.embedded.php</string>
+ <key>end</key>
+ <string>"</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.end.php</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>string.quoted.double.sql.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>#(\\"|[^"])*(?="|$\n?)</string>
+ <key>name</key>
+ <string>comment.line.number-sign.sql</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>--(\\"|[^"])*(?="|$\n?)</string>
+ <key>name</key>
+ <string>comment.line.double-dash.sql</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>'(?=[^']*?")</string>
+ <key>comment</key>
+ <string>Unclosed strings must be captured to avoid them eating the remainder of the PHP script
+ Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"</string>
+ <key>end</key>
+ <string>(?=")</string>
+ <key>name</key>
+ <string>string.quoted.single.unclosed.sql</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>\\[\\']</string>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>`(?=[^`]*?")</string>
+ <key>comment</key>
+ <string>Unclosed strings must be captured to avoid them eating the remainder of the PHP script
+ Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"</string>
+ <key>end</key>
+ <string>(?=")</string>
+ <key>name</key>
+ <string>string.quoted.other.backtick.unclosed.sql</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>\\[\\']</string>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>\\"(?!([^\\"]|\\[^"])*\\")(?=(\\[^"]|.)*?")</string>
+ <key>comment</key>
+ <string>Unclosed strings must be captured to avoid them eating the remainder of the PHP script
+ Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"</string>
+ <key>end</key>
+ <string>(?=")</string>
+ <key>name</key>
+ <string>string.quoted.double.unclosed.sql</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>\\[\\']</string>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>\\"</string>
+ <key>captures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\\"</string>
+ <key>name</key>
+ <string>string.quoted.double.sql</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#interpolation</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>`</string>
+ <key>end</key>
+ <string>`</string>
+ <key>name</key>
+ <string>string.quoted.other.backtick.sql</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#interpolation</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>'</string>
+ <key>end</key>
+ <string>'</string>
+ <key>name</key>
+ <string>string.quoted.single.sql</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#interpolation</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\\.</string>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#interpolation</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>source.sql</string>
+ </dict>
+ </array>
+ </dict>
+ <key>sql-string-single-quoted</key>
+ <dict>
+ <key>begin</key>
+ <string>'\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER)\b)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.begin.php</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>source.sql.embedded.php</string>
+ <key>end</key>
+ <string>'</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.end.php</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>string.quoted.single.sql.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>#(\\'|[^'])*(?='|$\n?)</string>
+ <key>name</key>
+ <string>comment.line.number-sign.sql</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>--(\\'|[^'])*(?='|$\n?)</string>
+ <key>name</key>
+ <string>comment.line.double-dash.sql</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>\\'(?!([^\\']|\\[^'])*\\')(?=(\\[^']|.)*?')</string>
+ <key>comment</key>
+ <string>Unclosed strings must be captured to avoid them eating the remainder of the PHP script
+ Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"</string>
+ <key>end</key>
+ <string>(?=')</string>
+ <key>name</key>
+ <string>string.quoted.single.unclosed.sql</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>\\[\\']</string>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>`(?=[^`]*?')</string>
+ <key>comment</key>
+ <string>Unclosed strings must be captured to avoid them eating the remainder of the PHP script
+ Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"</string>
+ <key>end</key>
+ <string>(?=')</string>
+ <key>name</key>
+ <string>string.quoted.other.backtick.unclosed.sql</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>\\[\\']</string>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>"(?=[^"]*?')</string>
+ <key>comment</key>
+ <string>Unclosed strings must be captured to avoid them eating the remainder of the PHP script
+ Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"</string>
+ <key>end</key>
+ <string>(?=')</string>
+ <key>name</key>
+ <string>string.quoted.double.unclosed.sql</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>\\[\\']</string>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>\\'</string>
+ <key>captures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\\'</string>
+ <key>name</key>
+ <string>string.quoted.single.sql</string>
</dict>
<dict>
<key>match</key>
- <string>::|-&gt;</string>
+ <string>\\[\\']</string>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>source.sql</string>
+ </dict>
+ </array>
+ </dict>
+ <key>string-backtick</key>
+ <dict>
+ <key>begin</key>
+ <string>`</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.begin.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>`</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.end.php</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>string.interpolated.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>\\.</string>
+ <key>name</key>
+ <string>constant.character.escape.php</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#interpolation</string>
+ </dict>
+ </array>
+ </dict>
+ <key>string-double-quoted</key>
+ <dict>
+ <key>begin</key>
+ <string>"</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.begin.php</string>
+ </dict>
+ </dict>
+ <key>comment</key>
+ <string>This contentName is just to allow the usage of “select scope” to select the string contents first, then the string with quotes</string>
+ <key>contentName</key>
+ <string>meta.string-contents.quoted.double.php</string>
+ <key>end</key>
+ <string>"</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.end.php</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>string.quoted.double.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#interpolation</string>
+ </dict>
+ </array>
+ </dict>
+ <key>string-single-quoted</key>
+ <dict>
+ <key>begin</key>
+ <string>'</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.begin.php</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>meta.string-contents.quoted.single.php</string>
+ <key>end</key>
+ <string>'</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
<key>name</key>
- <string>keyword.operator.php</string>
+ <string>punctuation.definition.string.end.php</string>
</dict>
+ </dict>
+ <key>name</key>
+ <string>string.quoted.single.php</string>
+ <key>patterns</key>
+ <array>
<dict>
<key>match</key>
- <string>\b(apache_(child_terminate|get(env|_(modules|version))|lookup_uri|note|re(quest_headers|set_timeout|sponse_headers)|setenv)|ascii2ebcdic|ebcdic2ascii|getallheaders|virtual)\b</string>
+ <string>\\[\\']</string>
<key>name</key>
- <string>support.function.apache.php</string>
+ <string>constant.character.escape.php</string>
+ </dict>
+ </array>
+ </dict>
+ <key>strings</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#regex-double-quoted</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#sql-string-double-quoted</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#string-double-quoted</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#regex-single-quoted</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#sql-string-single-quoted</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#string-single-quoted</string>
+ </dict>
+ </array>
+ </dict>
+ <key>support</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>(array)(\()</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>support.function.construct.php</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.array.begin.php</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\)</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.array.end.php</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.array.php</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#language</string>
+ </dict>
+ </array>
</dict>
<dict>
<key>match</key>
- <string>(=&gt;)|\b(array(|_(c(h(ange_key_case|unk)|ombine|ount_values)|diff(|_(assoc|key|uassoc|ukey))|f(il(l|ter)|lip)|intersect(|_(assoc|key|uassoc|ukey))|key(s|_exists)|m(ap|erge(|_recursive)|ultisort)|p(ad|op|ush)|r(and|educe|everse)|s(earch|hift|lice|plice|um)|u(diff(|_(assoc|uassoc))|intersect(|_(assoc|uassoc))|nique|nshift)|values|walk(|_recursive)))|a(rsort|sort)|c(o(mpact|unt)|urrent)|e(ach|nd|xtract)|in_array|k(ey|rsort|sort)|list|n(at(casesort|sort)|ext)|p(os|rev)|r(ange|eset|sort)|s(huffle|izeof|ort)|u(asort|ksort|sort))\b</string>
+ <string>(?i)\b(s(huffle|ort)|n(ext|at(sort|casesort))|c(o(unt|mpact)|urrent)|in_array|u(sort|ksort|asort)|prev|e(nd|xtract)|k(sort|ey|rsort)|a(sort|r(sort|ray_(s(hift|um|plice|earch|lice)|c(h(unk|ange_key_case)|o(unt_values|mbine))|intersect(_(u(key|assoc)|key|assoc))?|diff(_(u(key|assoc)|key|assoc))?|u(n(shift|ique)|intersect(_(uassoc|assoc))?|diff(_(uassoc|assoc))?)|p(op|ush|ad|roduct)|values|key(s|_exists)|f(il(ter|l(_keys)?)|lip)|walk(_recursive)?|r(e(duce|verse)|and)|m(ultisort|erge(_recursive)?|ap))))|r(sort|eset|ange)|m(in|ax))(?=\s*\()</string>
<key>name</key>
<string>support.function.array.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(bc(add|comp|div|mod|mul|pow(|mod)|scale|sqrt|sub))\b</string>
+ <string>(?i)\bassert(_options)?(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.assert.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bdom_attr_is_id(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.attr.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bbase64_(decode|encode)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.base64.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\b(highlight_(string|file)|s(ys_getloadavg|et_(include_path|magic_quotes_runtime)|leep)|c(on(stant|nection_(status|aborted))|all_user_(func(_array)?|method(_array)?))|time_(sleep_until|nanosleep)|i(s_uploaded_file|n(i_(set|restore|get(_all)?)|et_(ntop|pton))|p2long|gnore_user_abort|mport_request_variables)|u(sleep|nregister_tick_function)|error_(log|get_last)|p(hp_strip_whitespace|utenv|arse_ini_file|rint_r)|flush|long2ip|re(store_include_path|gister_(shutdown_function|tick_function))|get(servby(name|port)|opt|_(c(urrent_user|fg_var)|include_path|magic_quotes_(gpc|runtime))|protobyn(umber|ame)|env)|move_uploaded_file)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.basic_functions.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bbc(s(cale|ub|qrt)|comp|div|pow(mod)?|add|m(od|ul))(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.bcmath.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bbirdstep_(c(o(nnect|mmit)|lose)|off_autocommit|exec|f(ieldn(um|ame)|etch|reeresult)|autocommit|r(ollback|esult))(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.birdstep.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bget_browser(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.browscap.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\b(s(tr(nc(asecmp|mp)|c(asecmp|mp)|len)|et_e(rror_handler|xception_handler))|c(lass_exists|reate_function)|trigger_error|i(s_(subclass_of|a)|nterface_exists)|de(fine(d)?|bug_(print_backtrace|backtrace))|zend_version|property_exists|e(ach|rror_reporting|xtension_loaded)|func(tion_exists|_(num_args|get_arg(s)?))|leak|restore_e(rror_handler|xception_handler)|get_(class(_(vars|methods))?|included_files|de(clared_(classes|interfaces)|fined_(constants|vars|functions))|object_vars|extension_funcs|parent_class|loaded_extensions|resource_type)|method_exists)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.builtin_functions.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bbz(compress|decompress|open|err(str|no|or)|read)(?=\s*\()</string>
<key>name</key>
- <string>support.function.bc.php</string>
+ <string>support.function.bz2.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(bz(close|compress|decompress|err(no|or|str)|flush|open|read|write))\b</string>
+ <string>(?i)\b(jdtounix|unixtojd)(?=\s*\()</string>
<key>name</key>
- <string>support.function.bzip2.php</string>
+ <string>support.function.cal_unix.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(cal_(days_in_month|from_jd|info|to_jd)|easter_(date|days)|FrenchToJD|GregorianToJD|JD(DayOfWeek|MonthName|ToFrench|ToGregorian|ToJulian)|jdto(jewish|unix)|JewishToJD|JulianToJD|unixtojd)\b</string>
+ <string>(?i)\b(cal_(to_jd|info|days_in_month|from_jd)|j(d(to(j(ulian|ewish)|french|gregorian)|dayofweek|monthname)|uliantojd|ewishtojd)|frenchtojd|gregoriantojd)(?=\s*\()</string>
<key>name</key>
<string>support.function.calendar.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(classkit_(import|method_(add|copy|redefine|remove|rename)))\b</string>
+ <string>(?i)\bdom_characterdata_(substring_data|insert_data|delete_data|append_data|replace_data)(?=\s*\()</string>
<key>name</key>
- <string>support.function.classkit.php</string>
+ <string>support.function.characterdata.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(call_user_method(|_array)|class_exists|get_(class(|_methods|_vars)|declared_(classes|interfaces)|object_vars|parent_class)|interface_exists|is_(a|subclass_of)|method_exists)\b</string>
+ <string>(?i)\bcom_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)(?=\s*\()</string>
<key>name</key>
- <string>support.function.classobj.php</string>
+ <string>support.function.com_com.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(cpdf_(add_(annotation|outline)|arc|begin_text|circle|clip|close(|path(|_fill_stroke|_stroke))|continue_text|curveto|end_text|fill(|_stroke)|finalize(|_page)|global_set_document_limits|import_jpeg|lineto|moveto|newpath|open|output_buffer|page_init|place_inline_image|rect|restore|rlineto|rmoveto|rotate(|_text)|save(|_to_file)|scale|set(dash|flat|gray(|_fill|_stroke)|line(cap|join|width)|miterlimit|rgbcolor(|_fill|_stroke)|_action_url|_char_spacing|_creator|_current_page|_font(|_directories|_map_file)|_horiz_scaling|_keywords|_leading|_page_animation|_subject|_text_(matrix|pos|rendering|rise)|_title|_viewer_preferences|_word_spacing)|show(|_xy)|stringwidth|stroke|text|translate))\b</string>
+ <string>(?i)\bvariant_(s(ub|et(_type)?)|n(ot|eg)|c(a(st|t)|mp)|i(nt|div|mp)|or|d(iv|ate_(to_timestamp|from_timestamp))|pow|eqv|fix|a(nd|dd|bs)|get_type|round|xor|m(od|ul))(?=\s*\()</string>
<key>name</key>
- <string>support.function.cpdf.php</string>
+ <string>support.function.com_variant.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(crack_(check|closedict|getlastmessage|opendict))\b</string>
+ <string>(?i)\bcrc32(?=\s*\()</string>
<key>name</key>
- <string>support.function.crack.php</string>
+ <string>support.function.crc32.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(ctype_(al(num|pha)|cntrl|digit|graph|lower|print|punct|space|upper|xdigit))\b</string>
+ <string>(?i)\bcrypt(?=\s*\()</string>
<key>name</key>
- <string>support.function.ctype.php</string>
+ <string>support.function.crypt.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(curl_(close|copy_handle|err(no|or)|exec|getinfo|init|multi_(add_handle|close|exec|getcontent|info_read|init|remove_handle|select)|setopt|version))\b</string>
+ <string>(?i)\bctype_(space|cntrl|digit|upper|p(unct|rint)|lower|al(num|pha)|graph|xdigit)(?=\s*\()</string>
<key>name</key>
- <string>support.function.curl.php</string>
+ <string>support.function.ctype.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(cyrus_(authenticate|bind|close|connect|query|unbind))\b</string>
+ <string>(?i)\bconvert_cyr_string(?=\s*\()</string>
<key>name</key>
- <string>support.function.cyrus.php</string>
+ <string>support.function.cyr_convert.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(checkdate|date(|_sunrise|_sunset)|get(date|timeofday)|gm(date|mktime|strftime)|idate|localtime|microtime|mktime|str(ftime|ptime|totime)|time)\b</string>
+ <string>(?i)\bstrptime(?=\s*\()</string>
<key>name</key>
<string>support.function.datetime.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(dba_(close|delete|exists|fetch|firstkey|handlers|insert|key_split|list|nextkey|op(en|timize)|popen|replace|sync))\b</string>
+ <string>(?i)\bdba_(handlers|sync|nextkey|close|insert|delete|op(timize|en)|exists|popen|key_split|f(irstkey|etch)|list|replace)(?=\s*\()</string>
<key>name</key>
<string>support.function.dba.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(dbase_(add_record|c(lose|reate)|delete_record|get_(header_info|record(|_with_names))|num(fields|records)|open|pack|replace_record))\b</string>
+ <string>(?i)\bdbase_(num(fields|records)|c(lose|reate)|delete_record|open|pack|add_record|get_(header_info|record(_with_names)?)|replace_record)(?=\s*\()</string>
<key>name</key>
<string>support.function.dbase.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(dbplus_(a(dd|ql)|c(hdir|lose|urr)|err(code|no)|fi(nd|rst)|flush|free(alllocks|lock|rlocks)|get(lock|unique)|info|l(ast|ockrel)|next|open|prev|r(c(hperm|reate|rtexact|rtlike)|e(solve|storepos)|keys|open|query|rename|secindex|unlink|zap)|s(avepos|etindex(|bynumber)|ql)|t(cl|remove)|un(do(|prepare)|lockrel|select)|update|x(lockrel|unlockrel)))\b</string>
+ <string>(?i)\b(scandir|c(h(dir|root)|losedir)|dir|opendir|re(addir|winddir)|g(etcwd|lob))(?=\s*\()</string>
<key>name</key>
- <string>support.function.dbplus.php</string>
+ <string>support.function.dir.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(dbx_(c(lose|ompare|onnect)|e(rror|scape_string)|fetch_row|query|sort))\b</string>
+ <string>(?i)\bdl(?=\s*\()</string>
<key>name</key>
- <string>support.function.dbx.php</string>
+ <string>support.function.dl.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(dio_(close|fcntl|open|read|seek|stat|t(csetattr|runcate)|write))\b</string>
+ <string>(?i)\b(dns_(check_record|get_(record|mx))|gethostby(name(l)?|addr))(?=\s*\()</string>
<key>name</key>
- <string>support.function.dio.php</string>
+ <string>support.function.dns.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(c(h(dir|root)|losedir)|getcwd|opendir|re(addir|winddir)|scandir)\b</string>
+ <string>(?i)\bdom_document_(s(chema_validate(_file)?|ave(_html(_file)?|xml)?)|normalize_document|create_(c(datasection|omment)|text_node|document_fragment|processing_instruction|e(ntity_reference|lement(_ns)?)|attribute(_ns)?)|import_node|validate|load(_html(_file)?|xml)?|adopt_node|re(name_node|laxNG_validate_(file|xml))|get_element(s_by_tag_name(_ns)?|_by_id)|xinclude)(?=\s*\()</string>
<key>name</key>
- <string>support.function.dir.php</string>
+ <string>support.function.document.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bdom_domconfiguration_(set_parameter|can_set_parameter|get_parameter)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.domconfiguration.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bdom_domerrorhandler_handle_error(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.domerrorhandler.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bdom_domimplementation_(has_feature|create_document(_type)?|get_feature)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.domimplementation.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bdom_domimplementationlist_item(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.domimplementationlist.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bdom_domimplementationsource_get_domimplementation(s)?(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.domimplementationsource.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bdom_domstringlist_item(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.domstringlist.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(domxml_(new_doc|open_(file|mem)|version|x(mltree|slt_stylesheet(|_doc|_file)))|x(path_(eval(|_expression)|new_context)|ptr_(eval|new_context)))\b</string>
+ <string>(?i)\beaster_da(ys|te)(?=\s*\()</string>
<key>name</key>
- <string>support.function.domxml.php</string>
+ <string>support.function.easter.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(debug_(backtrace|print_backtrace)|error_(log|reporting)|restore_(error_handler|exception_handler)|set_(error_handler|exception_handler)|trigger_error|user_error)\b</string>
+ <string>(?i)\bdom_element_(has_attribute(_ns)?|set_(id_attribute(_n(s|ode))?|attribute(_n(s|ode(_ns)?))?)|remove_attribute(_n(s|ode))?|get_(elements_by_tag_name(_ns)?|attribute(_n(s|ode(_ns)?))?))(?=\s*\()</string>
<key>name</key>
- <string>support.function.errorfunc.php</string>
+ <string>support.function.element.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(e(scapeshell(arg|cmd)|xec)|p(assthru|roc_(close|get_status|nice|open|terminate))|s(hell_exec|ystem))\b</string>
+ <string>(?i)\b(s(hell_exec|ystem)|p(assthru|roc_nice)|e(scapeshell(cmd|arg)|xec))(?=\s*\()</string>
<key>name</key>
<string>support.function.exec.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(exif_(imagetype|read_data|tagname|thumbnail)|read_exif_data)\b</string>
+ <string>(?i)\bexif_(imagetype|t(humbnail|agname)|read_data)(?=\s*\()</string>
<key>name</key>
<string>support.function.exif.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(fam_(c(ancel_monitor|lose)|monitor_(collection|directory|file)|next_event|open|pending|resume_monitor|suspend_monitor))\b</string>
+ <string>(?i)\bfdf_(header|s(et_(s(tatus|ubmit_form_action)|target_frame|o(n_import_javascript|pt)|javascript_action|encoding|v(ersion|alue)|f(ile|lags)|ap)|ave(_string)?)|next_field_name|c(lose|reate)|open(_string)?|e(num_values|rr(no|or))|add_(template|doc_javascript)|remove_item|get_(status|opt|encoding|v(ersion|alue)|f(ile|lags)|a(ttachment|p)))(?=\s*\()</string>
<key>name</key>
- <string>support.function.fam.php</string>
+ <string>support.function.fdf.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(fbsql_(a(ffected_rows|utocommit)|blob_size|c(hange_user|l(ob_size|ose)|o(mmit|nnect)|reate_(blob|clob|db))|d(ata(base(|_password)|_seek)|b_(query|status)|rop_db)|err(no|or)|fetch_(a(rray|ssoc)|field|lengths|object|row)|field_(flags|len|name|seek|table|type)|free_result|get_autostart_info|hostname|insert_id|list_(dbs|fields|tables)|n(ext_result|um_(fields|rows))|p(assword|connect)|query|r(e(ad_(blob|clob)|sult)|ollback)|s(e(lect_db|t_(lob_mode|password|transaction))|tart_db|top_db)|tablename|username|warnings))\b</string>
+ <string>(?i)\b(sys_get_temp_dir|copy|t(empnam|mpfile)|u(nlink|mask)|p(close|open)|f(s(canf|tat|eek)|nmatch|close|t(ell|runcate)|ile(_(put_contents|get_contents))?|open|p(utcsv|assthru)|eof|flush|write|lock|read|get(s(s)?|c(sv)?))|r(e(name|a(dfile|lpath)|wind)|mdir)|get_meta_tags|mkdir)(?=\s*\()</string>
<key>name</key>
- <string>support.function.fbsql.php</string>
+ <string>support.function.file.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(fdf_(add_(doc_javascript|template)|c(lose|reate)|e(num_values|rr(no|or))|get_(a(p|ttachment)|encoding|f(ile|lags)|opt|status|v(alue|ersion))|header|next_field_name|open(|_string)|remove_item|save(|_string)|set_(ap|encoding|f(ile|lags)|javascript_action|o(n_import_javascript|pt)|s(tatus|ubmit_form_action)|target_frame|v(alue|ersion))))\b</string>
+ <string>(?i)\b(stat|c(h(own|grp|mod)|learstatcache)|is_(dir|executable|file|link|writable|readable)|touch|disk_(total_space|free_space)|file(size|ctime|type|inode|owner|_exists|perms|atime|group|mtime)|l(stat|chgrp))(?=\s*\()</string>
<key>name</key>
- <string>support.function.fdf.php</string>
+ <string>support.function.filestat.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bfilter_(has_var|input(_array)?|var(_array)?)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.filter.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(filepro(|_field(count|name|type|width)|_r(etrieve|owcount)))\b</string>
+ <string>(?i)\b(sprintf|printf|v(sprintf|printf|fprintf)|fprintf)(?=\s*\()</string>
<key>name</key>
- <string>support.function.filepro.php</string>
+ <string>support.function.formatted_print.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(basename|c(h(grp|mod|own)|learstatcache|opy)|d(elete|i(rname|sk(freespace|_free_space|_total_space)))|f(close|eof|flush|get(csv|c|ss|s)|ile(|atime|ctime|group|inode|mtime|owner|perms|size|type|_exists|_get_contents|_put_contents)|lock|nmatch|open|passthru|put(csv|s)|read|s(canf|eek|tat)|t(ell|runcate)|write)|glob|is_(dir|executable|file|link|readable|uploaded_file|writable|writeable)|l(ink(|info)|stat)|m(kdir|ove_uploaded_file)|p(a(rse_ini_file|thinfo)|close|open)|r(e(a(d(file|link)|lpath)|name|wind)|mdir)|s(et_file_buffer|tat|ymlink)|t(empnam|mpfile|ouch)|u(mask|nlink))\b</string>
+ <string>(?i)\b(pfsockopen|fsockopen)(?=\s*\()</string>
<key>name</key>
- <string>support.function.filesystem.php</string>
+ <string>support.function.fsock.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(ftp_(alloc|c(dup|h(dir|mod)|lose|onnect)|delete|exec|f(get|put)|get(|_option)|login|m(dtm|kdir)|n(b_(continue|fget|fput|get|put)|list)|p(asv|ut|wd)|quit|r(aw(|list)|ename|mdir)|s(et_option|ite|ize|sl_connect|ystype)))\b</string>
+ <string>(?i)\bftok(?=\s*\()</string>
<key>name</key>
- <string>support.function.ftp.php</string>
+ <string>support.function.ftok.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(c(all_user_func(|_array)|reate_function)|func(tion_exists|_get_arg(|s)|_num_args)|get_defined_functions|register_(shutdown_function|tick_function)|unregister_tick_function)\b</string>
+ <string>(?i)\b(image(s(y|tring(up)?|et(style|t(hickness|ile)|pixel|brush)|avealpha|x)|c(har(up)?|o(nvolution|py(res(ized|ampled)|merge(gray)?)?|lor(s(total|et|forindex)|closest(hwb|alpha)?|transparent|deallocate|exact(alpha)?|a(t|llocate(alpha)?)|resolve(alpha)?|match))|reate(truecolor|from(string|jpeg|png|wbmp|g(if|d(2(part)?)?)|x(pm|bm)))?)|2wbmp|t(ypes|tf(text|bbox)|ruecolortopalette)|i(struecolor|nterlace)|d(estroy|ashedline)|jpeg|ellipse|p(s(slantfont|copyfont|text|e(ncodefont|xtendfont)|freefont|loadfont|bbox)|ng|olygon|alettecopy)|f(t(text|bbox)|il(ter|l(toborder|ed(polygon|ellipse|arc|rectangle))?)|ont(height|width))|wbmp|a(ntialias|lphablending|rc)|l(ine|oadfont|ayereffect)|r(otate|ectangle)|g(if|d(2)?|ammacorrect|rab(screen|window))|xbm)|jpeg2wbmp|png2wbmp|gd_info)(?=\s*\()</string>
<key>name</key>
- <string>support.function.funchand.php</string>
+ <string>support.function.gd.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(bind(textdomain|_textdomain_codeset)|d(c(gettext|ngettext)|gettext|ngettext)|gettext|ngettext|textdomain)\b</string>
+ <string>(?i)\b(ngettext|textdomain|d(ngettext|c(ngettext|gettext)|gettext)|gettext|bind(textdomain|_textdomain_codeset))(?=\s*\()</string>
<key>name</key>
<string>support.function.gettext.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(gmp_(a(bs|dd|nd)|c(lrbit|mp|om)|div(|exact|_qr|_q|_r)|fact|gcd(|ext)|hamdist|in(it|tval|vert)|jacobi|legendre|m(od|ul)|neg|or|p(erfect_square|o(pcount|wm|w)|rob_prime)|random|s(can0|can1|etbit|ign|qrt(|rem)|trval|ub)|xor))\b</string>
+ <string>(?i)\bgmp_(hamdist|s(can(1|0)|ign|trval|ub|etbit|qrt(rem)?)|c(om|lrbit|mp)|ne(g|xtprime)|in(tval|it|vert)|or|div(_(q(r)?|r)|exact)|jacobi|p(o(pcount|w(m)?)|erfect_square|rob_prime)|fact|legendre|a(nd|dd|bs)|random|gcd(ext)?|xor|m(od|ul))(?=\s*\()</string>
<key>name</key>
<string>support.function.gmp.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(header(|s_list|s_sent)|set(cookie|rawcookie))\b</string>
+ <string>(?i)\bhash(_(hmac(_file)?|init|update(_(stream|file))?|fi(nal|le)|algos))?(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.hash.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bmd5(_file)?(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.hash_md.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bsha1(_file)?(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.hash_sha.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\b(set(cookie|rawcookie)|header(s_(sent|list))?)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.head.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\b(html(specialchars(_decode)?|_entity_decode|entities)|get_html_translation_table)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.html.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bhttp_build_query(?=\s*\()</string>
<key>name</key>
<string>support.function.http.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(ibase_(a(dd_user|ffected_rows)|b(ackup|lob_(add|cancel|close|create|echo|get|import|info|open))|c(lose|ommit(|_ret)|onnect)|d(b_info|elete_user|rop_db)|e(rr(code|msg)|xecute)|f(etch_(assoc|object|row)|ield_info|ree_(event_handler|query|result))|gen_id|m(aintain_db|odify_user)|n(ame_result|um_(fields|params))|p(aram_info|connect|repare)|query|r(estore|ollback(|_ret))|se(rv(er_info|ice_attach|ice_detach)|t_event_handler)|t(imefmt|rans)|wait_event))\b</string>
+ <string>(?i)\bibase_blob_(c(ancel|lose|reate)|i(nfo|mport)|open|echo|add|get)(?=\s*\()</string>
<key>name</key>
- <string>support.function.ibase.php</string>
+ <string>support.function.ibase_blobs.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(iconv(|_get_encoding|_mime_(decode(|_headers)|encode)|_s(et_encoding|tr(len|pos|rpos)|ubstr))|ob_iconv_handler)\b</string>
+ <string>(?i)\bibase_(set_event_handler|free_event_handler|wait_event)(?=\s*\()</string>
<key>name</key>
- <string>support.function.iconv.php</string>
+ <string>support.function.ibase_events.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(id3_(get_(frame_(long_name|short_name)|genre_(id|list|name)|tag|version)|remove_tag|set_tag))\b</string>
+ <string>(?i)\bibase_(n(um_(params|fields|rows)|ame_result)|execute|p(aram_info|repare)|f(ield_info|etch_(object|assoc|row)|ree_(query|result))|query|affected_rows)(?=\s*\()</string>
<key>name</key>
- <string>support.function.id3.php</string>
+ <string>support.function.ibase_query.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(ifx(_affected_rows|_b(lobinfile_mode|yteasvarchar)|_c(lose|onnect|opy_blob|reate_(blob|char))|_do|_error(|msg)|_f(etch_row|ield(properties|types)|ree_(blob|char|result))|_get(sqlca|_blob|_char)|_htmltbl_result|_nu(llformat|m_(fields|rows))|_p(connect|repare)|_query|_textasvarchar|_update_(blob|char)|us_(c(lose_slob|reate_slob)|free_slob|open_slob|read_slob|seek_slob|tell_slob|write_slob)))\b</string>
+ <string>(?i)\bibase_(serv(ice_(detach|attach)|er_info)|d(elete_user|b_info)|add_user|restore|backup|m(odify_user|aintain_db))(?=\s*\()</string>
<key>name</key>
- <string>support.function.ifx.php</string>
+ <string>support.function.ibase_service.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(iis_(add_server|get_(dir_security|s(cript_map|erv(er_(by_(comment|path)|rights)|ice_state)))|remove_server|set_(app_settings|dir_security|script_map|server_rights)|start_(serv(er|ice))|stop_(serv(er|ice))))\b</string>
+ <string>(?i)\b(iconv(_(s(tr(pos|len|rpos)|ubstr|et_encoding)|get_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)(?=\s*\()</string>
<key>name</key>
- <string>support.function.iisfunc.php</string>
+ <string>support.function.iconv.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(g(d_info|etimagesize)|image(2wbmp|a(lphablending|ntialias|rc)|char(|up)|color(allocate(|alpha)|at|closest(|alpha|hwb)|deallocate|exact(|alpha)|match|resolve(|alpha)|s(et|forindex|total)|transparent)|copy(|merge(|gray)|re(sampled|sized))|create(|from(gd(|2(|part))|gif|jpeg|png|string|wbmp|xbm|xpm)|truecolor)|d(ashedline|estroy)|ellipse|f(il(l(|ed(arc|ellipse|polygon|rectangle)|toborder)|ter)|ont(height|width)|t(bbox|text))|g(ammacorrect|d(|2)|if)|i(nterlace|struecolor)|jpeg|l(ayereffect|ine|oadfont)|p(alettecopy|ng|olygon|s(bbox|copyfont|encodefont|extendfont|freefont|loadfont|slantfont|text))|r(ectangle|otate)|s(avealpha|et(brush|pixel|style|thickness|tile)|tring(|up)|x|y)|t(ruecolortopalette|tf(bbox|text)|ypes)|wbmp|xbm|_type_to_(extension|mime_type))|iptc(embed|parse)|jpeg2wbmp|png2wbmp)\b</string>
+ <string>(?i)\b(image_type_to_(extension|mime_type)|getimagesize)(?=\s*\()</string>
<key>name</key>
<string>support.function.image.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(imap_(8bit|a(lerts|ppend)|b(ase64|inary|ody(|struct))|c(heck|learflag_full|lose|reatemailbox)|delete(|mailbox)|e(rrors|xpunge)|fetch(body|header|structure|_overview)|get(acl|mailboxes|subscribed|_quota(|root))|header(|info|s)|l(ast_error|ist(|mailbox|scan|subscribed)|sub)|mail(|boxmsginfo|_compose|_copy|_move)|m(ime_header_decode|sgno)|num_(msg|recent)|open|ping|qprint|r(e(namemailbox|open)|fc822_(parse_(adrlist|headers)|write_address))|s(canmailbox|e(arch|t(acl|flag_full|_quota))|ort|tatus|ubscribe)|t(hread|imeout)|u(id|n(delete|subscribe)|tf(7_decode|7_encode|8))))\b</string>
+ <string>(?i)\b(zend_logo_guid|php(credits|info|_(sapi_name|ini_scanned_files|uname|egg_logo_guid|logo_guid|real_logo_guid)|version))(?=\s*\()</string>
<key>name</key>
- <string>support.function.imap.php</string>
+ <string>support.function.info.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(assert(|_options)|dl|extension_loaded|get(env|lastmod|my(gid|inode|pid|uid)|opt|rusage|_c(fg_var|urrent_user)|_defined_constants|_extension_funcs|_include(d_files|_path)|_loaded_extensions|_magic_quotes_(gpc|runtime)|_required_files)|ini_(alter|get(|_all)|restore|set)|m(ain|emory_get_usage)|p(hp(credits|info|version|_ini_scanned_files|_logo_guid|_sapi_name|_uname)|utenv)|restore_include_path|set_(include_path|magic_quotes_runtime|time_limit)|version_compare|zend_(logo_guid|version))\b</string>
+ <string>(?i)\bibase_(c(o(nnect|mmit(_ret)?)|lose)|trans|drop_db|pconnect|err(code|msg)|gen_id|rollback(_ret)?)(?=\s*\()</string>
<key>name</key>
- <string>support.function.info.php</string>
+ <string>support.function.interbase.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bcurl_(setopt(_array)?|c(opy_handle|lose)|init|e(rr(no|or)|xec)|version|getinfo)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.interface.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\biptc(parse|embed)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.iptc.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bjson_(decode|encode)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.json.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(ircg_(channel_mode|disconnect|eval_ecmascript_params|fetch_error_msg|get_username|html_encode|i(gnore_(add|del)|nvite|s_conn_alive)|join|kick|l(ist|ookup_format_messages|users)|msg|n(ames|ick(|name_(escape|unescape))|otice)|oper|p(art|connect)|register_format_messages|set_(current|file|on_die)|topic|who(|is)))\b</string>
+ <string>(?i)\blcg_value(?=\s*\()</string>
<key>name</key>
- <string>support.function.ircg.php</string>
+ <string>support.function.lcg.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(ldap_(8859_to_t61|add|bind|c(lose|o(mpare|nnect|unt_entries))|d(elete|n2ufn)|e(rr(2str|no|or)|xplode_dn)|f(irst_(attribute|entry|reference)|ree_result)|get_(attributes|dn|entries|option|values(|_len))|list|mod(ify|_add|_del|_replace)|next_(attribute|entry|reference)|parse_(reference|result)|re(ad|name)|s(asl_bind|e(arch|t_(option|rebind_proc))|ort|tart_tls)|t61_to_8859|unbind))\b</string>
+ <string>(?i)\bldap_(s(tart_tls|ort|e(t_(option|rebind_proc)|arch)|asl_bind)|next_(entry|attribute|reference)|co(nnect|unt_entries|mpare)|t61_to_8859|8859_to_t61|d(n2ufn|elete)|unbind|parse_re(sult|ference)|e(rr(no|2str|or)|xplode_dn)|f(irst_(entry|attribute|reference)|ree_result)|add|list|get_(option|dn|entries|values_len|attributes)|re(name|ad)|mod_(del|add|replace)|bind)(?=\s*\()</string>
<key>name</key>
<string>support.function.ldap.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(a(bs|cos(|h)|sin(|h)|tan(|h|2))|b(ase_convert|indec)|c(eil|os(|h))|de(c(bin|hex|oct)|g2rad)|exp(|m1)|f(loor|mod)|getrandmax|h(exdec|ypot)|is_(finite|infinite|nan)|l(cg_value|og(|10|1p))|m(ax|in|t_(getrandmax|rand|srand))|octdec|p(i|ow)|r(a(d2deg|nd)|ound)|s(in(|h)|qrt|rand)|tan(|h))\b</string>
+ <string>(?i)\blevenshtein(?=\s*\()</string>
<key>name</key>
- <string>support.function.math.php</string>
+ <string>support.function.levenshtein.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(maxdb_(a(ffected_rows|utocommit)|bind_(param|result)|c(ha(nge_user|racter_set_name)|l(ient_encoding|ose(|_long_data))|o(mmit|nnect(|_err(no|or))))|d(ata_seek|ebug|isable_r(eads_from_master|pl_parse)|ump_debug_info)|e(mbedded_connect|nable_r(eads_from_master|pl_parse)|rr(no|or)|scape_string|xecute)|f(etch(|_array|_assoc|_field(|s|_direct)|_lengths|_resource|_row)|ield_(count|seek|tell)|ree_result)|get_(client_(info|version)|host_info|metadata|proto_info|server_(info|version))|in(fo|it|sert_id)|kill|m(aster_query|ore_results|ulti_query)|n(ext_result|um_(fields|rows))|options|p(aram_count|ing|repare)|query|r(e(al_(connect|escape_string|query)|port)|ollback|pl_(parse_enabled|probe|query_type))|s(e(lect_db|nd_(long_data|query)|rver_(end|init)|t_opt)|qlstate|sl_set|tat|tmt_(affected_rows|bind_(param|result)|close(|_long_data)|data_seek|e(rr(no|or)|xecute)|f(etch|ree_result)|init|num_rows|p(aram_count|repare)|res(et|ult_metadata)|s(end_long_data|qlstate|tore_result))|tore_result)|thread_(id|safe)|use_result|warning_count))\b</string>
+ <string>(?i)\blibxml_(set_streams_context|clear_errors|use_internal_errors|get_(errors|last_error))(?=\s*\()</string>
<key>name</key>
- <string>support.function.maxdb.php</string>
+ <string>support.function.libxml.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(mb_(convert_(case|encoding|kana|variables)|de(code_(mimeheader|numericentity)|tect_(encoding|order))|e(ncode_(mimeheader|numericentity)|reg(|_match|_replace|_search(|_get(pos|regs)|_init|_pos|_regs|_setpos)|i(|_replace)))|get_info|http_(input|output)|internal_encoding|l(anguage|ist_encodings)|output_handler|p(arse_str|referred_mime_name)|regex_(encoding|set_options)|s(end_mail|plit|tr(cut|imwidth|len|pos|rpos|tolower|toupper|width)|ubs(titute_character|tr|tr_count))))\b</string>
+ <string>(?i)\b(symlink|link(info)?|readlink)(?=\s*\()</string>
<key>name</key>
- <string>support.function.mbstring.php</string>
+ <string>support.function.link.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\b(ezmlm_hash|mail)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.mail.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(mcal_(append_event|c(lose|reate_calendar)|d(a(te_(compare|valid)|y(s_in_month|_of_(week|year)))|elete_(calendar|event))|e(vent_(add_attribute|init|set_(alarm|category|class|description|end|recur_(daily|monthly_mday|monthly_wday|none|weekly|yearly)|start|title))|xpunge)|fetch_(current_stream_event|event)|is_leap_year|list_(alarms|events)|next_recurrence|open|popen|re(name_calendar|open)|s(nooze|tore_event)|time_valid|week_of_year))\b</string>
+ <string>(?i)\bset_time_limit(?=\s*\()</string>
<key>name</key>
- <string>support.function.mcal.php</string>
+ <string>support.function.main.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\b(h(ypot|exdec)|s(in(h)?|qrt)|number_format|c(os(h)?|eil)|is_(nan|infinite|finite)|tan(h)?|octdec|de(c(hex|oct|bin)|g2rad)|exp(m1)?|p(i|ow)|f(loor|mod)|log(1(p|0))?|a(sin(h)?|cos(h)?|tan(h|2)?|bs)|r(ound|ad2deg)|b(indec|ase_convert))(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.math.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(mcrypt_(c(bc|fb|reate_iv)|decrypt|e(cb|nc(rypt|_get_(algorithms_name|block_size|iv_size|key_size|modes_name|supported_key_sizes)|_is_block_(algorithm_mode|algorithm|mode)|_self_test))|ge(neric(|_deinit|_end|_init)|t_(block_size|cipher_name|iv_size|key_size))|list_(algorithms|modes)|module_(close|get_(algo_(block_size|key_size)|supported_key_sizes)|is_block_(algorithm(|_mode)|mode)|open|self_test)|ofb)|mdecrypt_generic)\b</string>
+ <string>(?i)\bmb_(s(tr(str|cut|to(upper|lower)|i(str|pos|mwidth)|pos|width|len|r(chr|i(chr|pos)|pos))|ubst(itute_character|r(_count)?)|end_mail)|http_(input|output)|c(heck_encoding|onvert_(case|encoding|variables|kana))|internal_encoding|output_handler|de(code_(numericentity|mimeheader)|tect_(order|encoding))|encode_(numericentity|mimeheader)|p(arse_str|referred_mime_name)|l(ist_(encodings(_alias_names)?|mime_names)|anguage)|get_info)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.mbstring.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bm(crypt_(c(fb|reate_iv|bc)|ofb|decrypt|e(cb|nc(_(self_test|is_block_(algorithm(_mode)?|mode)|get_(supported_key_sizes|iv_size|key_size|algorithms_name|modes_name|block_size))|rypt))|list_(algorithms|modes)|ge(neric(_(init|deinit))?|t_(cipher_name|iv_size|key_size|block_size))|module_(self_test|close|is_block_(algorithm(_mode)?|mode)|open|get_(supported_key_sizes|algo_(key_size|block_size))))|decrypt_generic)(?=\s*\()</string>
<key>name</key>
<string>support.function.mcrypt.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(mhash(|_count|_get_(block_size|hash_name)|_keygen_s2k))\b</string>
+ <string>(?i)\bmd5(_file)?(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.md5.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bmetaphone(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.metaphone.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?(?=\s*\()</string>
<key>name</key>
<string>support.function.mhash.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(ming_(set(cubicthreshold|scale)|useswfversion)|SWF(Action|Bitmap|button(|_keypress)|DisplayItem|Font|Gradient|Mo(rph|vie)|S(hape|prite)|Text(|Field(|-&gt;addstring))))\b</string>
+ <string>(?i)\b(get(timeofday|rusage)|microtime)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.microtime.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bmime_content_type(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.mime_magic.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\b(swf(prebuiltclip_init|videostream_init)|ming_(set(scale|cubicthreshold)|use(swfversion|constants)|keypress))(?=\s*\()</string>
<key>name</key>
<string>support.function.ming.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(apd_(breakpoint|callstack|clunk|continue|croak|dump_(function_table|persistent_resources|regular_resources)|echo|get_active_symbols|set_(pprof_trace|session_trace|session|socket_session_trace))|aspell_(check(|_raw)|new|suggest)|bcompiler_(load_exe|load|parse_class|read|write_(class|constant|exe_footer|file|footer|function|functions_from_file|header))|ccvs_(add|auth|command|count|delete|done|init|lookup|new|report|return|reverse|sale|status|textvalue|void)|com_(addref|create_guid|event_sink|get(|_active_object)|invoke|isenum|load(|_typelib)|message_pump|print_typeinfo|propget|propput|propset|release|set)|con(nection_(aborted|status|timeout)|stant)|cybercash_(base64_(decode|encode)|decr|encr)|d(b(list|m(close|delete|exists|fetch|firstkey|insert|nextkey|open|replace))|efine(|d)|om_import_simplexml|otnet_load)|e(val|zmlm_hash)|fribidi_log2vis|get_browser|highlight_(file|string)|i(gnore_user_abort|s_soap_fault)|java_last_exception_(clear|get)|lzf_(compress|decompress|optimized_for)|m(ail|emcache_debug|ime_content_type)|nsapi_(re(quest_headers|sponse_headers)|virtual)|overload|p(ack|hp_(check_syntax|strip_whitespace))|qdom_(error|tree)|r(ar_(close|entry_get|list|open)|ecode(|_file|_string))|s(how_source|leep)|t(cpwrap_check|ime_nanosleep|oken_(get_all|name))|u(n(iqid|pack)|s(e_soap_error_handler|leep)))\b</string>
+ <string>(?i)\bcurl_multi_(select|close|in(it|fo_read)|exec|add_handle|getcontent|remove_handle)(?=\s*\()</string>
<key>name</key>
- <string>support.function.misc.php</string>
+ <string>support.function.multi.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(msql(|_affected_rows|_c(lose|onnect|reate(db|_db))|_d(ata_seek|b(name|_query)|rop_db)|_error|_f(etch_(array|field|object|row)|ield(flags|len|name|table|type|_flags|_len|_name|_seek|_table|_type)|ree_result)|_list_(dbs|fields|tables)|_num(fields|rows|_fields|_rows)|_pconnect|_query|_re(gcase|sult)|_select_db|_tablename))\b</string>
+ <string>(?i)\bmysqli_(s(sl_set|t(ore_result|at|mt_(s(tore_result|end_long_data|qlstate)|num_rows|close|in(sert_id|it)|data_seek|p(aram_count|repare)|e(rr(no|or)|xecute)|f(ield_count|etch|ree_result)|a(ttr_(set|get)|ffected_rows)|res(ult_metadata|et)|bind_(param|result)))|e(t_local_infile_(handler|default)|lect_db)|qlstate)|n(um_(fields|rows)|ext_result)|c(ha(nge_user|racter_set_name)|ommit|lose)|thread_(safe|id)|in(sert_id|it|fo)|options|d(ump_debug_info|ebug|ata_seek)|use_result|p(ing|repare)|err(no|or)|kill|f(ield_(seek|count|tell)|etch_(field(s|_direct)?|lengths|row)|ree_result)|warning_count|a(utocommit|ffected_rows)|r(ollback|eal_(connect|escape_string|query))|get_(server_(info|version)|host_info|client_(info|version)|proto_info)|more_results)(?=\s*\()</string>
<key>name</key>
- <string>support.function.msql.php</string>
+ <string>support.function.mysqli_api.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(mssql_(bind|c(lose|onnect)|data_seek|execute|f(etch_(array|assoc|batch|field|object|row)|ield_(length|name|seek|type)|ree_(result|statement))|g(et_last_message|uid_string)|init|min_(error_severity|message_severity)|n(ext_result|um_(fields|rows))|pconnect|query|r(esult|ows_affected)|select_db))\b</string>
+ <string>(?i)\bmysqli_embedded_server_(start|end)(?=\s*\()</string>
<key>name</key>
- <string>support.function.mssql.php</string>
+ <string>support.function.mysqli_embedded.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(mysql_(affected_rows|c(hange_user|l(ient_encoding|ose)|onnect|reate_db)|d(ata_seek|b_(name|query)|rop_db)|e(rr(no|or)|scape_string)|f(etch_(array|assoc|field|lengths|object|row)|ield_(flags|len|name|seek|table|type)|ree_result)|get_(client_info|host_info|proto_info|server_info)|in(fo|sert_id)|list_(dbs|fields|processes|tables)|num_(fields|rows)|p(connect|ing)|query|re(al_escape_string|sult)|s(elect_db|tat)|t(ablename|hread_id)|unbuffered_query))\b</string>
+ <string>(?i)\bmysqli_(s(tmt_get_warnings|et_charset)|connect(_err(no|or))?|query|fetch_(object|a(ssoc|rray))|get_(charset|warnings)|multi_query)(?=\s*\()</string>
<key>name</key>
- <string>support.function.mysql.php</string>
+ <string>support.function.mysqli_nonapi.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(mysqli_(a(ffected_rows|utocommit)|bind_(param|result)|c(ha(nge_user|racter_set_name)|l(ient_encoding|ose)|o(mmit|nnect(|_err(no|or))))|d(ata_seek|ebug|isable_(reads_from_master|rpl_parse)|ump_debug_info)|e(mbedded_connect|nable_(reads_from_master|rpl_parse)|rr(no|or)|scape_string|xecute)|f(etch(|_array|_assoc|_field(|s|_direct)|_lengths|_object|_row)|ield_(count|seek|tell)|ree_result)|get_(client_(info|version)|host_info|metadata|proto_info|server_(info|version))|in(fo|it|sert_id)|kill|m(aster_query|ore_results|ulti_query)|n(ext_result|um_(fields|rows))|options|p(aram_count|ing|repare)|query|r(e(al_(connect|escape_string|query)|port)|ollback|pl_(parse_enabled|probe|query_type))|s(e(lect_db|nd_(long_data|query)|rver_(end|init)|t_opt)|qlstate|sl_set|tat|tmt_(affected_rows|bind_(param|result)|close|data_seek|e(rr(no|or)|xecute)|f(etch|ree_result)|init|num_rows|p(aram_count|repare)|res(et|ult_metadata)|s(end_long_data|qlstate|tore_result))|tore_result)|thread_(id|safe)|use_result|warning_count))\b</string>
+ <string>(?i)\bmysqli_(s(end_query|lave_query)|disable_r(pl_parse|eads_from_master)|enable_r(pl_parse|eads_from_master)|rpl_(p(arse_enabled|robe)|query_type)|master_query)(?=\s*\()</string>
<key>name</key>
- <string>support.function.mysqli.php</string>
+ <string>support.function.mysqli_repl.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(c(heckdnsrr|loselog)|d(e(bugger_(off|on)|fine_syslog_variables)|ns_(check_record|get_mx|get_record))|fsockopen|get(hostby(addr|name(|l))|mxrr|protoby(name|number)|servby(name|port))|i(net_(ntop|pton)|p2long)|long2ip|openlog|pfsockopen|s(ocket_(get_status|set_(blocking|timeout))|yslog))\b</string>
+ <string>(?i)\bmysqli_report(?=\s*\()</string>
<key>name</key>
- <string>support.function.network.php</string>
+ <string>support.function.mysqli_report.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(notes_(body|c(opy_db|reate_(db|note))|drop_db|find_note|header_info|list_msgs|mark_(read|unread)|nav_create|search|unread|version))\b</string>
+ <string>(?i)\bdom_namednodemap_(set_named_item(_ns)?|item|remove_named_item(_ns)?|get_named_item(_ns)?)(?=\s*\()</string>
<key>name</key>
- <string>support.function.notes.php</string>
+ <string>support.function.namednodemap.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(aggregat(e(|_info|_methods(|_by_(list|regexp))|_properties(|_by_(list|regexp)))|ion_info)|deaggregate)\b</string>
+ <string>(?i)\bdom_namelist_get_name(space_uri)?(?=\s*\()</string>
<key>name</key>
- <string>support.function.objaggregation.php</string>
+ <string>support.function.namelist.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(oci(bindbyname|c(ancel|loselob|o(ll(a(ppend|ssign(|elem))|getelem|max|size|trim)|lumn(isnull|name|precision|s(cale|ize)|type(|raw))|mmit))|definebyname|e(rror|xecute)|f(etch(|into|statement)|ree(c(ollection|ursor)|desc|statement))|internaldebug|lo(adlob|go(ff|n))|n(ew(c(ollection|ursor)|descriptor)|logon|umcols)|p(arse|logon)|r(esult|o(llback|wcount))|s(avelob(|file)|e(rverversion|tprefetch)|tatementtype)|write(lobtofile|temporarylob)|_(bind_by_name|c(ancel|lose|o(mmit|nnect))|define_by_name|e(rror|xecute)|f(etch(|_(all|array|assoc|object|row))|ield_(is_null|name|precision|s(cale|ize)|type(|_raw))|ree_statement)|internal_debug|lob_(copy|is_equal)|n(ew_(c(o(llection|nnect)|ursor)|descriptor)|um_(fields|rows))|p(a(rse|ssword_change)|connect)|r(esult|ollback)|s(e(rver_version|t_prefetch)|tatement_type))))\b</string>
+ <string>(?i)\bncurses_(s(how_panel|cr(_(set|init|dump|restore)|l)|ta(nd(out|end)|rt_color)|lk_(set|noutrefresh|c(olor|lear)|init|touch|attr(set|o(n|ff))?|re(store|fresh))|avetty)|h(ide_panel|line|a(s_(colors|i(c|l)|key)|lfdelay))|n(o(nl|cbreak|echo|qiflush|raw)|ew(_panel|pad|win)|apms|l)|c(olor_(set|content)|urs_set|l(ear|rto(eol|bot))|an_change_color|break)|t(ypeahead|imeout|op_panel|erm(name|attrs))|i(sendwin|n(s(str|ch|tr|delln|ertln)|ch|it(_(color|pair))?))|d(oupdate|e(f(ine_key|_(shell_mode|prog_mode))|l(ch|_panel|eteln|ay_output|win)))|u(se_(default_colors|e(nv|xtended_names))|nget(ch|mouse)|pdate_panels)|p(noutrefresh|utp|a(nel_(window|above|below)|ir_content)|refresh)|e(cho(char)?|nd|rase(char)?)|v(idattr|line)|k(illchar|ey(ok|pad))|qiflush|f(ilter|l(ushinp|ash))|longname|w(stand(out|end)|hline|noutrefresh|c(olor_set|lear)|erase|vline|a(ttr(set|o(n|ff))|dd(str|ch))|getch|refresh|mo(use_trafo|ve)|border)|a(ssume_default_colors|ttr(set|o(n|ff))|dd(str|nstr|ch(str|nstr)?))|r(e(set(ty|_(shell_mode|prog_mode))|place_panel|fresh)|aw)|get(yx|ch|m(ouse|axyx))|b(o(ttom_panel|rder)|eep|kgd(set)?|audrate)|m(o(use(interval|_trafo|mask)|ve(_panel)?)|eta|v(hline|cur|inch|delch|vline|waddstr|add(str|nstr|ch(str|nstr)?)|getch)))(?=\s*\()</string>
<key>name</key>
- <string>support.function.oci8.php</string>
+ <string>support.function.ncurses_functions.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(openssl_(csr_(export(|_to_file)|new|sign)|error_string|free_key|get_p(rivatekey|ublickey)|open|p(k(cs7_(decrypt|encrypt|sign|verify)|ey_(export(|_to_file)|get_(private|public)|new))|rivate_(decrypt|encrypt)|ublic_(decrypt|encrypt))|s(eal|ign)|verify|x509_(check(purpose|_private_key)|export(|_to_file)|free|parse|read)))\b</string>
+ <string>(?i)\bdom_node_(set_user_data|has_(child_nodes|attributes)|normalize|c(ompare_document_position|lone_node)|i(s_(s(upported|ame_node)|default_namespace|equal_node)|nsert_before)|lookup_(namespace_uri|prefix)|append_child|get_(user_data|feature)|re(place_child|move_child))(?=\s*\()</string>
<key>name</key>
- <string>support.function.openssl.php</string>
+ <string>support.function.node.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bdom_nodelist_item(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.nodelist.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bnsapi_(virtual|re(sponse_headers|quest_headers))(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.nsapi.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\boci(setbufferinglob|_(s(tatement_type|e(t_prefetch|rver_version))|c(o(nnect|llection_(size|trim|element_(assign|get)|a(ssign|ppend)|max)|mmit)|lose|ancel)|n(um_(fields|rows)|ew_(c(o(nnect|llection)|ursor)|descriptor))|internal_debug|define_by_name|p(connect|a(ssword_change|rse))|e(rror|xecute)|f(ield_(s(cale|ize)|name|is_null|type(_raw)?|precision)|etch(_(object|a(ssoc|ll|rray)|row))?|ree_(statement|collection|descriptor))|lob_(s(ize|eek|ave)|c(opy|lose)|t(ell|runcate)|i(s_equal|mport)|e(of|rase|xport)|flush|append|write(_temporary)?|load|re(wind|ad))|r(ollback|esult)|bind_(array_by_name|by_name))|fetchinto|getbufferinglob)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.oci8_interface.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(ora_(bind|c(lose|o(lumn(name|size|type)|mmit(|off|on)))|do|e(rror(|code)|xec)|fetch(|_into)|getcolumn|logo(ff|n)|num(cols|rows)|open|p(arse|logon)|rollback))\b</string>
+ <string>(?i)\bopenssl_(s(ign|eal)|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|open|error_string|p(ublic_(decrypt|encrypt)|k(cs(12_(export(_to_file)?|read)|7_(sign|decrypt|encrypt|verify))|ey_(new|export(_to_file)?|free|get_(details|p(ublic|rivate))))|rivate_(decrypt|encrypt))|verify|x509_(check(_private_key|purpose)|parse|export(_to_file)?|free|read))(?=\s*\()</string>
<key>name</key>
- <string>support.function.oracle.php</string>
+ <string>support.function.openssl.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(flush|o(b_(clean|end_(clean|flush)|flush|get_(clean|contents|flush|length|level|status)|gzhandler|implicit_flush|list_handlers|start|tidyhandler)|utput_(add_rewrite_var|reset_rewrite_vars)))\b</string>
+ <string>(?i)\bo(utput_(add_rewrite_var|reset_rewrite_vars)|b_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|get_(status|c(ontents|lean)|flush|le(ngth|vel))))(?=\s*\()</string>
<key>name</key>
- <string>support.function.outcontrol.php</string>
+ <string>support.function.output.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(ovrimos_(c(lose|o(mmit|nnect)|ursor)|exec(|ute)|f(etch_(into|row)|ield_(len|name|num|type)|ree_result)|longreadlen|num_(fields|rows)|prepare|r(esult(|_all)|ollback)))\b</string>
+ <string>(?i)\b(unpack|pack)(?=\s*\()</string>
<key>name</key>
- <string>support.function.ovrimos.php</string>
+ <string>support.function.pack.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(parsekit_(compile_(file|string)|func_arginfo))\b</string>
+ <string>(?i)\bget(lastmod|my(inode|uid|pid|gid))(?=\s*\()</string>
<key>name</key>
- <string>support.function.parsekit.php</string>
+ <string>support.function.pageinfo.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(pcntl_(alarm|exec|fork|getpriority|setpriority|signal|w(ait(|pid)|exitstatus|if(exited|signaled|stopped)|stopsig|termsig)))\b</string>
+ <string>(?i)\bpcntl_(s(ignal|etpriority)|exec|fork|w(stopsig|termsig|if(s(ignaled|topped)|exited)|exitstatus|ait(pid)?)|alarm|getpriority)(?=\s*\()</string>
<key>name</key>
<string>support.function.pcntl.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(preg_(grep|match(|_all)|quote|replace(|_callback)|split))\b</string>
+ <string>(?i)\bpdo_drivers(?=\s*\()</string>
<key>name</key>
- <string>support.function.pcre.php</string>
+ <string>support.function.pdo.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(pdf_(a(dd_(annotation|bookmark|launchlink|locallink|note|outline|pdflink|thumbnail|weblink)|rc(|n)|ttach_file)|begin_(pa(ge|ttern)|template)|c(ircle|l(ip|o(se(|path(|_fill_stroke|_stroke)|_(image|pdi(|_page)))))|on(cat|tinue_text)|urveto)|delete|end(path|_(pa(ge|ttern)|template))|fi(ll(|_stroke)|ndfont)|get_(buffer|font(|name|size)|image_(height|width)|m(ajorversion|inorversion)|p(arameter|di_(parameter|value))|value)|initgraphics|lineto|m(akespotcolor|oveto)|new|open(|_(ccitt|file|gif|image(|_file)|jpeg|memory_image|p(di(|_page)|ng)|tiff))|place_(image|pdi_page)|r(e(ct|store)|otate)|s(ave|cale|et(color|dash|f(lat|ont)|gray(|_fill|_stroke)|line(cap|join|width)|m(atrix|iterlimit)|polydash|rgbcolor(|_fill|_stroke)|_(border_(color|dash|style)|char_spacing|duration|font|horiz_scaling|info(|_(author|creator|keywords|subject|title))|leading|parameter|text_(matrix|pos|rendering|rise)|value|word_spacing))|how(|_boxed|_xy)|kew|tr(ingwidth|oke))|translate))\b</string>
+ <string>(?i)\bpdo_drivers(?=\s*\()</string>
<key>name</key>
- <string>support.function.pdf.php</string>
+ <string>support.function.pdo_dbh.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(pg_(affected_rows|c(ancel_query|l(ient_encoding|ose)|o(n(nect(|ion_(busy|reset|status))|vert)|py_(from|to)))|d(bname|elete)|e(nd_copy|scape_(bytea|string))|f(etch_(a(ll|rray|ssoc)|object|r(esult|ow))|ield_(is_null|n(ame|um)|prtlen|size|type)|ree_result)|get_(notify|pid|result)|host|insert|l(ast_(error|notice|oid)|o_(c(lose|reate)|export|import|open|read(|_all)|seek|tell|unlink|write))|meta_data|num_(fields|rows)|options|p(arameter_status|connect|ing|ort|ut_line)|query|result_(error|seek|status)|se(lect|nd_query|t_client_encoding)|t(race|ty)|u(n(escape_bytea|trace)|pdate)|version))\b</string>
+ <string>(?i)\bpg_(se(nd_(execute|prepare|query(_params)?)|t_(client_encoding|error_verbosity)|lect)|host|num_(fields|rows)|c(o(n(nect(ion_(status|reset|busy))?|vert)|py_(to|from))|ancel_query|l(ient_encoding|ose))|insert|t(ty|ra(nsaction_status|ce))|options|d(elete|bname)|u(n(trace|escape_bytea)|pdate)|e(scape_(string|bytea)|nd_copy|xecute)|p(connect|ing|ort|ut_line|arameter_status|repare)|version|f(ield_(size|n(um|ame)|is_null|t(ype(_oid)?|able)|prtlen)|etch_(object|a(ssoc|ll(_columns)?|rray)|r(ow|esult))|ree_result)|query(_params)?|affected_rows|l(o_(seek|c(lose|reate)|tell|import|open|unlink|export|write|read(_all)?)|ast_(notice|oid|error))|get_(notify|pid|result)|result_(s(tatus|eek)|error(_field)?)|meta_data)(?=\s*\()</string>
<key>name</key>
<string>support.function.pgsql.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(posix_(access|ctermid|get(cwd|e(gid|uid)|g(id|r(gid|nam|oups))|login|p(g(id|rp)|id|pid|w(nam|uid))|rlimit|sid|uid|_last_error)|isatty|kill|mkfifo|s(et(e(gid|uid)|gid|pgid|sid|uid)|trerror)|t(imes|tyname)|uname))\b</string>
+ <string>(?i)\b(virtual|apache_(setenv|note|child_terminate|lookup_uri|get_(version|modules)|re(s(et_timeout|ponse_headers)|quest_(s(ome_auth_required|ub_req_(lookup_(uri|file)|method_uri)|e(t_(etag|last_modified)|rver_port)|atisfies)|headers(_(in|out))?|is_initial_req|discard_request_body|update_mtime|err_headers_out|log_error|auth_(name|type)|r(un|emote_host)|meets_conditions)))|getallheaders)(?=\s*\()</string>
<key>name</key>
- <string>support.function.posix.php</string>
+ <string>support.function.php_apache.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(printer_(abort|c(lose|reate_(brush|dc|font|pen))|d(elete_(brush|dc|font|pen)|raw_(bmp|chord|elipse|line|pie|r(ectangle|oundrect)|text))|end_(doc|page)|get_option|l(ist|ogical_fontheight)|open|s(e(lect_(brush|font|pen)|t_option)|tart_(doc|page))|write))\b</string>
+ <string>(?i)\b(str(totime|ftime)|checkdate|time(zone_(name_(from_abbr|get)|identifiers_list|transitions_get|o(pen|ffset_get)|abbreviations_list))?|idate|date(_(sun(set|_info|rise)|create|isodate_set|time(zone_(set|get)|_set)|d(efault_timezone_(set|get)|ate_set)|offset_get|parse|format|modify))?|localtime|g(etdate|m(strftime|date|mktime))|mktime)(?=\s*\()</string>
<key>name</key>
- <string>support.function.printer.php</string>
+ <string>support.function.php_date.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(pspell_(add_to_(personal|session)|c(heck|lear_session|onfig_(create|d(ata_dir|ict_dir)|ignore|mode|personal|r(epl|untogether)|save_repl))|new(|_config|_personal)|s(ave_wordlist|tore_replacement|uggest)))\b</string>
+ <string>(?i)\bdom_import_simplexml(?=\s*\()</string>
<key>name</key>
- <string>support.function.pspell.php</string>
+ <string>support.function.php_dom.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(readline(|_(add_history|c(allback_(handler_(install|remove)|read_char)|lear_history|ompletion_function)|info|list_history|on_new_line|re(ad_history|display)|write_history)))\b</string>
+ <string>(?i)\bfbsql_(hostname|s(t(op_db|art_db)|e(t_(characterset|transaction|password|lob_mode)|lect_db))|n(um_(fields|rows)|ext_result)|c(hange_user|o(nnect|mmit)|lo(se|b_size)|reate_(clob|db|blob))|table_name|insert_id|d(ata(_seek|base(_password)?)|rop_db|b_(status|query))|username|err(no|or)|p(connect|assword)|f(ield_(seek|name|t(ype|able)|flags|len)|etch_(object|field|lengths|a(ssoc|rray)|row)|ree_result)|query|warnings|list_(tables|dbs|fields)|a(utocommit|ffected_rows)|get_autostart_info|r(o(ws_fetched|llback)|e(sult|ad_(clob|blob)))|blob_size)(?=\s*\()</string>
<key>name</key>
- <string>support.function.readline.php</string>
+ <string>support.function.php_fbsql.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(ereg(|_replace|i(|_replace))|s(plit(|i)|ql_regcase))\b</string>
+ <string>(?i)\bftp_(s(sl_connect|ystype|i(te|ze)|et_option)|n(list|b_(continue|put|f(put|get)|get))|c(h(dir|mod)|dup|onnect|lose)|delete|exec|p(ut|asv|wd)|f(put|get)|alloc|login|get(_option)?|r(ename|aw(list)?|mdir)|m(dtm|kdir))(?=\s*\()</string>
<key>name</key>
- <string>support.function.regex.php</string>
+ <string>support.function.php_ftp.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(ftok|msg_(get_queue|re(ceive|move_queue)|s(e(nd|t_queue)|tat_queue))|s(em_(acquire|get|re(lease|move))|hm_(attach|detach|get_var|put_var|remove(|_var))))\b</string>
+ <string>(?i)\b(virtual|apache_(setenv|note|get(_(version|modules)|env)|response_headers)|getallheaders)(?=\s*\()</string>
<key>name</key>
- <string>support.function.sem.php</string>
+ <string>support.function.php_functions.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(sesam_(affected_rows|co(mmit|nnect)|di(agnostic|sconnect)|e(rrormsg|xecimm)|f(etch_(array|result|row)|ield_(array|name)|ree_result)|num_fields|query|rollback|se(ek_row|ttransaction)))\b</string>
+ <string>(?i)\bimap_(header(s|info)|s(can|tatus|ort|ubscribe|e(t(_quota|flag_full|acl)|arch)|avebody)|c(heck|l(ose|earflag_full)|reatemailbox)|num_(recent|msg)|t(hread|imeout)|8bit|delete(mailbox)?|open|u(n(subscribe|delete)|id|tf(7_(decode|encode)|8))|e(rrors|xpunge)|ping|qprint|fetch(header|structure|_overview|body)|l(sub|ist|ast_error)|a(ppend|lerts)|get(subscribed|_quota(root)?|acl|mailboxes)|r(e(namemailbox|open)|fc822_(parse_(headers|adrlist)|write_address))|m(sgno|ime_header_decode|ail(_(co(py|mpose)|move)|boxmsginfo)?)|b(inary|ody(struct)?|ase64))(?=\s*\()</string>
<key>name</key>
- <string>support.function.sesam.php</string>
+ <string>support.function.php_imap.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(session_(c(ache_(expire|limiter)|ommit)|de(code|stroy)|encode|get_cookie_params|i(d|s_registered)|module_name|name|re(generate_id|gister)|s(ave_path|et_(cookie_params|save_handler)|tart)|un(register|set)|write_close))\b</string>
+ <string>(?i)\bmb_(split|ereg(i(_replace)?|_(search(_(setpos|init|pos|get(pos|regs)|regs))?|replace|match))?|regex_(set_options|encoding))(?=\s*\()</string>
<key>name</key>
- <string>support.function.session.php</string>
+ <string>support.function.php_mbregex.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(shmop_(close|delete|open|read|size|write))\b</string>
+ <string>(?i)\bsmfi_(set(timeout|flags|reply)|chgheader|delrcpt|add(header|rcpt)|replacebody|getsymval)(?=\s*\()</string>
<key>name</key>
- <string>support.function.shmop.php</string>
+ <string>support.function.php_milter.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(simplexml_(import_dom|load_(file|string)))\b</string>
+ <string>(?i)\bmsql_(select_db|num_(fields|rows)|c(onnect|lose|reate_db)|d(ata_seek|rop_db|b_query)|error|pconnect|f(ield_(seek|name|t(ype|able)|flags|len)|etch_(object|field|array|row)|ree_result)|query|affected_rows|list_(tables|dbs|fields)|result)(?=\s*\()</string>
<key>name</key>
- <string>support.function.simplexml.php</string>
+ <string>support.function.php_msql.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(snmp(get(|next)|realwalk|set|walk(|oid)|_(get_(quick_print|valueretrieval)|read_mib|set_(enum_print|oid_numeric_print|quick_print|valueretrieval))))\b</string>
+ <string>(?i)\bmssql_(select_db|n(um_(fields|rows)|ext_result)|c(onnect|lose)|init|data_seek|execute|pconnect|query|f(ield_(seek|name|type|length)|etch_(object|field|a(ssoc|rray)|row|batch)|ree_(statement|result))|g(uid_string|et_last_message)|r(ows_affected|esult)|bind|min_(error_severity|message_severity))(?=\s*\()</string>
<key>name</key>
- <string>support.function.snmp.php</string>
+ <string>support.function.php_mssql.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(is_soap_fault|use_soap_error_handler)\b</string>
+ <string>(?i)\bmysql_(s(tat|e(t_charset|lect_db))|num_(fields|rows)|c(onnect|l(ient_encoding|ose)|reate_db)|thread_id|in(sert_id|fo)|d(ata_seek|rop_db|b_query)|unbuffered_query|e(scape_string|rr(no|or))|p(connect|ing)|f(ield_(seek|name|t(ype|able)|flags|len)|etch_(object|field|lengths|a(ssoc|rray)|row)|ree_result)|query|affected_rows|list_(tables|dbs|processes|fields)|re(sult|al_escape_string)|get_(server_info|host_info|client_info|proto_info))(?=\s*\()</string>
<key>name</key>
- <string>support.function.soap.php</string>
+ <string>support.function.php_mysql.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(socket_(accept|bind|c(l(ear_error|ose)|onnect|reate(|_listen|_pair))|get(peername|sockname|_option)|l(ast_error|isten)|re(ad|cv(|from))|s(e(lect|nd(|to)|t_(block|nonblock|option))|hutdown|trerror)|write))\b</string>
+ <string>(?i)\b(solid_fetch_prev|odbc_(s(tatistics|pecialcolumns|etoption)|n(um_(fields|rows)|ext_result)|c(o(nnect|lumn(s|privileges)|mmit)|ursor|lose(_all)?)|table(s|privileges)|data_source|e(rror(msg)?|xec(ute)?)|p(connect|r(imarykeys|ocedure(s|columns)|epare))|f(ield_(scale|n(um|ame)|type|len)|oreignkeys|etch_(into|object|array|row)|ree_result)|autocommit|longreadlen|gettypeinfo|r(ollback|esult(_all)?)|binmode))(?=\s*\()</string>
<key>name</key>
- <string>support.function.sockets.php</string>
+ <string>support.function.php_odbc.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(class_(implements|parents)|iterator_(count|to_array)|spl_classes)\b</string>
+ <string>(?i)\bpreg_(split|quote|last_error|grep|replace(_callback)?|match(_all)?)(?=\s*\()</string>
<key>name</key>
- <string>support.function.spl.php</string>
+ <string>support.function.php_pcre.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(sqlite_(array_query|busy_timeout|c(hanges|lose|olumn|reate_(aggregate|function)|urrent)|e(rror_string|scape_string|xec)|f(actory|etch_(a(ll|rray)|column_types|object|s(ingle|tring))|ield_name)|has_(more|prev)|key|l(ast_(error|insert_rowid)|ib(encoding|version))|n(ext|um_(fields|rows))|open|p(open|rev)|query|rewind|s(eek|ingle_query)|u(df_(decode_binary|encode_binary)|nbuffered_query)|valid))\b</string>
+ <string>(?i)\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|parents))(?=\s*\()</string>
<key>name</key>
- <string>support.function.sqlite.php</string>
+ <string>support.function.php_spl.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(ssh2_(auth_(none|password|pubkey_file)|connect|exec|f(etch_stream|ingerprint)|methods_negotiated|s(cp_(recv|send)|ftp(|_(lstat|mkdir|readlink|realpath|rename|rmdir|stat|symlink|unlink))|hell)|tunnel))\b</string>
+ <string>(?i)\bsybase_(se(t_message_handler|lect_db)|num_(fields|rows)|c(onnect|lose)|d(eadlock_retry_count|ata_seek)|unbuffered_query|pconnect|f(ield_seek|etch_(object|field|a(ssoc|rray)|row)|ree_result)|query|affected_rows|result|get_last_message|min_(server_severity|client_severity))(?=\s*\()</string>
<key>name</key>
- <string>support.function.ssh2.php</string>
+ <string>support.function.php_sybase_ct.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(stream_(co(ntext_(create|get_(default|options)|set_(option|params))|py_to_stream)|filter_(append|prepend|re(gister|move))|get_(contents|filters|line|meta_data|transports|wrappers)|register_wrapper|s(e(lect|t_(blocking|timeout|write_buffer))|ocket_(accept|client|enable_crypto|get_name|pair|recvfrom|se(ndto|rver)))|wrapper_(re(gister|store)|unregister)))\b</string>
+ <string>(?i)\bsybase_(select_db|num_(fields|rows)|c(onnect|lose)|data_seek|pconnect|f(ield_seek|etch_(object|field|array|row)|ree_result)|query|affected_rows|result|get_last_message|min_(error_severity|message_severity))(?=\s*\()</string>
<key>name</key>
- <string>support.function.stream.php</string>
+ <string>support.function.php_sybase_db.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(add(cslashes|slashes)|bin2hex|c(h(op|r|unk_split)|onvert_(cyr_string|uudecode|uuencode)|ount_chars|rc32|rypt)|e(cho|xplode)|fprintf|get_html_translation_table|h(ebrev(|c)|tml(entities|specialchars|_entity_decode))|implode|join|l(evenshtein|ocaleconv|trim)|m(d5(|_file)|etaphone|oney_format)|n(l(2br|_langinfo)|umber_format)|ord|p(arse_str|rint(|f))|quote(d_printable_decode|meta)|rtrim|s(etlocale|ha1(|_file)|imilar_text|oundex|printf|scanf|tr(c(asecmp|hr|mp|oll|spn)|i(p(cslashes|os|slashes|_tags)|str)|len|n(atc(asecmp|mp)|c(asecmp|mp))|p(brk|os)|r(chr|ev|ipos|pos)|s(pn|tr)|t(o(k|lower|upper)|r)|_(ireplace|pad|r(ep(eat|lace)|ot13)|s(huffle|plit)|word_count))|ubstr(|_(compare|count|replace)))|trim|uc(first|words)|v(fprintf|printf|sprintf)|wordwrap)\b</string>
+ <string>(?i)\bxmlwriter_(s(tart_(c(omment|data)|d(td(_(e(ntity|lement)|attlist))?|ocument)|pi|element(_ns)?|attribute(_ns)?)|et_indent(_string)?)|text|o(utput_memory|pen_(uri|memory))|end_(c(omment|data)|d(td(_(e(ntity|lement)|attlist))?|ocument)|pi|element|attribute)|f(ull_end_element|lush)|write_(c(omment|data)|dtd(_(e(ntity|lement)|attlist))?|pi|element(_ns)?|attribute(_ns)?|raw))(?=\s*\()</string>
<key>name</key>
- <string>support.function.strings.php</string>
+ <string>support.function.php_xmlwriter.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(swf_(a(ction(g(eturl|oto(frame|label))|nextframe|p(lay|revframe)|s(ettarget|top)|togglequality|waitforframe)|dd(buttonrecord|color))|closefile|define(bitmap|font|line|poly|rect|text)|end(button|doaction|shape|symbol)|font(size|slant|tracking)|get(bitmapinfo|fontinfo|frame)|l(abelframe|ookat)|m(odifyobject|ulcolor)|nextid|o(ncondition|penfile|rtho(|2))|p(erspective|laceobject|o(larview|pmatrix|sround)|ushmatrix)|r(emoveobject|otate)|s(cale|et(font|frame)|hape(arc|curveto(|3)|fill(bitmap(clip|tile)|off|solid)|line(solid|to)|moveto)|howframe|tart(button|doaction|shape|symbol))|t(extwidth|ranslate)|viewport))\b</string>
+ <string>(?i)\b(s(tat(Name|Index)|et(Comment(Name|Index)|ArchiveComment))|c(lose|reateEmptyDir)|delete(Name|Index)|open|zip_(close|open|entry_(name|c(ompress(ionmethod|edsize)|lose)|open|filesize|read)|read)|unchange(Name|Index|All)|locateName|addF(ile|romString)|rename(Name|Index)|get(Stream|Comment(Name|Index)|NameIndex|From(Name|Index)|ArchiveComment))(?=\s*\()</string>
<key>name</key>
- <string>support.function.swf.php</string>
+ <string>support.function.php_zip.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(sybase_(affected_rows|c(lose|onnect)|d(ata_seek|eadlock_retry_count)|f(etch_(array|assoc|field|object|row)|ield_seek|ree_result)|get_last_message|min_(client_severity|error_severity|message_severity|server_severity)|num_(fields|rows)|pconnect|query|result|se(lect_db|t_message_handler)|unbuffered_query))\b</string>
+ <string>(?i)\bposix_(s(trerror|et(sid|uid|pgid|e(uid|gid)|gid))|ctermid|i(satty|nitgroups)|t(tyname|imes)|uname|kill|access|get(sid|cwd|_last_error|uid|e(uid|gid)|p(id|pid|w(nam|uid)|g(id|rp))|login|rlimit|g(id|r(nam|oups|gid)))|mk(nod|fifo))(?=\s*\()</string>
<key>name</key>
- <string>support.function.sybase.php</string>
+ <string>support.function.posix.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(tidy_(access_count|c(lean_repair|onfig_count)|diagnose|error_count|get(opt|_(body|config|error_buffer|head|html(|_ver)|output|r(elease|oot)|status))|is_(xhtml|xml)|load_config|parse_(file|string)|re(pair_(file|string)|set_config)|s(ave_config|et(opt|_encoding))|warning_count))\b</string>
+ <string>(?i)\bproc_(close|terminate|open|get_status)(?=\s*\()</string>
<key>name</key>
- <string>support.function.tidy.php</string>
+ <string>support.function.proc_open.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(odbc_(autocommit|binmode|c(lose(|_all)|o(lumn(s|privileges)|mmit|nnect)|ursor)|d(ata_source|o)|e(rror(|msg)|xec(|ute))|f(etch_(array|into|object|row)|ield_(len|n(ame|um)|precision|scale|type)|oreignkeys|ree_result)|gettypeinfo|longreadlen|n(ext_result|um_(fields|rows))|p(connect|r(epare|imarykeys|ocedure(columns|s)))|r(esult(|_all)|ollback)|s(etoption|pecialcolumns|tatistics)|table(privileges|s)))\b</string>
+ <string>(?i)\bpspell_(s(tore_replacement|uggest|ave_wordlist)|c(heck|onfig_(save_repl|create|ignore|d(ict_dir|ata_dir)|personal|r(untogether|epl)|mode)|lear_session)|new(_(config|personal))?|add_to_(session|personal))(?=\s*\()</string>
<key>name</key>
- <string>support.function.odbc.php</string>
+ <string>support.function.pspell.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(base64_(decode|encode)|get_(headers|meta_tags)|http_build_query|parse_url|rawurl(decode|encode)|url(decode|encode))\b</string>
+ <string>(?i)\bquoted_printable_decode(?=\s*\()</string>
<key>name</key>
- <string>support.function.url.php</string>
+ <string>support.function.quot_print.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(d(ebug_zval_dump|oubleval)|empty|floatval|get(type|_(defined_vars|resource_type))|i(mport_request_variables|ntval|s(set|_(array|bool|callable|double|float|integer|int|long|null|numeric|object|real|resource|scalar|string)))|print_r|s(e(rialize|ttype)|trval)|un(se(rialize|t))|var_(dump|export))\b</string>
+ <string>(?i)\b(srand|getrandmax|rand|mt_(srand|getrandmax|rand))(?=\s*\()</string>
<key>name</key>
- <string>support.function.var.php</string>
+ <string>support.function.rand.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(vpopmail_(a(dd_(alias_(domain_ex|domain)|domain(|_ex)|user)|lias_(add|del(|_domain)|get(|_all))|uth_user)|del_(domain(|_ex)|user)|error|passwd|set_user_quota))\b</string>
+ <string>(?i)\breadline(_(c(ompletion_function|allback_(handler_(install|remove)|read_char)|lear_history)|info|on_new_line|write_history|list_history|add_history|re(display|ad_history)))?(?=\s*\()</string>
<key>name</key>
- <string>support.function.vpopmail.php</string>
+ <string>support.function.readline.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(w32api_(deftype|in(it_dtype|voke_function)|register_function|set_call_method))\b</string>
+ <string>(?i)\brecode_(string|file)(?=\s*\()</string>
<key>name</key>
- <string>support.function.w32api.php</string>
+ <string>support.function.recode.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(wddx_(add_vars|deserialize|packet_(end|start)|serialize_(value|vars)))\b</string>
+ <string>(?i)\b(s(plit(i)?|ql_regcase)|ereg(i(_replace)?|_replace)?)(?=\s*\()</string>
<key>name</key>
- <string>support.function.wddx.php</string>
+ <string>support.function.reg.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(xattr_(get|list|remove|s(et|upported)))\b</string>
+ <string>(?i)\bsession_(s(tart|et_(save_handler|cookie_params)|ave_path)|cache_(expire|limiter)|name|i(s_registered|d)|de(stroy|code)|un(set|register)|encode|write_close|reg(ister|enerate_id)|get_cookie_params|module_name)(?=\s*\()</string>
<key>name</key>
- <string>support.function.xattr.php</string>
+ <string>support.function.session.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(xdiff_(file_(diff(|_binary)|merge3|patch(|_binary))|string_(diff(|_binary)|merge3|patch(|_binary))))\b</string>
+ <string>(?i)\bsha1(_file)?(?=\s*\()</string>
<key>name</key>
- <string>support.function.xdiff.php</string>
+ <string>support.function.sha1.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(utf8_(decode|encode)|xml_(error_string|get_(current_(byte_index|column_number|line_number)|error_code)|parse(|r(_create(|_ns)|_free|_get_option|_set_option)|_into_struct)|set_(character_data_handler|default_handler|e(lement_handler|nd_namespace_decl_handler|xternal_entity_ref_handler)|notation_decl_handler|object|processing_instruction_handler|start_namespace_decl_handler|unparsed_entity_decl_handler)))\b</string>
+ <string>(?i)\bshmop_(size|close|delete|open|write|read)(?=\s*\()</string>
<key>name</key>
- <string>support.function.xml.php</string>
+ <string>support.function.shmop.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(xmlrpc_(decode(|_request)|encode(|_request)|get_type|is_fault|parse_method_descriptions|se(rver_(add_introspection_data|c(all_method|reate)|destroy|register_(introspection_callback|method))|t_type)))\b</string>
+ <string>(?i)\bsimplexml_(import_dom|load_(string|file))(?=\s*\()</string>
<key>name</key>
- <string>support.function.xmlrpc.php</string>
+ <string>support.function.simplexml.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(xslt_(backend_(info|name|version)|create|err(no|or)|free|getopt|process|set(opt|_(base|e(ncoding|rror_handler)|log|object|s(ax_(handler(|s))|cheme_(handler(|s)))))))\b</string>
+ <string>(?i)\bconfirm_extname_compiled(?=\s*\()</string>
<key>name</key>
- <string>support.function.xslt.php</string>
+ <string>support.function.skeleton.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(zip_(close|entry_(c(lose|ompress(edsize|ionmethod))|filesize|name|open|read)|open|read))\b</string>
+ <string>(?i)\b(snmp(set|2_(set|walk|real_walk|get(next)?)|3_(set|walk|real_walk|get(next)?)|_(set_(oid_output_format|enum_print|valueretrieval|quick_print)|read_mib|get_(valueretrieval|quick_print))|walk|realwalk|get(next)?)|php_snmpv3)(?=\s*\()</string>
<key>name</key>
- <string>support.function.zip.php</string>
+ <string>support.function.snmp.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(gz(c(lose|ompress)|deflate|e(ncode|of)|file|get(c|ss|s)|inflate|open|p(assthru|uts)|re(ad|wind)|seek|tell|uncompress|write)|readgzfile|zlib_get_coding_type)\b</string>
+ <string>(?i)\bsocket_(s(hutdown|trerror|e(nd(to)?|t_(nonblock|option|block)|lect))|c(onnect|l(ose|ear_error)|reate(_(pair|listen))?)|write|l(isten|ast_error)|accept|get(sockname|_option|peername)|re(cv(from)?|ad)|bind)(?=\s*\()</string>
<key>name</key>
- <string>support.function.zlib.php</string>
+ <string>support.function.sockets.php</string>
</dict>
<dict>
- <key>begin</key>
- <string>&lt;&lt;&lt;([a-zA-Z_]+[a-zA-Z0-9_]*)</string>
- <key>captures</key>
- <dict>
- <key>1</key>
- <dict>
- <key>name</key>
- <string>keyword.operator.heredoc.shell</string>
- </dict>
- </dict>
- <key>end</key>
- <string>^(\1);?$</string>
+ <key>match</key>
+ <string>(?i)\bsoundex(?=\s*\()</string>
<key>name</key>
- <string>string.unquoted.heredoc.php</string>
- <key>patterns</key>
- <array>
- <dict>
- <key>include</key>
- <string>#var_complex_string_heredoc</string>
- </dict>
- </array>
+ <string>support.function.soundex.php</string>
</dict>
<dict>
<key>match</key>
- <string>(===|==|!==|!=|&lt;=|&gt;=|&lt;&gt;|&lt;|&gt;)</string>
+ <string>(?i)\biterator_(count|to_array|apply)(?=\s*\()</string>
<key>name</key>
- <string>keyword.operator.comparison.php</string>
+ <string>support.function.spl_iterators.php</string>
</dict>
<dict>
<key>match</key>
- <string>(@)</string>
+ <string>(?i)\bsqlite_(has_prev|s(ingle_query|eek)|n(um_(fields|rows)|ext)|c(hanges|olumn|urrent|lose|reate_(function|aggregate))|open|u(nbuffered_query|df_(decode_binary|encode_binary))|e(scape_string|rror_string|xec)|p(open|rev)|key|valid|query|f(ield_name|etch_(single|column_types|object|a(ll|rray))|actory)|l(ib(encoding|version)|ast_(insert_rowid|error))|array_query|rewind|busy_timeout)(?=\s*\()</string>
<key>name</key>
- <string>keyword.operator.error-control.php</string>
+ <string>support.function.sqlite.php</string>
</dict>
<dict>
<key>match</key>
- <string>(\-\-|\+\+)</string>
+ <string>(?i)\bstream_(s(ocket_(s(hutdown|e(ndto|rver))|client|enable_crypto|pair|accept|recvfrom|get_name)|e(t_(timeout|write_buffer|blocking)|lect))|co(ntext_(set_(option|params)|create|get_(default|options))|py_to_stream)|filter_(prepend|append|remove)|get_(contents|transports|line|wrappers|meta_data))(?=\s*\()</string>
<key>name</key>
- <string>keyword.operator.increment-decrement.php</string>
+ <string>support.function.streamsfuncs.php</string>
</dict>
<dict>
<key>match</key>
- <string>(\-|\+|\*|\/|%)</string>
+ <string>(?i)\b(hebrev(c)?|s(scanf|imilar_text|tr(s(tr|pn)|natc(asecmp|mp)|c(hr|spn|oll)|i(str|p(slashes|cslashes|os|_tags))|t(o(upper|k|lower)|r)|_(s(huffle|plit)|ireplace|pad|word_count|r(ot13|ep(eat|lace)))|p(os|brk)|r(chr|ipos|ev|pos))|ubstr(_(co(unt|mpare)|replace))?|etlocale)|c(h(unk_split|r)|ount_chars)|nl(2br|_langinfo)|implode|trim|ord|dirname|uc(first|words)|join|pa(thinfo|rse_str)|explode|quotemeta|add(slashes|cslashes)|wordwrap|l(trim|ocaleconv)|rtrim|money_format|b(in2hex|asename))(?=\s*\()</string>
<key>name</key>
- <string>keyword.operator.arithmetic.php</string>
+ <string>support.function.string.php</string>
</dict>
<dict>
<key>match</key>
- <string>(!|&amp;&amp;|\|\|)|\b(and|or|xor|as)\b</string>
+ <string>(?i)\bdom_string_extend_find_offset(16|32)(?=\s*\()</string>
<key>name</key>
- <string>keyword.operator.logical.php</string>
+ <string>support.function.string_extend.php</string>
</dict>
<dict>
<key>match</key>
- <string>(\.=|\.)</string>
+ <string>(?i)\b(syslog|closelog|openlog|define_syslog_variables)(?=\s*\()</string>
<key>name</key>
- <string>keyword.operator.string.php</string>
+ <string>support.function.syslog.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(instanceof)\b</string>
+ <string>(?i)\bmsg_(s(tat_queue|e(nd|t_queue))|re(ceive|move_queue)|get_queue)(?=\s*\()</string>
<key>name</key>
- <string>keyword.operator.type.php</string>
+ <string>support.function.sysvmsg.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b</string>
+ <string>(?i)\bsem_(acquire|re(lease|move)|get)(?=\s*\()</string>
<key>name</key>
- <string>constant.numeric.php</string>
+ <string>support.function.sysvsem.php</string>
</dict>
<dict>
- <key>include</key>
- <string>#string-double-quoted</string>
+ <key>match</key>
+ <string>(?i)\bshm_(detach|put_var|attach|get_var|remove(_var)?)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.sysvshm.php</string>
</dict>
<dict>
- <key>include</key>
- <string>#string-single-quoted</string>
+ <key>match</key>
+ <string>(?i)\bdom_text_(split_text|is_whitespace_in_element_content|replace_whole_text)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.text.php</string>
</dict>
<dict>
- <key>include</key>
- <string>#var_global</string>
+ <key>match</key>
+ <string>(?i)\btidy_(c(onfig_count|lean_repair)|is_x(html|ml)|diagnose|error_count|parse_(string|file)|access_count|warning_count|repair_(string|file)|get(opt|_(h(tml(_ver)?|ead)|status|config|o(utput|pt_doc)|error_buffer|r(oot|elease)|body)))(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.tidy.php</string>
</dict>
<dict>
- <key>include</key>
- <string>#var_global_safer</string>
+ <key>match</key>
+ <string>(?i)\btoken_(name|get_all)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.tokenizer.php</string>
</dict>
<dict>
- <key>include</key>
- <string>#var_basic</string>
+ <key>match</key>
+ <string>(?i)\b(s(trval|ettype)|i(s_(s(calar|tring)|callable|nu(ll|meric)|object|float|array|long|resource|bool)|ntval)|floatval|gettype)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.type.php</string>
</dict>
<dict>
- <key>captures</key>
- <dict>
- <key>1</key>
- <dict>
- <key>name</key>
- <string>keyword.operator.php</string>
- </dict>
- <key>2</key>
- <dict>
- <key>name</key>
- <string>variable.other.property.php</string>
- </dict>
- </dict>
<key>match</key>
- <string>(?&lt;=[a-zA-Z0-9_\x{7f}-\x{ff}])(-&gt;)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?)\b</string>
+ <string>(?i)\buniqid(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.uniqid.php</string>
</dict>
<dict>
- <key>include</key>
- <string>#language_constant</string>
+ <key>match</key>
+ <string>(?i)\b(url(decode|encode)|parse_url|get_headers|rawurl(decode|encode))(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.url.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(DEFAULT_INCLUDE_PATH|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|ERROR|NOTICE|PARSE|STRICT|USER_(ERROR|NOTICE|WARNING)|WARNING)|PEAR_(EXTENSION_DIR|INSTALL_DIR)|PHP_(BINDIR|CONFIG_FILE_PATH|DATADIR|E(OL|XTENSION_DIR)|L(IBDIR|OCALSTATEDIR)|O(S|UTPUT_HANDLER_CONT|UTPUT_HANDLER_END|UTPUT_HANDLER_START)|SYSCONFDIR|VERSION))\b</string>
+ <string>(?i)\bstream_(filter_register|get_filters|bucket_(new|prepend|append|make_writeable))(?=\s*\()</string>
<key>name</key>
- <string>support.constant.core.php</string>
+ <string>support.function.user_filters.php</string>
</dict>
<dict>
<key>match</key>
- <string>\b(A(B(DAY_([1-7])|MON_([0-9]{1,2}))|LT_DIGITS|M_STR|SSERT_(ACTIVE|BAIL|CALLBACK|QUIET_EVAL|WARNING))|C(ASE_(LOWER|UPPER)|HAR_MAX|O(DESET|NNECTION_(ABORTED|NORMAL|TIMEOUT)|UNT_(NORMAL|RECURSIVE))|REDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)|RNCYSTR|RYPT_(BLOWFISH|EXT_DES|MD5|SALT_LENGTH|STD_DES)|URRENCY_SYMBOL)|D(AY_([1-7])|ECIMAL_POINT|IRECTORY_SEPARATOR|_(FMT|T_FMT))|E(NT_(COMPAT|NOQUOTES|QUOTES)|RA(|_D_FMT|_D_T_FMT|_T_FMT|_YEAR)|XTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|SKIP))|FRAC_DIGITS|GROUPING|HTML_(ENTITIES|SPECIALCHARS)|IN(FO_(ALL|CONFIGURATION|CREDITS|ENVIRONMENT|GENERAL|LICENSE|MODULES|VARIABLES)|I_(ALL|PERDIR|SYSTEM|USER)|T_(CURR_SYMBOL|FRAC_DIGITS))|L(C_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|O(CK_(EX|NB|SH|UN)|G_(ALERT|AUTH(|PRIV)|CONS|CRIT|CRON|DAEMON|DEBUG|EMERG|ERR|INFO|KERN|LOCAL([0-7])|LPR|MAIL|NDELAY|NEWS|NOTICE|NOWAIT|ODELAY|PERROR|PID|SYSLOG|USER|UUCP|WARNING)))|M(ON_([0-9]{1,2}|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|YSQL_(ASSOC|BOTH|NUM)|_(1_PI|2_(PI|SQRTPI)|E|L(N10|N2|OG(10E|2E))|PI(|_2|_4)|SQRT1_2|SQRT2))|N(EGATIVE_SIGN|O(EXPR|STR)|_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN))|P(ATH(INFO_(BASENAME|DIRNAME|EXTENSION)|_SEPARATOR)|M_STR|OSITIVE_SIGN|_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN))|RADIXCHAR|S(EEK_(CUR|END|SET)|ORT_(ASC|DESC|NUMERIC|REGULAR|STRING)|TR_PAD_(BOTH|LEFT|RIGHT))|T(HOUS(ANDS_SEP|EP)|_(FMT(|_AMPM)))|YES(EXPR|STR))\b</string>
+ <string>(?i)\bdom_userdatahandler_handle(?=\s*\()</string>
<key>name</key>
- <string>support.constant.std.php</string>
+ <string>support.function.userdatahandler.php</string>
</dict>
- </array>
- </dict>
- <key>language_constant</key>
- <dict>
- <key>match</key>
- <string>\b(TRUE|true|FALSE|false|NULL|null|__(FILE__|FUNCTION__|CLASS__|METHOD__|LINE__)|ON|OFF|YES|NO|NL|BR|TAB)\b</string>
- <key>name</key>
- <string>constant.language.php</string>
- </dict>
- <key>string-double-quoted</key>
- <dict>
- <key>begin</key>
- <string>"</string>
- <key>end</key>
- <string>"</string>
- <key>name</key>
- <string>string.quoted.double.php</string>
- <key>patterns</key>
- <array>
<dict>
<key>match</key>
- <string>\\.</string>
+ <string>(?i)\bstream_wrapper_(unregister|re(store|gister))(?=\s*\()</string>
<key>name</key>
- <string>constant.character.escape.php</string>
+ <string>support.function.userspace.php</string>
</dict>
<dict>
- <key>include</key>
- <string>#var_complex_string_heredoc</string>
+ <key>match</key>
+ <string>(?i)\bconvert_uu(decode|encode)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.uuencode.php</string>
</dict>
- </array>
- </dict>
- <key>string-single-quoted</key>
- <dict>
- <key>begin</key>
- <string>'</string>
- <key>end</key>
- <string>'</string>
- <key>name</key>
- <string>string.quoted.single.php</string>
- <key>patterns</key>
- <array>
<dict>
<key>match</key>
- <string>\\.</string>
+ <string>(?i)\b(serialize|debug_zval_dump|unserialize|var_(dump|export)|memory_get_(usage|peak_usage))(?=\s*\()</string>
<key>name</key>
- <string>constant.character.escape.php</string>
+ <string>support.function.var.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bversion_compare(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.versioning.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bwddx_(serialize_va(lue|rs)|deserialize|packet_(start|end)|add_vars)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.wddx.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\b(utf8_(decode|encode)|xml_(set_(start_namespace_decl_handler|notation_decl_handler|character_data_handler|default_handler|object|unparsed_entity_decl_handler|processing_instruction_handler|e(nd_namespace_decl_handler|lement_handler|xternal_entity_ref_handler))|error_string|parse(_into_struct|r_(set_option|create(_ns)?|free|get_option))?|get_(current_(column_number|line_number|byte_index)|error_code)))(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.xml.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bxmlrpc_(se(t_type|rver_(c(all_method|reate)|destroy|add_introspection_data|register_(introspection_callback|method)))|is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|get_type)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.xmlrpc-epi-php.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bdom_xpath_(evaluate|query|register_ns)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.xpath.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bxsl_xsltprocessor_(has_exslt_support|set_parameter|transform_to_(doc|uri|xml)|import_stylesheet|re(gister_php_functions|move_parameter)|get_parameter)(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.xsltprocessor.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\b(ob_gzhandler|zlib_get_coding_type|readgzfile|gz(compress|inflate|deflate|open|uncompress|encode|file))(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.zlib.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\bis_int(eger)?(?=\s*\()</string>
+ <key>name</key>
+ <string>support.function.alias.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\b(Re(cursive(RegexIterator|CachingIterator|IteratorIterator|DirectoryIterator|FilterIterator|ArrayIterator)|flection(Method|Class|Object|Extension|P(arameter|roperty)|Function)?|gexIterator)|s(tdClass|wf(s(hape|ound|prite)|text(field)?|displayitem|f(ill|ont(cha(r)?)?)|action|gradient|mo(vie|rph)|b(itmap|utton)))|XMLReader|tidyNode|S(impleXML(Iterator|Element)|oap(Server|Header|Client|Param|Var|Fault)|pl(TempFileObject|ObjectStorage|File(Info|Object)))|NoRewindIterator|C(OMPersistHelper|achingIterator)|I(nfiniteIterator|teratorIterator)|D(irectoryIterator|OM(XPath|Node|C(omment|dataSection)|Text|Document(Fragment)?|ProcessingInstruction|E(ntityReference|lement)|Attr))|P(DO(Statement)?|arentIterator)|E(rrorException|mptyIterator|xception)|FilterIterator|LimitIterator|A(p(pendIterator|acheRequest)|rray(Iterator|Object)))(?=\s*\()</string>
+ <key>name</key>
+ <string>support.class.builtin.php</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(?i)\b((print|echo)\b|(isset|unset|e(val|mpty)|list)(?=\s*\())</string>
+ <key>name</key>
+ <string>support.function.construct.php</string>
</dict>
</array>
</dict>
<key>var_basic</key>
<dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
+ </dict>
+ </dict>
<key>match</key>
- <string>\$+[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?\b</string>
- <key>name</key>
- <string>variable.other.php</string>
- </dict>
- <key>var_complex_string_heredoc</key>
- <dict>
- <key>match</key>
- <string>(?&lt;regex&gt;(?#simple syntax)\$(?&lt;name&gt;[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?&lt;index&gt;[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g&lt;name&gt;)\]|-&gt;\g&lt;name&gt;)?|(?#simple syntax with braces)\$\{(?:\g&lt;name&gt;(?&lt;indices&gt;\[(?:\g&lt;index&gt;|'(?:\\.|[^'\\])*'|"(?:\g&lt;regex&gt;|\\.|[^"\\])*")\])?|\g&lt;complex&gt;|\$\{\g&lt;complex&gt;\})\}|(?#complex syntax)\{(?&lt;complex&gt;\$(?&lt;segment&gt;\g&lt;name&gt;\g&lt;indices&gt;*)(?:-&gt;\g&lt;segment&gt;)*|\$\g&lt;complex&gt;|\$\{\g&lt;complex&gt;\})\})</string>
+ <string>(?x)
+ (\$+)[a-zA-Z_\x{7f}-\x{ff}]
+ [a-zA-Z0-9_\x{7f}-\x{ff}]*?\b</string>
<key>name</key>
<string>variable.other.php</string>
</dict>
<key>var_global</key>
<dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
+ </dict>
+ </dict>
<key>match</key>
- <string>\$(_(COOKIE|FILES|GET|POST|REQUEST))\b</string>
+ <string>(\$)(_(COOKIE|FILES|GET|POST|REQUEST))\b</string>
<key>name</key>
<string>variable.other.global.php</string>
</dict>
<key>var_global_safer</key>
<dict>
+ <key>captures</key>
+ <dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.variable.php</string>
+ </dict>
+ </dict>
<key>match</key>
- <string>(\$(GLOBALS|_(ENV|SERVER|SESSION)))|\b(global)\b</string>
+ <string>((\$)(GLOBALS|_(ENV|SERVER|SESSION)))|\b(global)\b</string>
<key>name</key>
<string>variable.other.global.safer.php</string>
</dict>
+ <key>variables</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#var_global</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_global_safer</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#var_basic</string>
+ </dict>
+ </array>
+ </dict>
</dict>
<key>scopeName</key>
<string>source.prado.php</string>
<key>uuid</key>
- <string>DDC83EED-168F-4DEB-971D-84A2CF3CB38F</string>
+ <string>22986475-8CA5-11D9-AEDD-000D93C8BE28</string>
</dict>
-</plist>
+</plist> \ No newline at end of file
diff --git a/editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template.tmLanguage b/editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template.tmLanguage
index ca67d3af..d11654ea 100644
--- a/editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template.tmLanguage
+++ b/editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template.tmLanguage
@@ -9,16 +9,26 @@
<string>tpl</string>
<string>page</string>
</array>
+ <key>firstLineMatch</key>
+ <string>&lt;!(?i:DOCTYPE)|&lt;(?i:html)|&lt;\?(?i:php)</string>
<key>foldingStartMarker</key>
<string>(?x)
- (&lt;(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)\b
- |&lt;!--(?!.*--&gt;)
+ (&lt;(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|li|form|dl)\b.*?&gt;
+ |&lt;!--(?!.*--\s*&gt;)
+ |^&lt;!--\ \#tminclude\ (?&gt;.*?--&gt;)$
+ |&lt;\?(?:php)?.*\b(if|for(each)?|while)\b.+:
+ |\{\{?(if|foreach|capture|literal|foreach|php|section|strip)
+ |\{\s*($|\?&gt;\s*$|//|/\*(.*\*/\s*$|(?!.*?\*/)))
|&lt;(?i:(com|prop):[a-zA-z0-9.]+)(.*(?&lt;!\/)&gt;)
)</string>
<key>foldingStopMarker</key>
<string>(?x)
- (&lt;/(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)&gt;
- |^\s*--&gt;
+ (&lt;/(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|li|form|dl)&gt;
+ |^(?!.*?&lt;!--).*?--\s*&gt;
+ |^&lt;!--\ end\ tminclude\ --&gt;$
+ |&lt;\?(?:php)?.*\bend(if|for(each)?|while)\b
+ |\{\{?/(if|foreach|capture|literal|foreach|php|section|strip)
+ |^[^{]*\}
|&lt;/(?i:(com|prop):[a-zA-z0-9.]+)&gt;
)</string>
<key>keyEquivalent</key>
@@ -156,29 +166,49 @@
</dict>
<dict>
<key>begin</key>
- <string>&lt;([a-zA-Z0-9:]+)(?=[^&gt;]*&gt;&lt;/\1&gt;)</string>
+ <string>(&lt;)([a-zA-Z0-9:]++)(?=[^&gt;]*&gt;&lt;/\2&gt;)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
+ <string>punctuation.definition.tag.begin.html</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
<string>entity.name.tag.html</string>
</dict>
</dict>
<key>end</key>
- <string>&gt;(&lt;)/(\1)&gt;</string>
+ <string>(&gt;)(&lt;)(/)(\2)(&gt;)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
- <string>meta.scope.between-tag-pair.html</string>
+ <string>punctuation.definition.tag.end.html</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
+ <string>punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.tag.begin.html</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
<string>entity.name.tag.html</string>
</dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.tag.end.html</string>
+ </dict>
</dict>
<key>name</key>
<string>meta.tag.any.html</string>
@@ -192,17 +222,22 @@
</dict>
<dict>
<key>begin</key>
- <string>&lt;\?(xml)</string>
+ <string>(&lt;\?)(xml)</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
+ <string>punctuation.definition.tag.html</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
<string>entity.name.tag.xml.html</string>
</dict>
</dict>
<key>end</key>
- <string>\?&gt;</string>
+ <string>(\?&gt;)</string>
<key>name</key>
<string>meta.tag.preprocessor.xml.html</string>
<key>patterns</key>
@@ -224,8 +259,16 @@
<dict>
<key>begin</key>
<string>&lt;!--</string>
+ <key>captures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.comment.html</string>
+ </dict>
+ </dict>
<key>end</key>
- <string>--\s*!?&gt;</string>
+ <string>--\s*&gt;</string>
<key>name</key>
<string>comment.block.html</string>
<key>patterns</key>
@@ -236,11 +279,23 @@
<key>name</key>
<string>invalid.illegal.bad-comments-or-CDATA.html</string>
</dict>
+ <dict>
+ <key>include</key>
+ <string>#embedded-code</string>
+ </dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>&lt;!</string>
+ <key>captures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.tag.html</string>
+ </dict>
+ </dict>
<key>end</key>
<string>&gt;</string>
<key>name</key>
@@ -249,7 +304,7 @@
<array>
<dict>
<key>begin</key>
- <string>(DOCTYPE)</string>
+ <string>(?i:DOCTYPE)</string>
<key>captures</key>
<dict>
<key>1</key>
@@ -290,21 +345,31 @@
</dict>
<dict>
<key>include</key>
- <string>#php</string>
+ <string>#embedded-code</string>
</dict>
<dict>
<key>begin</key>
- <string>(?:^\s+)?&lt;((?i:style))\b(?![^&gt;]*/&gt;)</string>
+ <string>(?:^\s+)?(&lt;)((?i:style))\b(?![^&gt;]*/&gt;)</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
+ <string>punctuation.definition.tag.html</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
<string>entity.name.tag.style.html</string>
</dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.tag.html</string>
+ </dict>
</dict>
<key>end</key>
- <string>&lt;/((?i:style))&gt;(?:\s*\n)?</string>
+ <string>(&lt;/)((?i:style))(&gt;)(?:\s*\n)?</string>
<key>name</key>
<string>source.css.embedded.html</string>
<key>patterns</key>
@@ -315,7 +380,15 @@
</dict>
<dict>
<key>begin</key>
- <string>&gt;</string>
+ <string>(&gt;)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.tag.html</string>
+ </dict>
+ </dict>
<key>end</key>
<string>(?=&lt;/(?i:style))</string>
<key>patterns</key>
@@ -334,17 +407,30 @@
</dict>
<dict>
<key>begin</key>
- <string>(?:^\s+)?&lt;((?i:script))\b(?![^&gt;]*/&gt;)</string>
- <key>captures</key>
+ <string>(?:^\s+)?(&lt;)((?i:script))\b(?![^&gt;]*/&gt;)</string>
+ <key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
+ <string>punctuation.definition.tag.html</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
<string>entity.name.tag.script.html</string>
</dict>
</dict>
<key>end</key>
- <string>(?&lt;=&lt;/(script|SCRIPT))&gt;(?:\s*\n)?</string>
+ <string>(?&lt;=&lt;/(script|SCRIPT))(&gt;)(?:\s*\n)?</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.tag.html</string>
+ </dict>
+ </dict>
<key>name</key>
<string>source.js.embedded.html</string>
<key>patterns</key>
@@ -355,20 +441,49 @@
</dict>
<dict>
<key>begin</key>
- <string>(?&lt;!&lt;/(?:script|SCRIPT))&gt;</string>
+ <string>(?&lt;!&lt;/(?:script|SCRIPT))(&gt;)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.tag.html</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.script.html</string>
+ </dict>
+ </dict>
<key>end</key>
- <string>&lt;/((?i:script))</string>
+ <string>(&lt;/)((?i:script))</string>
<key>patterns</key>
<array>
<dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.comment.js</string>
+ </dict>
+ </dict>
<key>match</key>
- <string>//.*?((?=&lt;/script)|$\n?)</string>
+ <string>(//).*?((?=&lt;/script)|$\n?)</string>
<key>name</key>
<string>comment.line.double-slash.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>\*/|(?=&lt;/script)</string>
<key>name</key>
@@ -376,6 +491,10 @@
</dict>
<dict>
<key>include</key>
+ <string>#php</string>
+ </dict>
+ <dict>
+ <key>include</key>
<string>source.js</string>
</dict>
</array>
@@ -384,17 +503,30 @@
</dict>
<dict>
<key>begin</key>
- <string>&lt;/?((?i:body|head|html)\b)</string>
+ <string>(&lt;/?)((?i:body|head|html)\b)</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
+ <string>punctuation.definition.tag.begin.html</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
<string>entity.name.tag.structure.any.html</string>
</dict>
</dict>
<key>end</key>
- <string>&gt;</string>
+ <string>(&gt;)</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.tag.end.html</string>
+ </dict>
+ </dict>
<key>name</key>
<string>meta.tag.structure.any.html</string>
<key>patterns</key>
@@ -407,17 +539,30 @@
</dict>
<dict>
<key>begin</key>
- <string>&lt;/?((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\b)</string>
- <key>captures</key>
+ <string>(&lt;/?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\b)</string>
+ <key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
+ <string>punctuation.definition.tag.begin.html</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
<string>entity.name.tag.block.any.html</string>
</dict>
</dict>
<key>end</key>
- <string>&gt;</string>
+ <string>(&gt;)</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.tag.end.html</string>
+ </dict>
+ </dict>
<key>name</key>
<string>meta.tag.block.any.html</string>
<key>patterns</key>
@@ -430,17 +575,30 @@
</dict>
<dict>
<key>begin</key>
- <string>&lt;/?((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\b)</string>
- <key>captures</key>
+ <string>(&lt;/?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\b)</string>
+ <key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
+ <string>punctuation.definition.tag.begin.html</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
<string>entity.name.tag.inline.any.html</string>
</dict>
</dict>
<key>end</key>
- <string>&gt;</string>
+ <string>((?: ?/)?&gt;)</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.tag.end.html</string>
+ </dict>
+ </dict>
<key>name</key>
<string>meta.tag.inline.any.html</string>
<key>patterns</key>
@@ -453,17 +611,30 @@
</dict>
<dict>
<key>begin</key>
- <string>&lt;/?([a-zA-Z0-9:]+)</string>
- <key>captures</key>
+ <string>(&lt;/?)([a-zA-Z0-9:]+)</string>
+ <key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
+ <string>punctuation.definition.tag.begin.html</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
<string>entity.name.tag.other.html</string>
</dict>
</dict>
<key>end</key>
- <string>&gt;</string>
+ <string>(&gt;)</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.tag.end.html</string>
+ </dict>
+ </dict>
<key>name</key>
<string>meta.tag.other.html</string>
<key>patterns</key>
@@ -486,7 +657,7 @@
</dict>
<dict>
<key>match</key>
- <string>&lt;(?=\W)|&gt;</string>
+ <string>&lt;</string>
<key>name</key>
<string>invalid.illegal.bad-angle-bracket.html</string>
</dict>
@@ -508,8 +679,21 @@
<key>patterns</key>
<array>
<dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.entity.html</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.entity.html</string>
+ </dict>
+ </dict>
<key>match</key>
- <string>&amp;([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);</string>
+ <string>(&amp;)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)</string>
<key>name</key>
<string>constant.character.entity.html</string>
</dict>
@@ -596,8 +780,24 @@
<dict>
<key>begin</key>
<string>"</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.begin.html</string>
+ </dict>
+ </dict>
<key>end</key>
<string>"</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.end.html</string>
+ </dict>
+ </dict>
<key>name</key>
<string>string.quoted.double.html</string>
<key>patterns</key>
@@ -616,8 +816,24 @@
<dict>
<key>begin</key>
<string>'</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.begin.html</string>
+ </dict>
+ </dict>
<key>end</key>
<string>'</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.end.html</string>
+ </dict>
+ </dict>
<key>name</key>
<string>string.quoted.single.html</string>
<key>patterns</key>
@@ -637,7 +853,106 @@
<key>match</key>
<string>\b([a-zA-Z\-:]+)</string>
<key>name</key>
- <string>meta.other.attribute-name.html</string>
+ <string>entity.other.attribute-name.html</string>
+ </dict>
+ <key>tag-id-attribute</key>
+ <dict>
+ <key>begin</key>
+ <string>\b(id)\b\s*(=)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.other.attribute-name.id.html</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.separator.key-value.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(?&lt;='|")</string>
+ <key>name</key>
+ <string>meta.attribute-with-value.id.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>"</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.begin.html</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>meta.toc-list.id.html</string>
+ <key>end</key>
+ <string>"</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.end.html</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>string.quoted.double.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#embedded-code</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#entities</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.html</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>meta.toc-list.id.html</string>
+ <key>end</key>
+ <string>'</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.end.html</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>string.quoted.single.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#embedded-code</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#entities</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
</dict>
<key>tag-stuff</key>
<dict>
@@ -645,6 +960,10 @@
<array>
<dict>
<key>include</key>
+ <string>#tag-id-attribute</string>
+ </dict>
+ <dict>
+ <key>include</key>
<string>#tag-generic-attribute</string>
</dict>
<dict>