ultraviolet 0.10.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. data/History.txt +7 -0
  2. data/Manifest.txt +184 -188
  3. data/Rakefile +2 -2
  4. data/bin/theme2latexrender +9 -30
  5. data/bin/theme2xhtmlrender +17 -23
  6. data/lib/uv.rb +2 -2
  7. data/lib/uv/{html_processor.rb → render_processor.rb} +39 -13
  8. data/lib/uv/utility.rb +67 -0
  9. data/render/latex/active4d.render +7 -7
  10. data/render/latex/all_hallows_eve.render +6 -6
  11. data/render/latex/amy.render +7 -7
  12. data/render/latex/blackboard.render +5 -5
  13. data/render/latex/brilliance_black.render +171 -221
  14. data/render/latex/brilliance_dull.render +105 -105
  15. data/render/latex/cobalt.render +12 -12
  16. data/render/latex/dawn.render +8 -8
  17. data/render/latex/eiffel.render +4 -4
  18. data/render/latex/espresso_libre.render +5 -5
  19. data/render/latex/idle.render +2 -2
  20. data/render/latex/iplastic.render +5 -5
  21. data/render/latex/lazy.render +2 -2
  22. data/render/latex/mac_classic.render +7 -7
  23. data/render/latex/magicwb_amiga.render +8 -8
  24. data/render/latex/pastels_on_dark.render +5 -5
  25. data/render/latex/slush_poppies.render +1 -1
  26. data/render/latex/spacecadet.render +3 -3
  27. data/render/latex/sunburst.render +14 -14
  28. data/render/latex/twilight.render +9 -9
  29. data/render/latex/zenburnesque.render +2 -2
  30. data/render/xhtml/amy.render +1 -1
  31. data/render/xhtml/brilliance_black.render +74 -124
  32. data/render/xhtml/brilliance_dull.render +6 -6
  33. data/render/xhtml/files/css/active4d.css +1 -1
  34. data/render/xhtml/files/css/all_hallows_eve.css +1 -1
  35. data/render/xhtml/files/css/amy.css +6 -3
  36. data/render/xhtml/files/css/blackboard.css +3 -3
  37. data/render/xhtml/files/css/brilliance_black.css +193 -220
  38. data/render/xhtml/files/css/brilliance_dull.css +110 -90
  39. data/render/xhtml/files/css/cobalt.css +3 -3
  40. data/render/xhtml/files/css/dawn.css +6 -6
  41. data/render/xhtml/files/css/eiffel.css +1 -1
  42. data/render/xhtml/files/css/espresso_libre.css +2 -2
  43. data/render/xhtml/files/css/iplastic.css +3 -3
  44. data/render/xhtml/files/css/mac_classic.css +3 -3
  45. data/render/xhtml/files/css/magicwb_amiga.css +6 -3
  46. data/render/xhtml/files/css/pastels_on_dark.css +2 -2
  47. data/render/xhtml/files/css/spacecadet.css +1 -1
  48. data/render/xhtml/files/css/sunburst.css +7 -7
  49. data/render/xhtml/files/css/twilight.css +5 -5
  50. data/render/xhtml/files/css/zenburnesque.css +5 -2
  51. data/render/xhtml/mac_classic.render +1 -1
  52. data/render/xhtml/magicwb_amiga.render +1 -1
  53. data/render/xhtml/zenburnesque.render +1 -1
  54. data/syntax/antlr.syntax +49 -26
  55. data/syntax/apache.syntax +17 -2
  56. data/syntax/c.syntax +2 -2
  57. data/syntax/cm.syntax +32 -0
  58. data/syntax/coldfusion.syntax +4 -3
  59. data/syntax/css.syntax +8 -3
  60. data/syntax/d.syntax +4 -0
  61. data/syntax/groovy.syntax +10 -8
  62. data/syntax/gtd.syntax +22 -0
  63. data/syntax/haml.syntax +2 -2
  64. data/syntax/html.syntax +4 -4
  65. data/syntax/ini.syntax +5 -4
  66. data/syntax/javascript.syntax +2 -1
  67. data/syntax/languagedefinition.syntax +50 -39
  68. data/syntax/macports_portfile.syntax +21 -1
  69. data/syntax/makefile.syntax +1 -0
  70. data/syntax/objective-c.syntax +37 -30
  71. data/syntax/pascal.syntax +1 -1
  72. data/syntax/perl.syntax +40 -0
  73. data/syntax/php.syntax +672 -379
  74. data/syntax/pmwiki.syntax +113 -0
  75. data/syntax/property_list.syntax +4 -14
  76. data/syntax/python.syntax +17 -14
  77. data/syntax/release_notes.syntax +12 -3
  78. data/syntax/ruby_experimental.syntax +8 -8
  79. data/syntax/standard_ml.syntax +79 -3
  80. data/syntax/twiki.syntax +2 -2
  81. data/syntax/txt2tags.syntax +18 -18
  82. data/syntax/xml.syntax +1 -0
  83. data/syntax/yaml.syntax +2 -2
  84. metadata +193 -194
  85. data/syntax/buggy/nemerle.yaml +0 -74
  86. data/syntax/gtd2_text.syntax +0 -31
  87. data/syntax/old/YAML.yaml +0 -160
  88. data/syntax/old/txt2tags.yaml +0 -139
@@ -68,6 +68,26 @@ repository:
68
68
  uuid: 33EC56FE-2BD4-4B73-A6CD-73395F4E5E58
69
69
  foldingStartMarker: \{\s*$
70
70
  patterns:
71
+ - begin: ^\s*(PortGroup)\s+ruby(?!\S)
72
+ beginCaptures:
73
+ "1":
74
+ name: keyword.other.tcl.macports
75
+ end: $.^
76
+ patterns:
77
+ - include: $base
78
+ - name: keyword.other.tcl.macports
79
+ match: ^\s*ruby\.setup(?!\S)
80
+ comment: special case for ruby PortGroup
81
+ - begin: ^\s*(PortGroup)\s+perl5(?!\S)
82
+ beginCaptures:
83
+ "1":
84
+ name: keyword.other.tcl.macports
85
+ end: $.^
86
+ patterns:
87
+ - include: $base
88
+ - name: keyword.other.tcl.macports
89
+ match: ^\s*perl5\.setup(?!\S)
90
+ comment: special case for the perl5 PortGroup
71
91
  - captures:
72
92
  "1":
73
93
  name: keyword.other.tcl.macports
@@ -86,7 +106,7 @@ patterns:
86
106
  - captures:
87
107
  "1":
88
108
  name: keyword.other.tcl.macports
89
- match: ^\s*((?:build\.target|categories|checksum\.skip|checksums|cvs\.(?:date|module|password|root|tag)|default_variants|depends_(?:build|lib|run)|destroot\.(?:clean|destdir|keepdirs|target|umask)|dist_subdir|distcheck\.check|distfiles|distname|distpath|epoch|extract\.(?:only|suffix)|fetch\.(?:password|type|use_epsv|user)|filesdir|gnustep\.domain|homepage|install\.(?:group|user)|libpath|livecheck\.(?:check|md5|name|regex|url|version)|maintainers|(?:master|patch)_sites(?:\.mirror_subdir)?|name|os\.(?:arch|endian|platform|version)|patchfiles|platforms|portdbpath|portname|prefix|revision|sources_conf|startupitem\.(?:create|executable|init|logevents|logfile|name|pidfile|requires|restart|start|stop|type)|svn\.(?:tag|url)|test\.(?:run|target)|use_bzip2|use_zip|version|workdir|worksrcdir|xcode\.(?:build\.settings|configuration|destroot\.(?:path|settings|type)|project|target)|zope\.need_subdir)(?:-(?:delete|append))?)(?!\S)
109
+ match: ^\s*((?:build\.target|categories|checksum\.skip|checksums|cvs\.(?:date|module|password|root|tag)|default_variants|depends_(?:build|lib|run)|destroot\.(?:clean|destdir|keepdirs|target|umask)|dist_subdir|distcheck\.check|distfiles|distname|distpath|epoch|extract\.(?:only|suffix)|fetch\.(?:password|type|use_epsv|user)|filesdir|gnustep\.domain|homepage|install\.(?:group|user)|libpath|livecheck\.(?:check|md5|name|distname|regex|url|version)|maintainers|(?:master|patch)_sites(?:\.mirror_subdir)?|name|os\.(?:arch|endian|platform|version)|patchfiles|platforms|portdbpath|portname|prefix|revision|sources_conf|startupitem\.(?:create|executable|init|logevents|logfile|name|pidfile|requires|restart|start|stop|type)|svn\.(?:tag|url)|test\.(?:run|target)|use_bzip2|use_zip|version|workdir|worksrcdir|xcode\.(?:build\.settings|configuration|destroot\.(?:path|settings|type)|project|target)|zope\.need_subdir)(?:-(?:delete|append))?)(?!\S)
90
110
  comment: Procs defined with the `options` keyword
91
111
  - begin: ^\s*((?:long_)?description)(?!\S)
92
112
  contentName: string.unquoted.tcl.macports
@@ -4,6 +4,7 @@ fileTypes:
4
4
  - GNUmakefile
5
5
  - makefile
6
6
  - Makefile
7
+ - OCamlMakefile
7
8
  scopeName: source.makefile
8
9
  uuid: FF1825E8-6B1C-11D9-B883-000D93589AF6
9
10
  patterns:
@@ -3,6 +3,7 @@ name: Objective-C
3
3
  fileTypes:
4
4
  - m
5
5
  - h
6
+ bundleUUID: 4679484F-6227-11D9-BFB1-000D93589AF6
6
7
  scopeName: source.objc
7
8
  repository:
8
9
  protocol_type_qualifier:
@@ -30,22 +31,23 @@ repository:
30
31
  "1":
31
32
  name: punctuation.separator.arguments.objc
32
33
  match: \b\w+(:)
34
+ - include: "#special_variables"
33
35
  - include: $base
36
+ - include: "#special_variables"
34
37
  - include: $base
35
38
  protocol_list:
36
39
  name: meta.protocol-list.objc
37
- captures:
38
- "6":
39
- name: punctuation.separator.arguments.objc
40
- "7":
41
- name: entity.other.inherited-protocol.objc
42
- "8":
40
+ endCaptures:
41
+ "1":
43
42
  name: punctuation.section.scope.end.objc
43
+ begin: (<)
44
+ beginCaptures:
44
45
  "1":
45
46
  name: punctuation.section.scope.begin.objc
46
- "4":
47
- name: entity.other.inherited-protocol.objc
48
- match: (<)((?:\s*)(([A-Za-z][A-Za-z0-9]*)((?:\s*)(,)(?:\s*)([A-Za-z][A-Za-z0-9]*)?)*)?(?:\s*))?(>)?
47
+ end: (>)
48
+ patterns:
49
+ - name: support.other.protocol.objc
50
+ match: \bNS(GlyphStorage|M(utableCopying|enuItem)|C(hangeSpelling|o(ding|pying|lorPicking(Custom|Default)))|T(oolbarItemValidations|ext(Input|AttachmentCell))|I(nputServ(iceProvider|erMouseTracker)|gnoreMisspelledWords)|Obj(CTypeSerializationCallBack|ect)|D(ecimalNumberBehaviors|raggingInfo)|U(serInterfaceValidations|RL(HandleClient|DownloadDelegate|ProtocolClient|AuthenticationChallengeSender))|Validated(ToobarItem|UserInterfaceItem)|Locking)\b
49
51
  method:
50
52
  name: meta.function.objc
51
53
  begin: ^(-|\+)\s*
@@ -102,6 +104,12 @@ repository:
102
104
  patterns:
103
105
  - name: punctuation.separator.continuation.c++
104
106
  match: (?>\\\s*\n)
107
+ special_variables:
108
+ patterns:
109
+ - name: variable.other.selector.objc
110
+ match: \b_cmd\b
111
+ - name: variable.language.objc
112
+ match: \b(self|super)\b
105
113
  uuid: F85CC716-6B1C-11D9-9A20-000D93589AF6
106
114
  foldingStartMarker: "(?x)\n\
107
115
  \t\t /\\*\\*(?!\\*)\n\
@@ -116,31 +124,20 @@ patterns:
116
124
  "7":
117
125
  name: entity.other.inherited-class.objc
118
126
  "8":
119
- name: meta.inherited-class.objc
120
- "13":
121
- name: entity.other.inherited-protocol.objc
127
+ name: meta.divider.objc
122
128
  "9":
123
- name: meta.protocol-list.objc
124
- "15":
125
- name: punctuation.separator.arguments.objc
126
- "16":
127
- name: entity.other.inherited-protocol.objc
128
- "17":
129
- name: punctuation.section.scope.end.objc
129
+ name: meta.inherited-class.objc
130
130
  "1":
131
131
  name: storage.type.objc
132
132
  "2":
133
133
  name: punctuation.definition.storage.type.objc
134
- "18":
135
- name: meta.inherited-protocol.end.objc
136
134
  "4":
137
135
  name: entity.name.type.objc
138
- "10":
139
- name: punctuation.section.scope.begin.objc
140
- begin: ((@)(interface|protocol))(?!.+;)\s+([A-Za-z][A-Za-z0-9]*)\s*((:)(?:\s*)([A-Za-z][A-Za-z0-9]*)(\s|\n)?)?((?:\s*)(<)((?:\s*)(([A-Za-z][A-Za-z0-9]*)((?:\s*)(,)(?:\s*)([A-Za-z][A-Za-z0-9]*)?)*)?(?:\s*))?(>)?)?(\s|\n)?
136
+ begin: ((@)(interface|protocol))(?!.+;)\s+([A-Za-z][A-Za-z0-9]*)\s*((:)(?:\s*)([A-Za-z][A-Za-z0-9]*))?(\s|\n)?
141
137
  contentName: meta.scope.interface.objc
142
138
  end: ((@)end)\b
143
139
  patterns:
140
+ - include: "#protocol_list"
144
141
  - include: "#method"
145
142
  - include: $base
146
143
  - name: meta.implementation.objc
@@ -153,14 +150,11 @@ patterns:
153
150
  name: entity.name.type.objc
154
151
  "5":
155
152
  name: entity.other.inherited-class.objc
156
- begin: ((@)(implementation))\s+([A-Za-z][A-Za-z0-9]+)\s*(?::\s*([A-Za-z][A-Za-z0-9]+))?
153
+ begin: ((@)(implementation))\s+([A-Za-z][A-Za-z0-9]*)\s*(?::\s*([A-Za-z][A-Za-z0-9]*))?
157
154
  contentName: meta.scope.implementation.objc
158
155
  end: ((@)end)\b
159
156
  patterns:
160
- - name: variable.other.selector.objc
161
- match: \b_cmd\b
162
- - name: variable.language.objc
163
- match: \b(self|super)\b
157
+ - include: "#special_variables"
164
158
  - include: "#method"
165
159
  - include: $base
166
160
  - name: string.quoted.double.objc
@@ -177,6 +171,14 @@ patterns:
177
171
  match: \\(\\|[abefnrtv'"?]|[0-3]\d{,2}|[4-7]\d?|x[a-zA-Z0-9]+)
178
172
  - name: invalid.illegal.unknown-escape.objc
179
173
  match: \\.
174
+ - name: meta.id-with-protocol.objc
175
+ begin: (id)\s?(?=<)
176
+ beginCaptures:
177
+ "1":
178
+ name: storage.type.objc
179
+ end: (?<=>)
180
+ patterns:
181
+ - include: "#protocol_list"
180
182
  - name: keyword.control.macro.objc
181
183
  match: \b(NS_DURING|NS_HANDLER|NS_ENDHANDLER)\b
182
184
  - name: keyword.control.exception.objc
@@ -195,7 +197,10 @@ patterns:
195
197
  name: punctuation.definition.keyword.objc
196
198
  match: (@)(defs|encode)\b
197
199
  - name: storage.type.objc
198
- match: \b(IBOutlet|IBAction|BOOL|SEL|id|unichar|IMP|Class)\b
200
+ captures:
201
+ "2":
202
+ name: meta.id-type.objc
203
+ match: \b(IBOutlet|IBAction|BOOL|SEL|id(?!\s?<)|unichar|IMP|Class)\b
199
204
  - name: storage.type.objc
200
205
  captures:
201
206
  "1":
@@ -219,6 +224,8 @@ patterns:
219
224
  match: \bNS(R(ect(Edge)?|ange)|G(lyph(Relation|LayoutMode)?|radientType)|M(odalSession|a(trixMode|p(Table|Enumerator)))|B(itmapImageFileType|orderType|uttonType|ezelStyle|ackingStoreType|rowserColumnResizingType)|S(cr(oll(er(Part|Arrow)|ArrowPosition)|eenAuxiliaryOpaque)|tringEncoding|ize|ocketNativeHandle|election(Granularity|Direction|Affinity)|wapped(Double|Float)|aveOperationType)|Ha(sh(Table|Enumerator)|ndler(2)?)|C(o(ntrol(Size|Tint)|mp(ositingOperation|arisonResult))|ell(State|Type|ImagePosition|Attribute))|T(hreadPrivate|ypesetterGlyphInfo|i(ckMarkPosition|tlePosition|meInterval)|o(ol(TipTag|bar(SizeMode|DisplayMode))|kenStyle)|IFFCompression|ext(TabType|Alignment)|ab(State|leViewDropOperation|ViewType)|rackingRectTag)|ImageInterpolation|Zone|OpenGL(ContextAuxiliary|PixelFormatAuxiliary)|D(ocumentChangeType|atePickerElementFlags|ra(werState|gOperation))|UsableScrollerParts|P(oint|r(intingPageOrder|ogressIndicator(Style|Th(ickness|readInfo))))|EventType|KeyValueObservingOptions|Fo(nt(SymbolicTraits|TraitMask|Action)|cusRingType)|W(indow(OrderingMode|Depth)|orkspace(IconCreationOptions|LaunchOptions)|ritingDirection)|L(ineBreakMode|ayout(Status|Direction))|A(nimation(Progress|Effect)|ppl(ication(TerminateReply|DelegateReply|PrintReply)|eEventManagerSuspensionID)|ffineTransformStruct|lertStyle))\b
220
225
  - name: support.constant.cocoa
221
226
  match: \bNS(NotFound|Ordered(Ascending|Descending|Same))\b
227
+ - name: support.constant.notification.cocoa
228
+ match: \bNS(Menu(Did(RemoveItem|SendAction|ChangeItem|EndTracking|AddItem)|WillSendAction)|S(ystemColorsDidChange|plitView(DidResizeSubviews|WillResizeSubviews))|C(o(nt(extHelpModeDid(Deactivate|Activate)|rolT(intDidChange|extDid(BeginEditing|Change|EndEditing)))|lor(PanelColorDidChange|ListDidChange)|mboBox(Selection(IsChanging|DidChange)|Will(Dismiss|PopUp)))|lassDescriptionNeededForClass)|T(oolbar(DidRemoveItem|WillAddItem)|ext(Storage(DidProcessEditing|WillProcessEditing)|Did(BeginEditing|Change|EndEditing)|View(DidChange(Selection|TypingAttributes)|WillChangeNotifyingTextView))|ableView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)))|ImageRepRegistryDidChange|OutlineView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)|Item(Did(Collapse|Expand)|Will(Collapse|Expand)))|Drawer(Did(Close|Open)|Will(Close|Open))|PopUpButton(CellWillPopUp|WillPopUp)|View(GlobalFrameDidChange|BoundsDidChange|F(ocusDidChange|rameDidChange))|FontSetChanged|W(indow(Did(Resi(ze|gn(Main|Key))|M(iniaturize|ove)|Become(Main|Key)|ChangeScreen(|Profile)|Deminiaturize|Update|E(ndSheet|xpose))|Will(M(iniaturize|ove)|BeginSheet|Close))|orkspace(SessionDid(ResignActive|BecomeActive)|Did(Mount|TerminateApplication|Unmount|PerformFileOperation|Wake|LaunchApplication)|Will(Sleep|Unmount|PowerOff|LaunchApplication)))|A(ntialiasThresholdChanged|ppl(ication(Did(ResignActive|BecomeActive|Hide|ChangeScreenParameters|U(nhide|pdate)|FinishLaunching)|Will(ResignActive|BecomeActive|Hide|Terminate|U(nhide|pdate)|FinishLaunching))|eEventManagerWillProcessFirstEvent)))Notification\b
222
229
  - name: support.constant.cocoa
223
230
  match: \bNS(R(GB(ModeColorPanel|ColorSpaceModel)|ight(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext(Movement|Alignment)|ab(sBezelBorder|StopType))|ArrowFunctionKey)|ound(RectBezelStyle|Bankers|ed(BezelStyle|TokenStyle|DisclosureBezelStyle)|Down|Up|Plain|Line(CapStyle|JoinStyle))|un(StoppedResponse|ContinuesResponse|AbortedResponse)|e(s(izableWindowMask|et(CursorRectsRunLoopOrdering|FunctionKey))|ce(ssedBezelStyle|iver(sCantHandleCommandScriptError|EvaluationScriptError))|turnTextMovement|doFunctionKey|quiredArgumentsMissingScriptError|l(evancyLevelIndicatorStyle|ative(Before|After))|gular(SquareBezelStyle|ControlSize)|moveTraitFontAction)|a(n(domSubelement|geDateMode)|tingLevelIndicatorStyle|dio(ModeMatrix|Button)))|G(IFFileType|lyph(Below|Inscribe(B(elow|ase)|Over(strike|Below)|Above)|Layout(WithPrevious|A(tAPoint|gainstAPoint))|A(ttribute(BidiLevel|Soft|Inscribe|Elastic)|bove))|r(ooveBorder|eaterThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|a(y(ModeColorPanel|ColorSpaceModel)|dient(None|Con(cave(Strong|Weak)|vex(Strong|Weak)))|phiteControlTint)))|XML(N(o(tationDeclarationKind|de(CompactEmptyElement|IsCDATA|OptionsNone|Use(SingleQuotes|DoubleQuotes)|Pre(serve(NamespaceOrder|C(haracterReferences|DATA)|DTD|Prefixes|E(ntities|mptyElements)|Quotes|Whitespace|A(ttributeOrder|ll))|ttyPrint)|ExpandEmptyElement))|amespaceKind)|CommentKind|TextKind|InvalidKind|D(ocument(X(MLKind|HTMLKind|Include)|HTMLKind|T(idy(XML|HTML)|extKind)|IncludeContentTypeDeclaration|Validate|Kind)|TDKind)|P(arser(GTRequiredError|XMLDeclNot(StartedError|FinishedError)|Mi(splaced(XMLDeclarationError|CDATAEndStringError)|xedContentDeclNot(StartedError|FinishedError))|S(t(andaloneValueError|ringNot(StartedError|ClosedError))|paceRequiredError|eparatorRequiredError)|N(MTOKENRequiredError|o(t(ationNot(StartedError|FinishedError)|WellBalancedError)|DTDError)|amespaceDeclarationError|AMERequiredError)|C(haracterRef(In(DTDError|PrologError|EpilogError)|AtEOFError)|o(nditionalSectionNot(StartedError|FinishedError)|mment(NotFinishedError|ContainsDoubleHyphenError))|DATANotFinishedError)|TagNameMismatchError|In(ternalError|valid(HexCharacterRefError|C(haracter(RefError|InEntityError|Error)|onditionalSectionError)|DecimalCharacterRefError|URIError|Encoding(NameError|Error)))|OutOfMemoryError|D(ocumentStartError|elegateAbortedParseError|OCTYPEDeclNotFinishedError)|U(RI(RequiredError|FragmentError)|n(declaredEntityError|parsedEntityError|knownEncodingError|finishedTagError))|P(CDATARequiredError|ublicIdentifierRequiredError|arsedEntityRef(MissingSemiError|NoNameError|In(Internal(SubsetError|Error)|PrologError|EpilogError)|AtEOFError)|r(ocessingInstructionNot(StartedError|FinishedError)|ematureDocumentEndError))|E(n(codingNotSupportedError|tity(Ref(In(DTDError|PrologError|EpilogError)|erence(MissingSemiError|WithoutNameError)|LoopError|AtEOFError)|BoundaryError|Not(StartedError|FinishedError)|Is(ParameterError|ExternalError)|ValueRequiredError))|qualExpectedError|lementContentDeclNot(StartedError|FinishedError)|xt(ernalS(tandaloneEntityError|ubsetNotFinishedError)|raContentError)|mptyDocumentError)|L(iteralNot(StartedError|FinishedError)|T(RequiredError|SlashRequiredError)|essThanSymbolInAttributeError)|Attribute(RedefinedError|HasNoValueError|Not(StartedError|FinishedError)|ListNot(StartedError|FinishedError)))|rocessingInstructionKind)|E(ntity(GeneralKind|DeclarationKind|UnparsedKind|P(ar(sedKind|ameterKind)|redefined))|lement(Declaration(MixedKind|UndefinedKind|E(lementKind|mptyKind)|Kind|AnyKind)|Kind))|Attribute(N(MToken(sKind|Kind)|otationKind)|CDATAKind|ID(Ref(sKind|Kind)|Kind)|DeclarationKind|En(tit(yKind|iesKind)|umerationKind)|Kind))|M(i(n(XEdge|iaturizableWindowMask|YEdge|uteCalendarUnit)|terLineJoinStyle|ddleSubelement|xedState)|o(nthCalendarUnit|deSwitchFunctionKey|use(Moved(Mask)?|E(ntered(Mask)?|ventSubtype|xited(Mask)?))|veToBezierPathElement|mentary(ChangeButton|Push(Button|InButton)|Light(Button)?))|enuFunctionKey|a(c(intoshInterfaceStyle|OSRomanStringEncoding)|tchesPredicateOperatorType|ppedRead|x(XEdge|YEdge))|ACHOperatingSystem)|B(MPFileType|o(ttomTabsBezelBorder|ldFontMask|rderlessWindowMask|x(Se(condary|parator)|OldStyle|Primary))|uttLineCapStyle|e(zelBorder|velLineJoinStyle|low(Bottom|Top)|gin(sWith(Comparison|PredicateOperatorType)|FunctionKey))|lueControlTint|ack(spaceCharacter|tabTextMovement|ingStore(Retained|Buffered|Nonretained)|TabCharacter|wardsSearch|groundTab)|r(owser(NoColumnResizing|UserColumnResizing|AutoColumnResizing)|eakFunctionKey))|S(h(ift(JISStringEncoding|KeyMask)|ow(ControlGlyphs|InvisibleGlyphs)|adowlessSquareBezelStyle)|y(s(ReqFunctionKey|tem(D(omainMask|efined(Mask)?)|FunctionKey))|mbolStringEncoding)|c(a(nnedOption|le(None|ToFit|Proportionally))|r(oll(er(NoPart|Increment(Page|Line|Arrow)|Decrement(Page|Line|Arrow)|Knob(Slot)?|Arrows(M(inEnd|axEnd)|None|DefaultSetting))|Wheel(Mask)?|LockFunctionKey)|eenChangedEventType))|t(opFunctionKey|r(ingDrawing(OneShot|DisableScreenFontSubstitution|Uses(DeviceMetrics|FontLeading|LineFragmentOrigin))|eam(Status(Reading|NotOpen|Closed|Open(ing)?|Error|Writing|AtEnd)|Event(Has(BytesAvailable|SpaceAvailable)|None|OpenCompleted|E(ndEncountered|rrorOccurred)))))|i(ngle(DateMode|UnderlineStyle)|ze(DownFontAction|UpFontAction))|olarisOperatingSystem|unOSOperatingSystem|pecialPageOrder|e(condCalendarUnit|lect(By(Character|Paragraph|Word)|i(ng(Next|Previous)|onAffinity(Downstream|Upstream))|edTab|FunctionKey)|gmentSwitchTracking(Momentary|Select(One|Any)))|quareLineCapStyle|witchButton|ave(ToOperation|Op(tions(Yes|No|Ask)|eration)|AsOperation)|mall(SquareBezelStyle|C(ontrolSize|apsFontMask)|IconButtonBezelStyle))|H(ighlightModeMatrix|SBModeColorPanel|o(ur(Minute(SecondDatePickerElementFlag|DatePickerElementFlag)|CalendarUnit)|rizontalRuler|meFunctionKey)|TTPCookieAcceptPolicy(Never|OnlyFromMainDocumentDomain|Always)|e(lp(ButtonBezelStyle|KeyMask|FunctionKey)|avierFontAction)|PUXOperatingSystem)|Year(MonthDa(yDatePickerElementFlag|tePickerElementFlag)|CalendarUnit)|N(o(n(StandardCharacterSetFontMask|ZeroWindingRule|activatingPanelMask|LossyASCIIStringEncoding)|Border|t(ification(SuspensionBehavior(Hold|Coalesce|D(eliverImmediately|rop))|NoCoalescing|CoalescingOn(Sender|Name)|DeliverImmediately|PostToAllSessions)|PredicateType|EqualToPredicateOperatorType)|S(cr(iptError|ollerParts)|ubelement|pecifierError)|CellMask|T(itle|opLevelContainersSpecifierError|abs(BezelBorder|NoBorder|LineBorder))|I(nterfaceStyle|mage)|UnderlineStyle|FontChangeAction)|u(ll(Glyph|CellType)|m(eric(Search|PadKeyMask)|berFormatter(Round(Half(Down|Up|Even)|Ceiling|Down|Up|Floor)|Behavior(10|Default)|S(cientificStyle|pellOutStyle)|NoStyle|CurrencyStyle|DecimalStyle|P(ercentStyle|ad(Before(Suffix|Prefix)|After(Suffix|Prefix))))))|e(t(Services(BadArgumentError|NotFoundError|C(ollisionError|ancelledError)|TimeoutError|InvalidError|UnknownError|ActivityInProgress)|workDomainMask)|wlineCharacter|xt(StepInterfaceStyle|FunctionKey))|EXTSTEPStringEncoding|a(t(iveShortGlyphPacking|uralTextAlignment)|rrowFontMask))|C(hange(ReadOtherContents|GrayCell(Mask)?|BackgroundCell(Mask)?|Cleared|Done|Undone|Autosaved)|MYK(ModeColorPanel|ColorSpaceModel)|ircular(BezelStyle|Slider)|o(n(stantValueExpressionType|t(inuousCapacityLevelIndicatorStyle|entsCellMask|ain(sComparison|erSpecifierError)|rol(Glyph|KeyMask))|densedFontMask)|lor(Panel(RGBModeMask|GrayModeMask|HSBModeMask|C(MYKModeMask|olorListModeMask|ustomPaletteModeMask|rayonModeMask)|WheelModeMask|AllModesMask)|ListModeColorPanel)|reServiceDirectory|m(p(osite(XOR|Source(In|O(ut|ver)|Atop)|Highlight|C(opy|lear)|Destination(In|O(ut|ver)|Atop)|Plus(Darker|Lighter))|ressedFontMask)|mandKeyMask))|u(stom(SelectorPredicateOperatorType|PaletteModeColorPanel)|r(sor(Update(Mask)?|PointingDevice)|veToBezierPathElement))|e(nterT(extAlignment|abStopType)|ll(State|H(ighlighted|as(Image(Horizontal|OnLeftOrBottom)|OverlappingImage))|ChangesContents|Is(Bordered|InsetButton)|Disabled|Editable|LightsBy(Gray|Background|Contents)|AllowsMixedState))|l(ipPagination|o(s(ePathBezierPathElement|ableWindowMask)|ckAndCalendarDatePickerStyle)|ear(ControlTint|DisplayFunctionKey|LineFunctionKey))|a(seInsensitive(Search|PredicateOption)|n(notCreateScriptCommandError|cel(Button|TextMovement))|chesDirectory|lculation(NoError|Overflow|DivideByZero|Underflow|LossOfPrecision)|rriageReturnCharacter)|r(itical(Request|AlertStyle)|ayonModeColorPanel))|T(hick(SquareBezelStyle|erSquareBezelStyle)|ypesetter(Behavior|HorizontalTabAction|ContainerBreakAction|ZeroAdvancementAction|OriginalBehavior|ParagraphBreakAction|WhitespaceAction|L(ineBreakAction|atestBehavior))|i(ckMark(Right|Below|Left|Above)|tledWindowMask|meZoneDatePickerElementFlag)|o(olbarItemVisibilityPriority(Standard|High|User|Low)|pTabsBezelBorder|ggleButton)|IFF(Compression(N(one|EXT)|CCITTFAX(3|4)|OldJPEG|JPEG|PackBits|LZW)|FileType)|e(rminate(Now|Cancel|Later)|xt(Read(InapplicableDocumentTypeError|WriteErrorM(inimum|aximum))|Block(M(i(nimum(Height|Width)|ddleAlignment)|a(rgin|ximum(Height|Width)))|B(o(ttomAlignment|rder)|aselineAlignment)|Height|TopAlignment|P(ercentageValueType|adding)|Width|AbsoluteValueType)|StorageEdited(Characters|Attributes)|CellType|ured(RoundedBezelStyle|BackgroundWindowMask|SquareBezelStyle)|Table(FixedLayoutAlgorithm|AutomaticLayoutAlgorithm)|Field(RoundedBezel|SquareBezel|AndStepperDatePickerStyle)|WriteInapplicableDocumentTypeError|ListPrependEnclosingMarker))|woByteGlyphPacking|ab(Character|TextMovement|le(tP(oint(Mask|EventSubtype)?|roximity(Mask|EventSubtype)?)|Column(NoResizing|UserResizingMask|AutoresizingMask)|View(ReverseSequentialColumnAutoresizingStyle|GridNone|S(olid(HorizontalGridLineMask|VerticalGridLineMask)|equentialColumnAutoresizingStyle)|NoColumnAutoresizing|UniformColumnAutoresizingStyle|FirstColumnOnlyAutoresizingStyle|LastColumnOnlyAutoresizingStyle)))|rackModeMatrix)|I(n(sert(CharFunctionKey|FunctionKey|LineFunctionKey)|t(Type|ernalS(criptError|pecifierError))|dexSubelement|validIndexSpecifierError|formational(Request|AlertStyle)|PredicateOperatorType)|talicFontMask|SO(2022JPStringEncoding|Latin(1StringEncoding|2StringEncoding))|dentityMappingCharacterCollection|llegalTextMovement|mage(R(ight|ep(MatchesDevice|LoadStatus(ReadingHeader|Completed|InvalidData|Un(expectedEOF|knownType)|WillNeedAllData)))|Below|C(ellType|ache(BySize|Never|Default|Always))|Interpolation(High|None|Default|Low)|O(nly|verlaps)|Frame(Gr(oove|ayBezel)|Button|None|Photo)|L(oadStatus(ReadError|C(ompleted|ancelled)|InvalidData|UnexpectedEOF)|eft)|A(lign(Right|Bottom(Right|Left)?|Center|Top(Right|Left)?|Left)|bove)))|O(n(State|eByteGlyphPacking|OffButton|lyScrollerArrows)|ther(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|TextMovement)|SF1OperatingSystem|pe(n(GL(GO(Re(setLibrary|tainRenderers)|ClearFormatCache|FormatCacheSize)|PFA(R(obust|endererID)|M(inimumPolicy|ulti(sample|Screen)|PSafe|aximumPolicy)|BackingStore|S(creenMask|te(ncilSize|reo)|ingleRenderer|upersample|ample(s|Buffers|Alpha))|NoRecovery|C(o(lor(Size|Float)|mpliant)|losestPolicy)|OffScreen|D(oubleBuffer|epthSize)|PixelBuffer|VirtualScreenCount|FullScreen|Window|A(cc(umSize|elerated)|ux(Buffers|DepthStencil)|l(phaSize|lRenderers))))|StepUnicodeReservedBase)|rationNotSupportedForKeyS(criptError|pecifierError))|ffState|KButton|rPredicateType|bjC(B(itfield|oolType)|S(hortType|tr(ingType|uctType)|electorType)|NoType|CharType|ObjectType|DoubleType|UnionType|PointerType|VoidType|FloatType|Long(Type|longType)|ArrayType))|D(i(s(c(losureBezelStyle|reteCapacityLevelIndicatorStyle)|playWindowRunLoopOrdering)|acriticInsensitivePredicateOption|rect(Selection|PredicateModifier))|o(c(ModalWindowMask|ument(Directory|ationDirectory))|ubleType|wn(TextMovement|ArrowFunctionKey))|e(s(cendingPageOrder|ktopDirectory)|cimalTabStopType|v(ice(NColorSpaceModel|IndependentModifierFlagsMask)|eloper(Directory|ApplicationDirectory))|fault(ControlTint|TokenStyle)|lete(Char(acter|FunctionKey)|FunctionKey|LineFunctionKey)|moApplicationDirectory)|a(yCalendarUnit|teFormatter(MediumStyle|Behavior(10|Default)|ShortStyle|NoStyle|FullStyle|LongStyle))|ra(wer(Clos(ingState|edState)|Open(ingState|State))|gOperation(Generic|Move|None|Copy|Delete|Private|Every|Link|All)))|U(ser(CancelledError|D(irectory|omainMask)|FunctionKey)|RL(Handle(NotLoaded|Load(Succeeded|InProgress|Failed))|CredentialPersistence(None|Permanent|ForSession))|n(scaledWindowMask|cachedRead|i(codeStringEncoding|talicFontMask|fiedTitleAndToolbarWindowMask)|d(o(CloseGroupingRunLoopOrdering|FunctionKey)|e(finedDateComponent|rline(Style(Single|None|Thick|Double)|Pattern(Solid|D(ot|ash(Dot(Dot)?)?)))))|known(ColorSpaceModel|P(ointingDevice|ageOrder)|KeyS(criptError|pecifierError))|boldFontMask)|tilityWindowMask|TF8StringEncoding|p(dateWindowsRunLoopOrdering|TextMovement|ArrowFunctionKey))|J(ustifiedTextAlignment|PEG(2000FileType|FileType)|apaneseEUC(GlyphPacking|StringEncoding))|P(o(s(t(Now|erFontMask|WhenIdle|ASAP)|iti(on(Replace|Be(fore|ginning)|End|After)|ve(IntType|DoubleType|FloatType)))|pUp(NoArrow|ArrowAt(Bottom|Center))|werOffEventType|rtraitOrientation)|NGFileType|ush(InCell(Mask)?|OnPushOffButton)|e(n(TipMask|UpperSideMask|PointingDevice|LowerSideMask)|riodic(Mask)?)|P(S(caleField|tatus(Title|Field)|aveButton)|N(ote(Title|Field)|ame(Title|Field))|CopiesField|TitleField|ImageButton|OptionsButton|P(a(perFeedButton|ge(Range(To|From)|ChoiceMatrix))|reviewButton)|LayoutButton)|lainTextTokenStyle|a(useFunctionKey|ragraphSeparatorCharacter|ge(DownFunctionKey|UpFunctionKey))|r(int(ing(ReplyLater|Success|Cancelled|Failure)|ScreenFunctionKey|erTable(NotFound|OK|Error)|FunctionKey)|o(p(ertyList(XMLFormat|MutableContainers(AndLeaves)?|BinaryFormat|Immutable|OpenStepFormat)|rietaryStringEncoding)|gressIndicator(BarStyle|SpinningStyle|Preferred(SmallThickness|Thickness|LargeThickness|AquaThickness)))|e(ssedTab|vFunctionKey))|L(HeightForm|CancelButton|TitleField|ImageButton|O(KButton|rientationMatrix)|UnitsButton|PaperNameButton|WidthForm))|E(n(terCharacter|d(sWith(Comparison|PredicateOperatorType)|FunctionKey))|v(e(nOddWindingRule|rySubelement)|aluatedObjectExpressionType)|qualTo(Comparison|PredicateOperatorType)|ra(serPointingDevice|CalendarUnit|DatePickerElementFlag)|x(clude(10|QuickDrawElementsIconCreationOption)|pandedFontMask|ecuteFunctionKey))|V(i(ew(M(in(XMargin|YMargin)|ax(XMargin|YMargin))|HeightSizable|NotSizable|WidthSizable)|aPanelFontAction)|erticalRuler|a(lidationErrorM(inimum|aximum)|riableExpressionType))|Key(SpecifierEvaluationScriptError|Down(Mask)?|Up(Mask)?|PathExpressionType|Value(MinusSetMutation|SetSetMutation|Change(Re(placement|moval)|Setting|Insertion)|IntersectSetMutation|ObservingOption(New|Old)|UnionSetMutation|ValidationError))|QTMovie(NormalPlayback|Looping(BackAndForthPlayback|Playback))|F(1(1FunctionKey|7FunctionKey|2FunctionKey|8FunctionKey|3FunctionKey|9FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey|6FunctionKey)|7FunctionKey|i(nd(PanelAction(Replace(A(ndFind|ll(InSelection)?))?|S(howFindPanel|e(tFindString|lectAll(InSelection)?))|Next|Previous)|FunctionKey)|tPagination|le(Read(No(SuchFileError|PermissionError)|CorruptFileError|In(validFileNameError|applicableStringEncodingError)|Un(supportedSchemeError|knownError))|HandlingPanel(CancelButton|OKButton)|NoSuchFileError|ErrorM(inimum|aximum)|Write(NoPermissionError|In(validFileNameError|applicableStringEncodingError)|OutOfSpaceError|Un(supportedSchemeError|knownError))|LockingError)|xedPitchFontMask)|2(1FunctionKey|7FunctionKey|2FunctionKey|8FunctionKey|3FunctionKey|9FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey|6FunctionKey)|o(nt(Mo(noSpaceTrait|dernSerifsClass)|BoldTrait|S(ymbolicClass|criptsClass|labSerifsClass|ansSerifClass)|C(o(ndensedTrait|llectionApplicationOnlyMask)|larendonSerifsClass)|TransitionalSerifsClass|I(ntegerAdvancementsRenderingMode|talicTrait)|O(ldStyleSerifsClass|rnamentalsClass)|DefaultRenderingMode|U(nknownClass|IOptimizedTrait)|Panel(S(hadowEffectModeMask|t(andardModesMask|rikethroughEffectModeMask)|izeModeMask)|CollectionModeMask|TextColorEffectModeMask|DocumentColorEffectModeMask|UnderlineEffectModeMask|FaceModeMask|All(ModesMask|EffectsModeMask))|ExpandedTrait|VerticalTrait|F(amilyClassMask|reeformSerifsClass)|Antialiased(RenderingMode|IntegerAdvancementsRenderingMode))|cusRing(Below|Type(None|Default|Exterior)|Only|Above)|urByteGlyphPacking|rm(attingError(M(inimum|aximum))?|FeedCharacter))|8FunctionKey|unction(ExpressionType|KeyMask)|3(1FunctionKey|2FunctionKey|3FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey)|9FunctionKey|4FunctionKey|P(RevertButton|S(ize(Title|Field)|etButton)|CurrentField|Preview(Button|Field))|l(oat(ingPointSamplesBitmapFormat|Type)|agsChanged(Mask)?)|axButton|5FunctionKey|6FunctionKey)|W(heelModeColorPanel|indow(s(NTOperatingSystem|CP125(1StringEncoding|2StringEncoding|3StringEncoding|4StringEncoding|0StringEncoding)|95(InterfaceStyle|OperatingSystem))|M(iniaturizeButton|ovedEventType)|Below|CloseButton|ToolbarButton|ZoomButton|Out|DocumentIconButton|ExposedEventType|Above)|orkspaceLaunch(NewInstance|InhibitingBackgroundOnly|Default|PreferringClassic|WithoutA(ctivation|ddingToRecents)|A(sync|nd(Hide(Others)?|Print)|llowingClassicStartup))|eek(day(CalendarUnit|OrdinalCalendarUnit)|CalendarUnit)|a(ntsBidiLevels|rningAlertStyle)|r(itingDirection(RightToLeft|Natural|LeftToRight)|apCalendarComponents))|L(i(stModeMatrix|ne(Moves(Right|Down|Up|Left)|B(order|reakBy(C(harWrapping|lipping)|Truncating(Middle|Head|Tail)|WordWrapping))|S(eparatorCharacter|weep(Right|Down|Up|Left))|ToBezierPathElement|DoesntMove|arSlider)|teralSearch|kePredicateOperatorType|ghterFontAction|braryDirectory)|ocalDomainMask|e(ssThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|ft(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext(Movement|Alignment)|ab(sBezelBorder|StopType))|ArrowFunctionKey))|a(yout(RightToLeft|NotDone|CantFit|OutOfGlyphs|Done|LeftToRight)|ndscapeOrientation)|ABColorSpaceModel)|A(sc(iiWithDoubleByteEUCGlyphPacking|endingPageOrder)|n(y(Type|PredicateModifier|EventMask)|choredSearch|imation(Blocking|Nonblocking(Threaded)?|E(ffect(DisappearingItemDefault|Poof)|ase(In(Out)?|Out))|Linear)|dPredicateType)|t(Bottom|tachmentCharacter|omicWrite|Top)|SCIIStringEncoding|d(obe(GB1CharacterCollection|CNS1CharacterCollection|Japan(1CharacterCollection|2CharacterCollection)|Korea1CharacterCollection)|dTraitFontAction|minApplicationDirectory)|uto(saveOperation|Pagination)|pp(lication(SupportDirectory|D(irectory|e(fined(Mask)?|legateReply(Success|Cancel|Failure)|activatedEventType))|ActivatedEventType)|KitDefined(Mask)?)|l(ternateKeyMask|pha(ShiftKeyMask|NonpremultipliedBitmapFormat|FirstBitmapFormat)|ert(SecondButtonReturn|ThirdButtonReturn|OtherReturn|DefaultReturn|ErrorReturn|FirstButtonReturn|AlternateReturn)|l(ScrollerParts|DomainsMask|PredicateModifier|LibrariesDirectory|ApplicationsDirectory))|rgument(sWrongScriptError|EvaluationScriptError)|bove(Bottom|Top)|WTEventType))\b
224
231
  - include: "#bracketed_content"
@@ -14,7 +14,7 @@ patterns:
14
14
  "1":
15
15
  name: storage.type.prototype.pascal
16
16
  "2":
17
- name: entity.name.prototype.pascal
17
+ name: entity.name.function.prototype.pascal
18
18
  match: \b(?i:(function|procedure))\b\s+(\w+(\.\w+)?)(\(.*?\))?;\s*(?=(?i:attribute|forward|external))
19
19
  - name: meta.function.pascal
20
20
  captures:
@@ -660,6 +660,20 @@ patterns:
660
660
  - include: "#escaped_char"
661
661
  - include: "#variable"
662
662
  - include: source.sql
663
+ - captures:
664
+ "0":
665
+ name: punctuation.definition.string.perl
666
+ "1":
667
+ name: string.unquoted.heredoc.doublequote.perl
668
+ "2":
669
+ name: punctuation.definition.heredoc.perl
670
+ begin: ((<<) *"POSTSCRIPT").*\n?
671
+ contentName: text.postscript.embedded.perl
672
+ end: (^POSTSCRIPT$)
673
+ patterns:
674
+ - include: "#escaped_char"
675
+ - include: "#variable"
676
+ - include: source.postscript
663
677
  - captures:
664
678
  "0":
665
679
  name: punctuation.definition.string.perl
@@ -733,6 +747,18 @@ patterns:
733
747
  end: (^SQL$)
734
748
  patterns:
735
749
  - include: source.sql
750
+ - captures:
751
+ "0":
752
+ name: punctuation.definition.string.perl
753
+ "1":
754
+ name: string.unquoted.heredoc.quote.perl
755
+ "2":
756
+ name: punctuation.definition.heredoc.perl
757
+ begin: ((<<) *'POSTSCRIPT').*\n?
758
+ contentName: source.postscript.embedded.perl
759
+ end: (^POSTSCRIPT)
760
+ patterns:
761
+ - include: source.postscript
736
762
  - captures:
737
763
  "0":
738
764
  name: punctuation.definition.string.perl
@@ -798,6 +824,20 @@ patterns:
798
824
  - include: "#escaped_char"
799
825
  - include: "#variable"
800
826
  - include: source.sql
827
+ - captures:
828
+ "0":
829
+ name: punctuation.definition.string.perl
830
+ "1":
831
+ name: string.unquoted.heredoc.perl
832
+ "2":
833
+ name: punctuation.definition.heredoc.perl
834
+ begin: ((<<) *POSTSCRIPT\b).*\n?
835
+ contentName: source.postscript.embedded.perl
836
+ end: (^POSTSCRIPT)
837
+ patterns:
838
+ - include: "#escaped_char"
839
+ - include: "#variable"
840
+ - include: source.postscript
801
841
  - captures:
802
842
  "0":
803
843
  name: punctuation.definition.string.perl
@@ -3,9 +3,42 @@ name: PHP
3
3
  firstLineMatch: ^#!.*php[0-9]{0,1}\b
4
4
  scopeName: source.php
5
5
  repository:
6
- language_constant:
7
- name: constant.language.php
8
- match: (?i)\b(TRUE|FALSE|NULL|__(FILE|FUNCTION|CLASS|METHOD|LINE)__|ON|OFF|YES|NO|NL|BR|TAB)\b
6
+ regex-single-quoted:
7
+ name: string.regexp.single-quoted.php
8
+ endCaptures:
9
+ "0":
10
+ name: punctuation.definition.string.end.php
11
+ begin: (?x)'/ (?= (\\.|[^'/])+/[imsxeADSUXu]*' )
12
+ beginCaptures:
13
+ "0":
14
+ name: punctuation.definition.string.begin.php
15
+ end: (/)([imsxeADSUXu]*)(')
16
+ patterns:
17
+ - name: string.regexp.arbitrary-repitition.php
18
+ captures:
19
+ "1":
20
+ name: punctuation.definition.arbitrary-repitition.php
21
+ "3":
22
+ name: punctuation.definition.arbitrary-repitition.php
23
+ match: (\{)\d+(,\d+)?(\})
24
+ - name: string.regexp.character-class.php
25
+ captures:
26
+ "0":
27
+ name: punctuation.definition.character-class.php
28
+ begin: \[(?:\^?\])?
29
+ end: \]
30
+ patterns:
31
+ - name: constant.character.escape.php
32
+ match: \\[\\']
33
+ - name: keyword.operator.regexp.php
34
+ match: "[$^+*]"
35
+ - name: constant.character.escape.php
36
+ match: \\[\\']
37
+ variables:
38
+ patterns:
39
+ - include: "#var_global"
40
+ - include: "#var_global_safer"
41
+ - include: "#var_basic"
9
42
  string-double-quoted:
10
43
  name: string.quoted.double.php
11
44
  endCaptures:
@@ -19,7 +52,7 @@ repository:
19
52
  patterns:
20
53
  - name: constant.character.escape.php
21
54
  match: \\.
22
- - include: "#var_complex_string_heredoc"
55
+ - include: "#interpolation"
23
56
  language:
24
57
  patterns:
25
58
  - name: meta.scope.heredoc
@@ -28,7 +61,7 @@ repository:
28
61
  name: keyword.operator.heredoc.php
29
62
  "2":
30
63
  name: punctuation.definition.string.php
31
- begin: (<<<)(HTML)
64
+ begin: (<<<)\s*(HTML)
32
65
  contentName: text.html.basic.embedded
33
66
  beginCaptures:
34
67
  "1":
@@ -38,17 +71,14 @@ repository:
38
71
  end: ^(HTML)(;?)$
39
72
  patterns:
40
73
  - include: text.html.basic
41
- - include: "#var_global"
42
- - include: "#var_global_safer"
43
- - include: "#var_basic"
44
- - include: "#var_complex_string_heredoc"
74
+ - include: "#interpolation"
45
75
  - name: meta.scope.heredoc
46
76
  endCaptures:
47
77
  "1":
48
78
  name: keyword.operator.heredoc.php
49
79
  "2":
50
80
  name: punctuation.definition.string.php
51
- begin: ((<<<)XML)
81
+ begin: (<<<)\s*(XML)
52
82
  contentName: text.xml.embedded
53
83
  beginCaptures:
54
84
  "1":
@@ -58,17 +88,14 @@ repository:
58
88
  end: ^(XML)(;?)$
59
89
  patterns:
60
90
  - include: text.xml
61
- - include: "#var_global"
62
- - include: "#var_global_safer"
63
- - include: "#var_basic"
64
- - include: "#var_complex_string_heredoc"
91
+ - include: "#interpolation"
65
92
  - name: meta.scope.heredoc
66
93
  endCaptures:
67
94
  "1":
68
95
  name: keyword.operator.heredoc.php
69
96
  "2":
70
97
  name: punctuation.definition.string.php
71
- begin: ((<<<)SQL)
98
+ begin: (<<<)\s*(SQL)
72
99
  contentName: source.sql.embedded
73
100
  beginCaptures:
74
101
  "1":
@@ -78,10 +105,7 @@ repository:
78
105
  end: ^(SQL)(;?)$
79
106
  patterns:
80
107
  - include: source.sql
81
- - include: "#var_global"
82
- - include: "#var_global_safer"
83
- - include: "#var_basic"
84
- - include: "#var_complex_string_heredoc"
108
+ - include: "#interpolation"
85
109
  - name: comment.block.documentation.phpdoc.php
86
110
  captures:
87
111
  "0":
@@ -101,12 +125,12 @@ repository:
101
125
  captures:
102
126
  "1":
103
127
  name: punctuation.definition.comment.php
104
- match: (//).*$\n?
128
+ match: (//).*?($\n?|(?=\?>))
105
129
  - name: comment.line.number-sign.php
106
130
  captures:
107
131
  "1":
108
132
  name: punctuation.definition.comment.php
109
- match: (#).*$\n?
133
+ match: (#).*?($\n?|(?=\?>))
110
134
  - name: meta.interface.php
111
135
  begin: ^\s*(interface)\s+([a-zA-Z0-9_]+)\s*(extends)?\s*
112
136
  beginCaptures:
@@ -152,11 +176,11 @@ repository:
152
176
  - name: keyword.control.php
153
177
  match: \b(break|c(ase|ontinue)|d(e(clare|fault)|ie|o)|e(lse(if)?|nd(declare|for(each)?|if|switch|while)|xit)|for(each)?|if|return|switch|use|while)\b
154
178
  - name: meta.include.php
155
- captures:
179
+ begin: (?i)\b((?:require|include)(?:_once)?)\b\s*
180
+ beginCaptures:
156
181
  "1":
157
182
  name: keyword.control.import.include.php
158
- begin: \b((require|include)(_once)?)\b
159
- end: ;
183
+ end: (?=\s|;|$)
160
184
  patterns:
161
185
  - include: "#language"
162
186
  - name: keyword.control.exception.php
@@ -165,8 +189,11 @@ repository:
165
189
  endCaptures:
166
190
  "1":
167
191
  name: punctuation.definition.parameters.end.php
168
- begin: (?:^\s*)((?:(?:final|abstract|public|private|protected|static)\s+)*)(function)(?:\s+|(\s*&\s*))([a-zA-Z0-9_]+)\s*(\()
192
+ begin: (?:^\s*)((?:(?:final|abstract|public|private|protected|static)\s+)*)(function)(?:\s+|(\s*&\s*))(?:(__(?:call|(?:con|de)struct|get|(?:is|un)?set|tostring|clone|set_state|sleep|wakeup|autoload))|([a-zA-Z0-9_]+))\s*(\()
193
+ contentName: meta.function.arguments.php
169
194
  beginCaptures:
195
+ "6":
196
+ name: punctuation.definition.parameters.begin.php
170
197
  "1":
171
198
  name: storage.modifier.php
172
199
  "2":
@@ -174,459 +201,729 @@ repository:
174
201
  "3":
175
202
  name: storage.modifier.reference.php
176
203
  "4":
177
- name: entity.name.function.php
204
+ name: support.function.magic.php
178
205
  "5":
179
- name: punctuation.definition.parameters.begin.php
206
+ name: entity.name.function.php
180
207
  end: \)
181
208
  patterns:
182
- - include: "#string-double-quoted"
183
- - include: "#string-single-quoted"
184
- - include: "#string-backtick"
185
- - include: "#var_global"
186
- - include: "#var_global_safer"
187
- - include: "#var_basic"
188
- - include: "#language_constant"
189
- - name: meta.class.php
190
- captures:
209
+ - name: meta.function.argument.typehinted.php
210
+ captures:
211
+ "6":
212
+ name: constant.language.php
213
+ "7":
214
+ name: invalid.illegal.non-null-typehinted.php
215
+ "1":
216
+ name: storage.type.php
217
+ "2":
218
+ name: support.class.php
219
+ "3":
220
+ name: variable.other.php
221
+ "4":
222
+ name: punctuation.definition.variable.php
223
+ "5":
224
+ name: keyword.operator.assignment.php
225
+ match: \s*(?i:(array)|([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*(=)\s*((?i:NULL)|(.+?)))?\s*(?=,|\))
226
+ - name: meta.function.argument.no-default.php
227
+ captures:
228
+ "1":
229
+ name: variable.other.php
230
+ "2":
231
+ name: punctuation.definition.variable.php
232
+ match: \s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)\s*(?=,|\))
233
+ - name: meta.function.argument.default.php
234
+ captures:
235
+ "1":
236
+ name: variable.other.php
237
+ "2":
238
+ name: punctuation.definition.variable.php
239
+ "3":
240
+ name: keyword.operator.assignment.php
241
+ begin: \s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\s*(=)\s*)\s*
242
+ end: (?=,|\))
243
+ patterns:
244
+ - include: "#parameter-default-types"
245
+ - name: comment.block.php
246
+ captures:
247
+ "0":
248
+ name: punctuation.definition.comment.php
249
+ begin: /\*
250
+ end: \*/
251
+ - name: storage.type.php
252
+ match: (?i)\b(real|double|float|int(eger)?|bool(ean)?|string|class|clone|var|function|interface|parent|self|__(autoload|c(all|lone|onstruct)|destruct|get|set|sleep|toString|wakeup))\b
253
+ - name: storage.modifier.php
254
+ match: \b(global|abstract|const|extends|implements|final|p(r(ivate|otected)|ublic)|static)\b
255
+ - include: "#object"
256
+ - captures:
191
257
  "1":
192
- name: storage.modifier.abstract.php
258
+ name: keyword.operator.class.php
193
259
  "2":
194
- name: storage.modifier.class-or-interface.php
260
+ name: meta.function-call.static.php
195
261
  "3":
196
- name: entity.name.type.class.php
262
+ name: variable.other.class.php
197
263
  "4":
198
- name: entity.other.inherited-class.php
199
- match: (?:^\s*)(abstract)?\s*(class|interface)\s+([a-zA-Z0-9_]+)\s*(extends\s+([a-zA-Z0-9_]+))?
200
- - name: storage.type.php
201
- match: \b(real|double|float|int(eger)?|bool(ean)?|string|class|clone|var|function|interface|new|parent|self|__(autoload|c(all|lone|onstruct)|destruct|get|set|sleep|toString|wakeup))\b
202
- - name: storage.modifier.php
203
- match: \b(global|abstract|const|extends|implements|final|p(r(ivate|otected)|ublic)|static)\b
204
- - name: keyword.operator.php
205
- match: "::|->"
206
- - name: support.function.builtin_functions.php
207
- match: (?i)\b(eval|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)|zend_version|de(fine(d)?|bug_(print_backtrace|backtrace))|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|object_vars|de(clared_(classes|interfaces)|fined_(constants|vars|functions))|parent_class|extension_funcs|loaded_extensions|resource_type)|method_exists)\b
264
+ name: punctuation.definition.variable.php
265
+ "5":
266
+ name: constant.other.class.php
267
+ match: |-
268
+ (?x)(::)
269
+ (?:
270
+ ([A-Za-z_][A-Za-z_0-9]*)\s*\(
271
+ |
272
+ ((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
273
+ |
274
+ ([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
275
+ )?
276
+ - include: "#support"
277
+ - name: string.unquoted.heredoc.php
278
+ endCaptures:
279
+ "1":
280
+ name: keyword.operator.heredoc.php
281
+ "2":
282
+ name: punctuation.definition.string.php
283
+ begin: (<<<)\s*([a-zA-Z_]+[a-zA-Z0-9_]*)
284
+ beginCaptures:
285
+ "1":
286
+ name: punctuation.definition.string.php
287
+ "2":
288
+ name: keyword.operator.heredoc.php
289
+ end: ^(\2)(;?)$
290
+ patterns:
291
+ - include: "#interpolation"
292
+ - name: keyword.operator.key.php
293
+ match: =>
294
+ - name: storage.modifier.reference.php
295
+ match: "&(?=\\s*(\\$|new|[A-Za-z_][A-Za-z_0-9]+(?=\\s*\\()))"
296
+ - name: keyword.operator.assignment.php
297
+ match: "="
298
+ - name: keyword.operator.terminator.php
299
+ match: ;
300
+ - name: keyword.operator.error-control.php
301
+ match: (@)
302
+ - name: keyword.operator.increment-decrement.php
303
+ match: (\-\-|\+\+)
304
+ - name: keyword.operator.arithmetic.php
305
+ match: (\-|\+|\*|/|%)
306
+ - name: keyword.operator.logical.php
307
+ match: (?i)(!|&&|\|\|)|\b(and|or|xor|as)\b
308
+ - name: keyword.operator.bitwise.php
309
+ match: <<|>>|~|\^|&|\|
310
+ - name: keyword.operator.comparison.php
311
+ match: (===|==|!==|!=|<=|>=|<>|<|>)
312
+ - name: keyword.operator.string.php
313
+ match: (\.=|\.)
314
+ - captures:
315
+ "1":
316
+ name: keyword.operator.type.php
317
+ "2":
318
+ name: support.class.php
319
+ match: (?i)\b(instanceof)\b(?:\s+(\w+))?
320
+ - include: "#numbers"
321
+ - include: "#strings"
322
+ - include: "#string-backtick"
323
+ - include: "#function-call"
324
+ - include: "#variables"
325
+ - captures:
326
+ "1":
327
+ name: keyword.operator.php
328
+ "2":
329
+ name: variable.other.property.php
330
+ match: (?<=[a-zA-Z0-9_\x{7f}-\x{ff}])(->)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?)\b
331
+ - include: "#instantiation"
332
+ - include: "#constants"
333
+ instantiation:
334
+ captures:
335
+ "1":
336
+ name: keyword.other.new.php
337
+ "2":
338
+ name: support.class.php
339
+ "3":
340
+ name: support.class.php
341
+ match: (?i)\b(new)\s+(\w+)|(\w+)(?=::)
342
+ var_basic:
343
+ name: variable.other.php
344
+ captures:
345
+ "1":
346
+ name: punctuation.definition.variable.php
347
+ match: |-
348
+ (?x)
349
+ (\$+)[a-zA-Z_\x{7f}-\x{ff}]
350
+ [a-zA-Z0-9_\x{7f}-\x{ff}]*?\b
351
+ string-backtick:
352
+ name: string.interpolated.php
353
+ endCaptures:
354
+ "0":
355
+ name: punctuation.definition.string.end.php
356
+ begin: `
357
+ beginCaptures:
358
+ "0":
359
+ name: punctuation.definition.string.begin.php
360
+ end: `
361
+ patterns:
362
+ - name: constant.character.escape.php
363
+ match: \\.
364
+ - include: "#interpolation"
365
+ var_global_safer:
366
+ name: variable.other.global.safer.php
367
+ captures:
368
+ "2":
369
+ name: punctuation.definition.variable.php
370
+ match: ((\$)(GLOBALS|_(ENV|SERVER|SESSION)))|\b(global)\b
371
+ strings:
372
+ patterns:
373
+ - include: "#regex-double-quoted"
374
+ - include: "#sql-string-double-quoted"
375
+ - include: "#string-double-quoted"
376
+ - include: "#regex-single-quoted"
377
+ - include: "#sql-string-single-quoted"
378
+ - include: "#string-single-quoted"
379
+ string-single-quoted:
380
+ name: string.quoted.single.php
381
+ endCaptures:
382
+ "0":
383
+ name: punctuation.definition.string.end.php
384
+ begin: "'"
385
+ beginCaptures:
386
+ "0":
387
+ name: punctuation.definition.string.begin.php
388
+ end: "'"
389
+ patterns:
390
+ - name: constant.character.escape.php
391
+ match: \\[\\']
392
+ sql-string-double-quoted:
393
+ name: string.quoted.double.sql.php
394
+ endCaptures:
395
+ "0":
396
+ name: punctuation.definition.string.end.php
397
+ begin: "\"\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER)\\b)"
398
+ beginCaptures:
399
+ "0":
400
+ name: punctuation.definition.string.begin.php
401
+ end: "\""
402
+ patterns:
403
+ - name: constant.character.escape.php
404
+ match: \\.
405
+ - include: "#interpolation"
406
+ - include: source.sql
407
+ support:
408
+ patterns:
409
+ - name: meta.array.php
410
+ endCaptures:
411
+ "0":
412
+ name: punctuation.definition.array.end.php
413
+ begin: (array)(\()
414
+ beginCaptures:
415
+ "1":
416
+ name: support.function.construct.php
417
+ "2":
418
+ name: punctuation.definition.array.begin.php
419
+ end: \)
420
+ patterns:
421
+ - include: "#language"
422
+ - name: support.function.construct.php
423
+ match: (?i)\b(isset|unset|print|e(cho|val|mpty)|list)\b
424
+ - name: support.function.array.php
425
+ match: (?i)\b(s(huffle|izeof|ort)|n(ext|at(sort|casesort))|c(o(unt|mpact)|urrent)|in_array|u(sort|ksort|asort)|p(os|rev)|e(nd|xtract)|k(sort|ey(_exists)?|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))\b(?=\s*\()
426
+ - name: support.function.assert.php
427
+ match: (?i)\bassert(_options)?\b(?=\s*\()
428
+ - name: support.function.attr.php
429
+ match: (?i)\b(isId|dom_attr_is_id)\b(?=\s*\()
430
+ - name: support.function.base64.php
431
+ match: (?i)\bbase64_(decode|encode)\b(?=\s*\()
432
+ - name: support.function.basic_functions.php
433
+ match: (?i)\b(highlight_(string|file)|s(how_source|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|alter|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)|m(ove_uploaded_file|agic_quotes_runtime))\b(?=\s*\()
208
434
  - name: support.function.bcmath.php
209
- match: (?i)\bbc(s(cale|ub|qrt)|comp|div|pow(mod)?|add|m(od|ul))\b
435
+ match: (?i)\bbc(s(cale|ub|qrt)|comp|div|pow(mod)?|add|m(od|ul))\b(?=\s*\()
436
+ - name: support.function.birdstep.php
437
+ match: (?i)\b(velocis_(c(o(nnect|mmit)|lose)|off_autocommit|exec|f(ieldn(um|ame)|etch|reeresult)|autocommit|r(ollback|esult))|birdstep_(c(o(nnect|mmit)|lose)|off_autocommit|exec|f(ieldn(um|ame)|etch|reeresult)|autocommit|r(ollback|esult)))\b(?=\s*\()
438
+ - name: support.function.browscap.php
439
+ match: (?i)\bget_browser\b(?=\s*\()
440
+ - name: support.function.builtin_functions.php
441
+ match: (?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)\b(?=\s*\()
210
442
  - name: support.function.bz2.php
211
- match: (?i)\bbz(compress|open|decompress|err(str|no|or)|read)\b
443
+ match: (?i)\bbz(compress|decompress|open|err(str|no|or)|read)\b(?=\s*\()
212
444
  - name: support.function.cal_unix.php
213
- match: (?i)\b(unixtojd|jdtounix)\b
445
+ match: (?i)\b(jdtounix|unixtojd)\b(?=\s*\()
214
446
  - name: support.function.calendar.php
215
- match: (?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)\b
216
- - name: support.function.easter.php
217
- match: (?i)\beaster_da(ys|te)\b
447
+ match: (?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)\b(?=\s*\()
448
+ - name: support.function.characterdata.php
449
+ match: (?i)\b(substringData|insertData|d(om_characterdata_(substring_data|insert_data|delete_data|append_data|replace_data)|eleteData)|appendData|replaceData)\b(?=\s*\()
218
450
  - name: support.function.com_com.php
219
- match: (?i)\bcom_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)\b
451
+ match: (?i)\bcom_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)\b(?=\s*\()
220
452
  - name: support.function.com_variant.php
221
- match: (?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)|round|get_type|xor|m(od|ul))\b
453
+ match: (?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))\b(?=\s*\()
454
+ - name: support.function.crc32.php
455
+ match: (?i)\bcrc32\b(?=\s*\()
456
+ - name: support.function.crypt.php
457
+ match: (?i)\bcrypt\b(?=\s*\()
222
458
  - name: support.function.ctype.php
223
- match: (?i)\bctype_(space|cntrl|digit|upper|p(unct|rint)|lower|al(num|pha)|graph|xdigit)\b
224
- - name: support.function.interface.php
225
- match: (?i)\bcurl_(setopt(_array)?|c(opy_handle|lose)|init|e(rr(no|or)|xec)|version|getinfo)\b
226
- - name: support.function.multi.php
227
- match: (?i)\bcurl_multi_(select|close|in(it|fo_read)|exec|add_handle|remove_handle|getcontent)\b
228
- - name: support.function.php_date.php
229
- match: (?i)\b(str(totime|ftime)|checkdate|time(zone_(name_(from_abbr|get)|transitions_get|identifiers_list|o(pen|ffset_get)|abbreviations_list))?|idate|date(_(sun(set|_info|rise)|create|time(zone_(set|get)|_set)|isodate_set|offset_get|d(efault_timezone_(set|get)|ate_set)|parse|format|modify))?|localtime|g(etdate|m(strftime|date|mktime))|mktime)\b
459
+ match: (?i)\bctype_(space|cntrl|digit|upper|p(unct|rint)|lower|al(num|pha)|graph|xdigit)\b(?=\s*\()
460
+ - name: support.function.cyr_convert.php
461
+ match: (?i)\bconvert_cyr_string\b(?=\s*\()
462
+ - name: support.function.datetime.php
463
+ match: (?i)\bstrptime\b(?=\s*\()
230
464
  - name: support.function.dba.php
231
- match: (?i)\bdba_(sync|handlers|nextkey|close|insert|op(timize|en)|delete|popen|exists|key_split|f(irstkey|etch)|list|replace)\b
465
+ match: (?i)\bdba_(handlers|sync|nextkey|close|insert|delete|op(timize|en)|exists|popen|key_split|f(irstkey|etch)|list|replace)\b(?=\s*\()
232
466
  - name: support.function.dbase.php
233
- match: (?i)\bdbase_(num(fields|records)|c(lose|reate)|open|delete_record|pack|add_record|replace_record|get_(header_info|record(_with_names)?))\b
234
- - name: support.function.attr.php
235
- match: (?i)\bdom_attr_is_id\b
236
- - name: support.function.characterdata.php
237
- match: (?i)\bdom_characterdata_(substring_data|insert_data|delete_data|append_data|replace_data)\b
467
+ match: (?i)\bdbase_(num(fields|records)|c(lose|reate)|delete_record|open|pack|add_record|get_(header_info|record(_with_names)?)|replace_record)\b(?=\s*\()
468
+ - name: support.function.dir.php
469
+ match: (?i)\b(scandir|c(h(dir|root)|lose(dir)?)|dir|opendir|re(addir|wind(dir)?)|g(etcwd|lob))\b(?=\s*\()
470
+ - name: support.function.dl.php
471
+ match: (?i)\bdl\b(?=\s*\()
472
+ - name: support.function.dns.php
473
+ match: (?i)\b(checkdnsrr|dns_(check_record|get_(record|mx))|get(hostby(name(l)?|addr)|mxrr))\b(?=\s*\()
238
474
  - name: support.function.document.php
239
- match: (?i)\bdom_document_(s(chema_validate(_file)?|ave(_html(_file)?|xml)?)|normalize_document|create_(c(omment|datasection)|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)\b
475
+ match: (?i)\b(s(chemaValidate|ave(XML|HTML(File)?))|normalizeDocument|create(C(omment|DATASection)|TextNode|DocumentFragment|ProcessingInstruction|E(ntityReference|lement(NS)?)|Attribute(NS)?)|importNode|dom_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)|validate|adoptNode|re(nameNode|laxNGValidate(Source)?)|getElementById|xinclude)\b(?=\s*\()
240
476
  - name: support.function.domconfiguration.php
241
- match: (?i)\bdom_domconfiguration_(set_parameter|can_set_parameter|get_parameter)\b
477
+ match: (?i)\b(canSetParameter|dom_domconfiguration_(set_parameter|can_set_parameter|get_parameter))\b(?=\s*\()
242
478
  - name: support.function.domerrorhandler.php
243
- match: (?i)\bdom_domerrorhandler_handle_error\b
479
+ match: (?i)\b(handleError|dom_domerrorhandler_handle_error)\b(?=\s*\()
244
480
  - name: support.function.domimplementation.php
245
- match: (?i)\bdom_domimplementation_(has_feature|create_document(_type)?|get_feature)\b
481
+ match: (?i)\bdom_domimplementation_(has_feature|create_document(_type)?|get_feature)\b(?=\s*\()
246
482
  - name: support.function.domimplementationlist.php
247
- match: (?i)\bdom_domimplementationlist_item\b
483
+ match: (?i)\bdom_domimplementationlist_item\b(?=\s*\()
248
484
  - name: support.function.domimplementationsource.php
249
- match: (?i)\bdom_domimplementationsource_get_domimplementation(s)?\b
485
+ match: (?i)\b(dom_domimplementationsource_get_domimplementation(s)?|getDomimplementation(s)?)\b(?=\s*\()
250
486
  - name: support.function.domstringlist.php
251
- match: (?i)\bdom_domstringlist_item\b
487
+ match: (?i)\bdom_domstringlist_item\b(?=\s*\()
488
+ - name: support.function.easter.php
489
+ match: (?i)\beaster_da(ys|te)\b(?=\s*\()
252
490
  - name: support.function.element.php
253
- match: (?i)\bdom_element_(set_(id_attribute(_n(s|ode))?|attribute(_n(s|ode(_ns)?))?)|has_attribute(_ns)?|remove_attribute(_n(s|ode))?|get_(elements_by_tag_name(_ns)?|attribute(_n(s|ode(_ns)?))?))\b
254
- - name: support.function.namednodemap.php
255
- match: (?i)\bdom_namednodemap_(set_named_item(_ns)?|item|remove_named_item(_ns)?|get_named_item(_ns)?)\b
256
- - name: support.function.namelist.php
257
- match: (?i)\bdom_namelist_get_name(space_uri)?\b
258
- - name: support.function.node.php
259
- match: (?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|re(place_child|move_child)|get_(user_data|feature))\b
260
- - name: support.function.nodelist.php
261
- match: (?i)\bdom_nodelist_item\b
262
- - name: support.function.php_dom.php
263
- match: (?i)\bdom_import_simplexml\b
264
- - name: support.function.string_extend.php
265
- match: (?i)\bdom_string_extend_find_offset(16|32)\b
266
- - name: support.function.text.php
267
- match: (?i)\bdom_text_(split_text|is_whitespace_in_element_content|replace_whole_text)\b
268
- - name: support.function.userdatahandler.php
269
- match: (?i)\bdom_userdatahandler_handle\b
270
- - name: support.function.xpath.php
271
- match: (?i)\bdom_xpath_(evaluate|query|register_ns)\b
491
+ match: (?i)\b(hasAttribute(NS)?|set(IdAttribute(N(S|ode))?|Attribute(N(S|ode(NS)?))?)|dom_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)?))?))|removeAttribute(N(S|ode))?|get(ElementsByTagName(NS)?|Attribute(N(S|ode(NS)?))?))\b(?=\s*\()
492
+ - name: support.function.exec.php
493
+ match: (?i)\b(s(hell_exec|ystem)|p(assthru|roc_nice)|e(scapeshell(cmd|arg)|xec))\b(?=\s*\()
272
494
  - name: support.function.exif.php
273
- match: (?i)\bexif_(t(humbnail|agname)|imagetype|read_data)\b
274
- - name: support.function.php_fbsql.php
275
- match: (?i)\bfbsql_(s(t(op_db|art_db)|e(t_(characterset|transaction|password|lob_mode)|lect_db))|hostname|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|p(connect|assword)|err(no|or)|query|f(ield_(seek|name|t(ype|able)|flags|len)|etch_(object|field|lengths|a(ssoc|rray)|row)|ree_result)|warnings|list_(tables|dbs|fields)|a(utocommit|ffected_rows)|r(o(ws_fetched|llback)|e(sult|ad_(clob|blob)))|get_autostart_info|blob_size)\b
495
+ match: (?i)\b(exif_(imagetype|t(humbnail|agname)|read_data)|read_exif_data)\b(?=\s*\()
276
496
  - name: support.function.fdf.php
277
- match: (?i)\bfdf_(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)?)|header|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)))\b
497
+ match: (?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)))\b(?=\s*\()
498
+ - name: support.function.file.php
499
+ match: (?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(ut(s|csv)|assthru)|eof|flush|write|lock|read|get(s(s)?|c(sv)?))|r(e(name|a(dfile|lpath)|wind)|mdir)|g(z(seek|close|tell|eof|p(uts|assthru)|write|re(ad|wind)|get(s(s)?|c))|et_meta_tags)|bz(close|flush|write)|mkdir)\b(?=\s*\()
500
+ - name: support.function.filestat.php
501
+ match: (?i)\b(stat|c(h(own|grp|mod)|learstatcache)|is_(dir|executable|file|link|writ(eable|able)|readable)|touch|disk(_(total_space|free_space)|freespace)|file(size|ctime|type|inode|owner|_exists|perms|atime|group|mtime)|l(stat|chgrp))\b(?=\s*\()
278
502
  - name: support.function.filter.php
279
- match: (?i)\bfilter_(has_var|i(nput(_array)?|d)|var(_array)?|list)\b
280
- - name: support.function.php_ftp.php
281
- match: (?i)\bftp_(s(sl_connect|ystype|i(te|ze)|et_option)|n(list|b_(continue|put|f(put|get)|get))|c(h(dir|mod)|onnect|dup|lose)|delete|p(ut|wd|asv)|exec|f(put|get)|login|alloc|r(ename|aw(list)?|mdir)|get(_option)?|m(dtm|kdir))\b
503
+ match: (?i)\bfilter_(has_var|input(_array)?|var(_array)?)\b(?=\s*\()
504
+ - name: support.function.formatted_print.php
505
+ match: (?i)\b(sprintf|printf|v(sprintf|printf|fprintf)|fprintf)\b(?=\s*\()
506
+ - name: support.function.fsock.php
507
+ match: (?i)\b(pfsockopen|fsockopen)\b(?=\s*\()
508
+ - name: support.function.ftok.php
509
+ match: (?i)\bftok\b(?=\s*\()
282
510
  - name: support.function.gd.php
283
- match: (?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)))?)|t(ypes|tf(text|bbox)|ruecolortopalette)|i(struecolor|nterlace)|2wbmp|d(estroy|ashedline)|jpeg|p(s(slantfont|copyfont|text|e(ncodefont|xtendfont)|freefont|loadfont|bbox)|ng|olygon|alettecopy)|ellipse|f(t(text|bbox)|il(ter|l(toborder|ed(polygon|ellipse|arc|rectangle))?)|ont(height|width))|wbmp|l(ine|oadfont|ayereffect)|a(ntialias|lphablending|rc)|r(otate|ectangle)|g(if|d(2)?|ammacorrect)|xbm)|jpeg2wbmp|png2wbmp|gd_info)\b
511
+ match: (?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)|g(if|d(2)?|ammacorrect)|r(otate|ectangle)|xbm)|jpeg2wbmp|png2wbmp|gd_info)\b(?=\s*\()
284
512
  - name: support.function.gettext.php
285
- match: (?i)\b(ngettext|textdomain|d(ngettext|c(ngettext|gettext)|gettext)|gettext|bind(textdomain|_textdomain_codeset))\b
513
+ match: (?i)\b(ngettext|textdomain|d(ngettext|c(ngettext|gettext)|gettext)|gettext|bind(textdomain|_textdomain_codeset))\b(?=\s*\()
286
514
  - name: support.function.gmp.php
287
- match: (?i)\bgmp_(s(can(1|0)|trval|ign|ub|etbit|qrt(rem)?)|hamdist|ne(g|xtprime)|c(om|lrbit|mp)|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))\b
515
+ match: (?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))\b(?=\s*\()
288
516
  - name: support.function.hash.php
289
- match: (?i)\bhash(_(hmac(_file)?|init|update(_(stream|file))?|fi(nal|le)|algos))?\b
517
+ match: (?i)\bhash(_(hmac(_file)?|init|update(_(stream|file))?|fi(nal|le)|algos))?\b(?=\s*\()
290
518
  - name: support.function.hash_md.php
291
- match: (?i)\bmd5(_file)?\b
519
+ match: (?i)\bmd5(_file)?\b(?=\s*\()
292
520
  - name: support.function.hash_sha.php
293
- match: (?i)\bsha1(_file)?\b
294
- - name: support.function.iconv.php
295
- match: (?i)\b(iconv(_(s(tr(pos|len|rpos)|ubstr|et_encoding)|get_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\b
296
- - name: support.function.php_imap.php
297
- match: (?i)\bimap_(s(can|tatus|ort|ubscribe|e(t(_quota|flag_full|acl)|arch)|avebody)|header(s|info)|num_(recent|msg)|c(heck|l(ose|earflag_full)|reatemailbox)|t(hread|imeout)|open|delete(mailbox)?|8bit|u(n(subscribe|delete)|tf(7_(decode|encode)|8)|id)|ping|e(rrors|xpunge)|qprint|fetch(structure|header|_overview|body)|l(sub|ist|ast_error)|a(ppend|lerts)|r(e(namemailbox|open)|fc822_(parse_(headers|adrlist)|write_address))|get(subscribed|_quota(root)?|acl|mailboxes)|m(sgno|ime_header_decode|ail(_(co(py|mpose)|move)|boxmsginfo)?)|b(inary|ody(struct)?|ase64))\b
521
+ match: (?i)\bsha1(_file)?\b(?=\s*\()
522
+ - name: support.function.head.php
523
+ match: (?i)\b(set(cookie|rawcookie)|header(s_(sent|list))?)\b(?=\s*\()
524
+ - name: support.function.html.php
525
+ match: (?i)\b(html(specialchars(_decode)?|_entity_decode|entities)|get_html_translation_table)\b(?=\s*\()
526
+ - name: support.function.http.php
527
+ match: (?i)\bhttp_build_query\b(?=\s*\()
298
528
  - name: support.function.ibase_blobs.php
299
- match: (?i)\bibase_blob_(c(lose|ancel|reate)|i(nfo|mport)|open|echo|add|get)\b
529
+ match: (?i)\b(ibase_blob_(c(ancel|lose|reate)|i(nfo|mport)|open|echo|add|get)|fbird_blob_(c(ancel|lose|reate)|i(nfo|mport)|open|echo|add|get))\b(?=\s*\()
300
530
  - name: support.function.ibase_events.php
301
- match: (?i)\bibase_(set_event_handler|free_event_handler|wait_event)\b
531
+ match: (?i)\b(ibase_(set_event_handler|free_event_handler|wait_event)|fbird_(set_event_handler|free_event_handler|wait_event))\b(?=\s*\()
302
532
  - name: support.function.ibase_query.php
303
- match: (?i)\bibase_(n(um_(params|fields|rows)|ame_result)|p(aram_info|repare)|execute|query|f(ield_info|etch_(object|assoc|row)|ree_(query|result))|affected_rows)\b
533
+ match: (?i)\b(ibase_(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)|fbird_(n(um_(params|fields|rows)|ame_result)|execute|p(aram_info|repare)|query|f(ield_info|etch_(object|assoc|row)|ree_(query|result))|affected_rows))\b(?=\s*\()
304
534
  - name: support.function.ibase_service.php
305
- match: (?i)\bibase_(serv(ice_(detach|attach)|er_info)|d(elete_user|b_info)|add_user|restore|m(odify_user|aintain_db)|backup)\b
535
+ match: (?i)\b(ibase_(serv(ice_(detach|attach)|er_info)|d(elete_user|b_info)|add_user|restore|backup|m(odify_user|aintain_db))|fbird_(serv(ice_(detach|attach)|er_info)|d(elete_user|b_info)|add_user|restore|backup|m(odify_user|aintain_db)))\b(?=\s*\()
536
+ - name: support.function.iconv.php
537
+ match: (?i)\b(iconv(_(s(tr(pos|len|rpos)|ubstr|et_encoding)|get_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\b(?=\s*\()
538
+ - name: support.function.image.php
539
+ match: (?i)\b(image_type_to_(extension|mime_type)|getimagesize)\b(?=\s*\()
540
+ - name: support.function.info.php
541
+ match: (?i)\b(zend_logo_guid|php(credits|info|_(sapi_name|ini_scanned_files|uname|egg_logo_guid|logo_guid|real_logo_guid)|version))\b(?=\s*\()
306
542
  - name: support.function.interbase.php
307
- match: (?i)\bibase_(c(o(nnect|mmit(_ret)?)|lose)|trans|drop_db|pconnect|err(code|msg)|rollback(_ret)?|gen_id)\b
543
+ match: (?i)\b(ibase_(c(o(nnect|mmit(_ret)?)|lose)|trans|drop_db|pconnect|err(code|msg)|gen_id|rollback(_ret)?)|fbird_(c(o(nnect|mmit(_ret)?)|lose)|trans|drop_db|pconnect|err(code|msg)|gen_id|rollback(_ret)?))\b(?=\s*\()
544
+ - name: support.function.interface.php
545
+ match: (?i)\bcurl_(setopt(_array)?|c(opy_handle|lose)|init|e(rr(no|or)|xec)|version|getinfo)\b(?=\s*\()
546
+ - name: support.function.iptc.php
547
+ match: (?i)\biptc(parse|embed)\b(?=\s*\()
548
+ - name: support.function.lcg.php
549
+ match: (?i)\blcg_value\b(?=\s*\()
308
550
  - name: support.function.ldap.php
309
- match: (?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|d(n2ufn|elete)|8859_to_t61|unbind|parse_re(sult|ference)|e(rr(no|2str|or)|xplode_dn)|f(irst_(entry|attribute|reference)|ree_result)|list|add|re(name|ad)|get_(option|dn|entries|values(_len)?|attributes)|mod_(del|add|replace)|bind)\b
551
+ match: (?i)\bldap_(s(tart_tls|ort|e(t_(option|rebind_proc)|arch)|asl_bind)|next_(entry|attribute|reference)|c(o(nnect|unt_entries|mpare)|lose)|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(ify|_(del|add|replace))|bind)\b(?=\s*\()
552
+ - name: support.function.levenshtein.php
553
+ match: (?i)\blevenshtein\b(?=\s*\()
310
554
  - name: support.function.libxml.php
311
- match: (?i)\blibxml_(set_streams_context|clear_errors|use_internal_errors|get_(errors|last_error))\b
555
+ match: (?i)\blibxml_(set_streams_context|clear_errors|use_internal_errors|get_(errors|last_error))\b(?=\s*\()
556
+ - name: support.function.link.php
557
+ match: (?i)\b(symlink|link(info)?|readlink)\b(?=\s*\()
558
+ - name: support.function.mail.php
559
+ match: (?i)\b(ezmlm_hash|mail)\b(?=\s*\()
560
+ - name: support.function.main.php
561
+ match: (?i)\bset_time_limit\b(?=\s*\()
562
+ - name: support.function.math.php
563
+ match: (?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))\b(?=\s*\()
312
564
  - name: support.function.mbstring.php
313
- match: (?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))|p(arse_str|referred_mime_name)|encode_(numericentity|mimeheader)|l(ist_(encodings(_alias_names)?|mime_names)|anguage)|get_info)\b
314
- - name: support.function.php_mbregex.php
315
- match: (?i)\bmb_(split|ereg(i(_replace)?|_(search(_(setpos|init|pos|regs|get(pos|regs)))?|replace|match))?|regex_(set_options|encoding))\b
565
+ match: (?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)\b(?=\s*\()
316
566
  - name: support.function.mcrypt.php
317
- match: (?i)\bm(crypt_(c(fb|reate_iv|bc)|ofb|decrypt|e(nc(_(self_test|is_block_(algorithm(_mode)?|mode)|get_(supported_key_sizes|iv_size|key_size|algorithms_name|modes_name|block_size))|rypt)|cb)|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)\b
567
+ match: (?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)\b(?=\s*\()
568
+ - name: support.function.md5.php
569
+ match: (?i)\bmd5(_file)?\b(?=\s*\()
570
+ - name: support.function.metaphone.php
571
+ match: (?i)\bmetaphone\b(?=\s*\()
318
572
  - name: support.function.mhash.php
319
- match: (?i)\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\b
573
+ match: (?i)\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\b(?=\s*\()
574
+ - name: support.function.microtime.php
575
+ match: (?i)\b(get(timeofday|rusage)|microtime)\b(?=\s*\()
320
576
  - name: support.function.mime_magic.php
321
- match: (?i)\bmime_content_type\b
577
+ match: (?i)\bmime_content_type\b(?=\s*\()
322
578
  - name: support.function.ming.php
323
- match: (?i)\b(swf(prebuiltclip_init|videostream_init)|ming_(set(scale|cubicthreshold)|use(swfversion|constants)|keypress))\b
324
- - name: support.function.php_msql.php
325
- match: (?i)\bmsql_(select_db|num_(fields|rows)|c(onnect|lose|reate_db)|d(ata_seek|rop_db|b_query)|pconnect|error|query|f(ield_(seek|name|t(ype|able)|flags|len)|etch_(object|field|array|row)|ree_result)|list_(tables|dbs|fields)|affected_rows|result)\b
326
- - name: support.function.php_mssql.php
327
- match: (?i)\bmssql_(select_db|n(um_(fields|rows)|ext_result)|c(onnect|lose)|init|data_seek|pconnect|execute|query|f(ield_(seek|name|type|length)|etch_(object|field|a(ssoc|rray)|row|batch)|ree_(statement|result))|r(ows_affected|esult)|g(uid_string|et_last_message)|min_(error_severity|message_severity)|bind)\b
328
- - name: support.function.php_mysql.php
329
- match: (?i)\bmysql_(s(tat|elect_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|p(connect|ing)|e(scape_string|rr(no|or))|query|f(ield_(seek|name|t(ype|able)|flags|len)|etch_(object|field|lengths|a(ssoc|rray)|row)|ree_result)|list_(tables|dbs|processes|fields)|affected_rows|re(sult|al_escape_string)|get_(server_info|host_info|client_info|proto_info))\b
579
+ match: (?i)\b(swf(prebuiltclip_init|videostream_init)|ming_(set(scale|cubicthreshold)|use(swfversion|constants)|keypress))\b(?=\s*\()
580
+ - name: support.function.multi.php
581
+ match: (?i)\bcurl_multi_(select|close|in(it|fo_read)|exec|add_handle|getcontent|remove_handle)\b(?=\s*\()
330
582
  - name: support.function.mysqli_api.php
331
- match: (?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)\b
583
+ match: (?i)\b(s(sl_set|t(ore_result|at|mt(_init)?)|e(nd_long_data|t_(opt|local_infile_(handler|default))|lect_db))|c(ha(nge_user|racter_set_name)|ommit|lient_encoding)|n(um_rows|ext_result)|init|thread_safe|options|d(ump_debug_info|ebug|ata_seek)|use_result|e(scape_string|xecute)|p(ing|repare)|kill|f(ield_(seek|count)|etch(_(field(s|_direct)?|row))?|ree_result)|a(ttr_(set|get)|utocommit)|get_(server_info|client_info)|r(ollback|e(s(ult_metadata|et)|al_(connect|escape_string|query)))|bind_(param|result)|m(ysqli_(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(nd_long_data|t_(opt|local_infile_(handler|default))|lect_db)|qlstate)|n(um_(fields|rows)|ext_result)|c(ha(nge_user|racter_set_name)|ommit|l(ient_encoding|ose))|thread_(safe|id)|in(sert_id|it|fo)|options|d(ump_debug_info|ebug|ata_seek)|use_result|p(ing|aram_count|repare)|e(scape_string|rr(no|or)|xecute)|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|metadata)|bind_(param|result)|more_results)|ore_results))\b(?=\s*\()
332
584
  - name: support.function.mysqli_embedded.php
333
- match: (?i)\bmysqli_embedded_server_(start|end)\b
585
+ match: (?i)\b(embedded_server_(start|end)|mysqli_embedded_server_(start|end))\b(?=\s*\()
334
586
  - name: support.function.mysqli_nonapi.php
335
- match: (?i)\bmysqli_(s(tmt_get_warnings|et_charset)|connect(_err(no|or))?|query|fetch_(object|a(ssoc|rray))|get_(charset|warnings)|multi_query)\b
587
+ match: (?i)\b(set_charset|connect|query|fetch_(object|a(ssoc|rray))|get_(charset|warnings)|m(ysqli(_(s(tmt_get_warnings|et_charset)|connect(_err(no|or))?|query|fetch_(object|a(ssoc|rray))|get_(charset|warnings)|multi_query))?|ulti_query))\b(?=\s*\()
336
588
  - name: support.function.mysqli_repl.php
337
- match: (?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)\b
589
+ match: (?i)\b(slave_query|disable_r(eads_from_master|pl_parse)|enable_r(pl_parse|eads_from_master)|rpl_(p(arse_enabled|robe)|query_type)|m(ysqli_(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)|aster_query))\b(?=\s*\()
338
590
  - name: support.function.mysqli_report.php
339
- match: (?i)\bmysqli_report\b
591
+ match: (?i)\bmysqli_report\b(?=\s*\()
592
+ - name: support.function.namednodemap.php
593
+ match: (?i)\b(setNamedItem(NS)?|dom_namednodemap_(set_named_item(_ns)?|item|remove_named_item(_ns)?|get_named_item(_ns)?)|getNamedItem(NS)?|removeNamedItem(NS)?)\b(?=\s*\()
594
+ - name: support.function.namelist.php
595
+ match: (?i)\b(dom_namelist_get_name(space_uri)?|getName(spaceURI)?)\b(?=\s*\()
340
596
  - name: support.function.ncurses_functions.php
341
- match: (?i)\bncurses_(s(how_panel|cr(_(set|init|dump|restore)|l)|ta(nd(out|end)|rt_color)|lk_(set|noutrefresh|c(olor|lear)|touch|init|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)|l|apms)|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|win|ay_output)))|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(nd|cho(char)?|rase(char)?)|v(idattr|line)|k(illchar|ey(ok|pad))|qiflush|f(ilter|l(ushinp|ash))|w(stand(out|end)|hline|noutrefresh|c(olor_set|lear)|erase|vline|a(ttr(set|o(n|ff))|dd(str|ch))|refresh|getch|mo(use_trafo|ve)|border)|longname|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))|m(o(use(interval|_trafo|mask)|ve(_panel)?)|eta|v(hline|cur|inch|delch|vline|waddstr|add(str|nstr|ch(str|nstr)?)|getch))|b(o(ttom_panel|rder)|eep|kgd(set)?|audrate))\b
597
+ match: (?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)))\b(?=\s*\()
598
+ - name: support.function.node.php
599
+ match: (?i)\b(has(ChildNodes|Attributes)|setUserData|c(ompareDocumentPosition|loneNode)|normalize|i(s(S(upported|ameNode)|DefaultNamespace|EqualNode)|nsertBefore)|dom_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))|lookup(NamespaceUri|Prefix)|appendChild|re(placeChild|moveChild)|get(UserData|Feature))\b(?=\s*\()
600
+ - name: support.function.nodelist.php
601
+ match: (?i)\b(item|dom_nodelist_item)\b(?=\s*\()
602
+ - name: support.function.nsapi.php
603
+ match: (?i)\b(nsapi_(virtual|re(sponse_headers|quest_headers))|virtual|apache_re(sponse_headers|quest_headers)|getallheaders)\b(?=\s*\()
342
604
  - name: support.function.oci8_interface.php
343
- match: (?i)\boci(setbufferinglob|_(s(tatement_type|e(t_prefetch|rver_version))|n(um_(fields|rows)|ew_(c(o(nnect|llection)|ursor)|descriptor))|c(o(nnect|llection_(size|trim|element_(assign|get)|a(ssign|ppend)|max)|mmit)|lose|ancel)|internal_debug|define_by_name|p(connect|a(ssword_change|rse))|e(rror|xecute)|f(ield_(s(cale|ize)|name|type(_raw)?|is_null|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|write(_temporary)?|load|append|re(wind|ad))|r(ollback|esult)|bind_(array_by_name|by_name))|fetchinto|getbufferinglob)\b
344
- - name: support.function.birdstep.php
345
- match: (?i)\bbirdstep_(c(o(nnect|mmit)|lose)|off_autocommit|exec|f(ieldn(um|ame)|etch|reeresult)|autocommit|r(ollback|esult))\b
346
- - name: support.function.php_odbc.php
347
- match: (?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|p(connect|r(imarykeys|ocedure(s|columns)|epare))|e(rror(msg)?|xec(ute)?)|f(ield_(scale|n(um|ame)|type|len)|oreignkeys|etch_(into|object|array|row)|ree_result)|longreadlen|autocommit|r(ollback|esult(_all)?)|gettypeinfo|binmode))\b
605
+ match: (?i)\b(s(ize|e(tbuffering|ek)|ave(file)?)|import|t(ell|r(im|uncate))|oci(s(tatementtype|e(t(prefetch|bufferinglob)|rverversion)|avelob(file)?)|n(umcols|ew(c(ollection|ursor)|descriptor)|logon)|c(o(l(umn(s(cale|ize)|name|isnull|type(raw)?|precision)|l(size|trim|a(ssignelem|ppend)|getelem|max))|mmit)|ancel)|internaldebug|definebyname|_(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|c(ollection|ursor)|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))|e(rror|xecute)|p(logon|a(sswordchange|rse))|f(etch(statement|into)?|ree(statement|c(ollection|ursor)|desc))|lo(adlob|go(n|ff))|writelobtofile|r(o(wcount|llback)|esult)|getbufferinglob|bindbyname)|e(of|rase|xport)|f(lush|ree)|write(t(ofile|emporary))?|a(ssign(elem)?|ppend)|load|get(elem|buffering)|read|max)\b(?=\s*\()
348
606
  - name: support.function.openssl.php
349
- match: (?i)\bopenssl_(s(ign|eal)|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|open|p(ublic_(decrypt|encrypt)|k(cs7_(sign|decrypt|encrypt|verify)|ey_(new|export(_to_file)?|free|get_(details|p(ublic|rivate))))|rivate_(decrypt|encrypt))|error_string|verify|x509_(check(_private_key|purpose)|parse|export(_to_file)?|free|read))\b
607
+ match: (?i)\bopenssl_(s(ign|eal)|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|open|error_string|p(ublic_(decrypt|encrypt)|k(cs7_(sign|decrypt|encrypt|verify)|ey_(new|export(_to_file)?|free|get_(details|p(ublic|rivate))))|rivate_(decrypt|encrypt))|verify|free_key|get_p(ublickey|rivatekey)|x509_(check(_private_key|purpose)|parse|export(_to_file)?|free|read))\b(?=\s*\()
608
+ - name: support.function.output.php
609
+ match: (?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))))\b(?=\s*\()
610
+ - name: support.function.pack.php
611
+ match: (?i)\b(unpack|pack)\b(?=\s*\()
612
+ - name: support.function.pageinfo.php
613
+ match: (?i)\bget(lastmod|my(inode|uid|pid|gid))\b(?=\s*\()
350
614
  - name: support.function.pcntl.php
351
- match: (?i)\bpcntl_(s(ignal|etpriority)|exec|fork|w(stopsig|termsig|if(s(topped|ignaled)|exited)|exitstatus|ait(pid)?)|alarm|getpriority)\b
352
- - name: support.function.php_pcre.php
353
- match: (?i)\bpreg_(split|quote|last_error|replace(_callback)?|grep|match(_all)?)\b
615
+ match: (?i)\bpcntl_(s(ignal|etpriority)|exec|fork|w(stopsig|termsig|if(s(ignaled|topped)|exited)|exitstatus|ait(pid)?)|alarm|getpriority)\b(?=\s*\()
354
616
  - name: support.function.pdo.php
355
- match: (?i)\bpdo_drivers\b
617
+ match: (?i)\bpdo_drivers\b(?=\s*\()
356
618
  - name: support.function.pdo_dbh.php
357
- match: (?i)\bpdo_drivers\b
619
+ match: (?i)\bpdo_drivers\b(?=\s*\()
358
620
  - name: support.function.pgsql.php
359
- match: (?i)\bpg_(se(nd_(prepare|execute|query(_params)?)|t_(client_encoding|error_verbosity)|lect)|host|num_(fields|rows)|c(o(n(nect(ion_(status|reset|busy))?|vert)|py_(to|from))|l(ient_encoding|ose)|ancel_query)|t(ty|ra(nsaction_status|ce))|insert|options|d(elete|bname)|u(n(trace|escape_bytea)|pdate)|p(connect|ing|ort|ut_line|arameter_status|repare)|e(scape_(string|bytea)|nd_copy|xecute)|version|query(_params)?|f(ield_(size|n(um|ame)|t(ype(_oid)?|able)|is_null|prtlen)|etch_(object|a(ssoc|ll(_columns)?|rray)|r(ow|esult))|ree_result)|l(o_(seek|c(lose|reate)|tell|import|open|unlink|export|write|read(_all)?)|ast_(notice|oid|error))|affected_rows|result_(s(tatus|eek)|error(_field)?)|get_(notify|pid|result)|meta_data)\b
621
+ match: (?i)\bpg_(se(nd_(execute|prepare|query(_params)?)|t(clientencoding|_(client_encoding|error_verbosity))|lect)|host|num(_(fields|rows)|fields|rows)|c(o(n(nect(ion_(status|reset|busy))?|vert)|py_(to|from))|ancel_query|l(ient(_encoding|encoding)|ose)|mdtuples)|insert|t(ty|ra(nsaction_status|ce))|options|d(elete|bname)|u(n(trace|escape_bytea)|pdate)|e(scape_(string|bytea)|nd_copy|rrormessage|xec(ute)?)|p(connect|ing|ort|ut_line|arameter_status|repare)|version|f(ield(size|n(um|ame)|type|isnull|_(size|n(um|ame)|is_null|t(ype(_oid)?|able)|prtlen)|prtlen)|etch_(object|a(ssoc|ll(_columns)?|rray)|r(ow|esult))|ree(_result|result))|query(_params)?|affected_rows|l(o(c(lose|reate)|import|open|unlink|_(seek|c(lose|reate)|tell|import|open|unlink|export|write|read(_all)?)|export|write|read(all)?)|ast_(notice|oid|error))|get(_(notify|pid|result)|lastoid)|result(_(s(tatus|eek)|error(_field)?))?|meta_data)\b(?=\s*\()
622
+ - name: support.function.php_apache.php
623
+ match: (?i)\b(headers_(in|out)|s(ome_auth_required|e(t_(etag|last_modified)|rver_port)|atisfies)|is_initial_req|discard_request_body|update_mtime|err_headers_out|virtual|lo(okup_(uri|file)|g_error)|a(uth_(name|type)|pache_(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))))|r(un|emote_host)|getallheaders|me(thod_uri|ets_conditions))\b(?=\s*\()
624
+ - name: support.function.php_date.php
625
+ match: (?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)\b(?=\s*\()
626
+ - name: support.function.php_dom.php
627
+ match: (?i)\bdom_import_simplexml\b(?=\s*\()
628
+ - name: support.function.php_fbsql.php
629
+ match: (?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|_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))?\b(?=\s*\()
630
+ - name: support.function.php_ftp.php
631
+ match: (?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)|quit|f(put|get)|alloc|login|get(_option)?|r(ename|aw(list)?|mdir)|m(dtm|kdir))\b(?=\s*\()
632
+ - name: support.function.php_functions.php
633
+ match: (?i)\b(virtual|apache_(setenv|note|get(_(version|modules)|env)|response_headers)|getallheaders)\b(?=\s*\()
634
+ - name: support.function.php_imap.php
635
+ match: (?i)\bimap_(header(s|info)?|s(can|tatus|ort|ubscribe|e(t(_quota|flag_full|acl)|arch)|avebody)|c(heck|l(ose|earflag_full)|reate(mailbox)?)|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|text|_overview|body)|l(sub|ist(subscribed|mailbox)?|ast_error)|a(ppend|lerts)|get(subscribed|_quota(root)?|acl|mailboxes)|r(e(name(mailbox)?|open)|fc822_(parse_(headers|adrlist)|write_address))|m(sgno|ime_header_decode|ail(_(co(py|mpose)|move)|boxmsginfo)?)|b(inary|ody(struct)?|ase64))\b(?=\s*\()
636
+ - name: support.function.php_mbregex.php
637
+ match: (?i)\bmb(split|_(split|ereg(i(_replace)?|_(search(_(setpos|init|pos|get(pos|regs)|regs))?|replace|match))?|regex_(set_options|encoding))|ereg(i(_replace)?|_(search(_(setpos|init|pos|get(pos|regs)|regs))?|replace|match))?|regex_encoding)\b(?=\s*\()
638
+ - name: support.function.php_milter.php
639
+ match: (?i)\bsmfi_(set(timeout|flags|reply)|chgheader|delrcpt|add(header|rcpt)|replacebody|getsymval)\b(?=\s*\()
640
+ - name: support.function.php_msql.php
641
+ match: (?i)\bmsql(_(select(db|_db)|num(_(fields|rows)|fields|rows)|c(onnect|lose|reate(db|_db))|tablename|d(ata_seek|rop(db|_db)|b(name|_query))|error|pconnect|f(ield(name|t(ype|able)|_(seek|name|t(ype|able)|flags|len)|flags|len)|etch_(object|field|array|row)|ree(_result|result))|query|affected_rows|list(tables|dbs|_(tables|dbs|fields)|fields)|result))?\b(?=\s*\()
642
+ - name: support.function.php_mssql.php
643
+ match: (?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))\b(?=\s*\()
644
+ - name: support.function.php_mysql.php
645
+ match: (?i)\bmysql(_(s(tat|elect(db|_db))|num(_(fields|rows)|fields|rows)|c(onnect|l(ient_encoding|ose)|reate_db)|t(hread_id|able(name|_name))|in(sert_id|fo)|d(ata_seek|rop_db|b(name|_(name|query)))|unbuffered_query|e(scape_string|rr(no|or))|p(connect|ing)|f(ield(name|t(ype|able)|_(seek|name|t(ype|able)|flags|len)|flags|len)|etch_(object|field|lengths|a(ssoc|rray)|row)|ree(_result|result))|query|affected_rows|list(dbs|_(tables|dbs|processes|fields)|fields)|re(sult|al_escape_string)|get_(server_info|host_info|client_info|proto_info)))?\b(?=\s*\()
646
+ - name: support.function.php_odbc.php
647
+ match: (?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)|d(o|ata_source)|e(rror(msg)?|xec(ute)?)|p(connect|r(imarykeys|ocedure(s|columns)|epare))|f(ield_(scale|n(um|ame)|type|precision|len)|oreignkeys|etch_(into|object|array|row)|ree_result)|autocommit|longreadlen|gettypeinfo|r(ollback|esult(_all)?)|binmode))\b(?=\s*\()
648
+ - name: support.function.php_pcre.php
649
+ match: (?i)\bpreg_(split|quote|last_error|grep|replace(_callback)?|match(_all)?)\b(?=\s*\()
650
+ - name: support.function.php_spl.php
651
+ match: (?i)\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|parents))\b(?=\s*\()
652
+ - name: support.function.php_sybase_ct.php
653
+ match: (?i)\b(sybase_(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))|mssql_(se(t_message_handler|lect_db)|c(onnect|lose)|num_(fields|rows)|d(eadlock_retry_count|ata_seek)|unbuffered_query|pconnect|query|f(ield_seek|etch_(object|field|a(ssoc|rray)|row)|ree_result)|affected_rows|get_last_message|result|min_(server_severity|client_severity)))\b(?=\s*\()
654
+ - name: support.function.php_sybase_db.php
655
+ match: (?i)\b(sybase_(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))|mssql_min_(error_severity|message_severity))\b(?=\s*\()
656
+ - name: support.function.php_xmlwriter.php
657
+ match: (?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))\b(?=\s*\()
658
+ - name: support.function.php_zip.php
659
+ match: (?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))\b(?=\s*\()
360
660
  - name: support.function.posix.php
361
- match: (?i)\bposix_(s(trerror|et(sid|uid|pgid|e(uid|gid)|gid))|ctermid|t(tyname|imes)|i(satty|nitgroups)|uname|kill|access|get(sid|cwd|uid|_last_error|p(id|pid|w(nam|uid)|g(id|rp))|e(uid|gid)|login|rlimit|g(id|r(nam|oups|gid)))|mk(nod|fifo))\b
661
+ match: (?i)\bposix_(s(trerror|et(sid|uid|pgid|e(uid|gid)|gid))|ctermid|i(satty|nitgroups)|t(tyname|imes)|uname|errno|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))\b(?=\s*\()
662
+ - name: support.function.proc_open.php
663
+ match: (?i)\bproc_(close|terminate|open|get_status)\b(?=\s*\()
362
664
  - name: support.function.pspell.php
363
- match: (?i)\bpspell_(s(tore_replacement|uggest|ave_wordlist)|new(_(config|personal))?|c(heck|onfig_(save_repl|create|ignore|d(ict_dir|ata_dir)|personal|r(untogether|epl)|mode)|lear_session)|add_to_(session|personal))\b
665
+ match: (?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))\b(?=\s*\()
666
+ - name: support.function.quot_print.php
667
+ match: (?i)\bquoted_printable_decode\b(?=\s*\()
668
+ - name: support.function.rand.php
669
+ match: (?i)\b(srand|getrandmax|rand|mt_(srand|getrandmax|rand))\b(?=\s*\()
364
670
  - name: support.function.readline.php
365
- match: (?i)\breadline(_(c(ompletion_function|lear_history|allback_(handler_(install|remove)|read_char))|info|on_new_line|write_history|list_history|add_history|re(display|ad_history)))?\b
671
+ match: (?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)))?\b(?=\s*\()
366
672
  - name: support.function.recode.php
367
- match: (?i)\brecode_(string|file)\b
673
+ match: (?i)\brecode(_(string|file))?\b(?=\s*\()
674
+ - name: support.function.reg.php
675
+ match: (?i)\b(s(plit(i)?|ql_regcase)|ereg(i(_replace)?|_replace)?|msql_regcase)\b(?=\s*\()
368
676
  - name: support.function.session.php
369
- match: (?i)\bsession_(s(tart|et_(save_handler|cookie_params)|ave_path)|name|cache_(expire|limiter)|i(s_registered|d)|de(stroy|code)|un(set|register)|encode|write_close|reg(ister|enerate_id)|get_cookie_params|module_name)\b
677
+ match: (?i)\bsession_(s(tart|et_(save_handler|cookie_params)|ave_path)|c(ommit|ache_(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)\b(?=\s*\()
678
+ - name: support.function.sha1.php
679
+ match: (?i)\bsha1(_file)?\b(?=\s*\()
370
680
  - name: support.function.shmop.php
371
- match: (?i)\bshmop_(size|close|open|delete|write|read)\b
681
+ match: (?i)\bshmop_(size|close|delete|open|write|read)\b(?=\s*\()
372
682
  - name: support.function.simplexml.php
373
- match: (?i)\bsimplexml_(import_dom|load_(string|file))\b
683
+ match: (?i)\bsimplexml_(import_dom|load_(string|file))\b(?=\s*\()
374
684
  - name: support.function.skeleton.php
375
- match: (?i)\bconfirm_extname_compiled\b
685
+ match: (?i)\bconfirm_extname_compiled\b(?=\s*\()
376
686
  - name: support.function.snmp.php
377
- match: (?i)\b(snmp(set|2_(set|walk|real_walk|get(next)?)|_(set_(oid_output_format|enum_print|valueretrieval|quick_print)|read_mib|get_(valueretrieval|quick_print))|3_(set|walk|real_walk|get(next)?)|walk|realwalk|get(next)?)|php_snmpv3)\b
687
+ match: (?i)\b(snmp(set|2_(set|walk|real_walk|get(next)?)|3_(set|walk|real_walk|get(next)?)|_(set_(oid_(numeric_print|output_format)|enum_print|valueretrieval|quick_print)|read_mib|get_(valueretrieval|quick_print))|walk(oid)?|realwalk|get(next)?)|php_snmpv3)\b(?=\s*\()
378
688
  - name: support.function.sockets.php
379
- match: (?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|re(cv(from)?|ad)|get(sockname|_option|peername)|bind)\b
380
- - name: support.function.php_spl.php
381
- match: (?i)\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|parents))\b
689
+ match: (?i)\bsocket_(s(hutdown|trerror|e(nd(to)?|t(opt|_(nonblock|option|block))|lect))|c(onnect|l(ose|ear_error)|reate(_(pair|listen))?)|write|l(isten|ast_error)|accept|get(sockname|opt|_option|peername)|re(cv(from)?|ad)|bind)\b(?=\s*\()
690
+ - name: support.function.soundex.php
691
+ match: (?i)\bsoundex\b(?=\s*\()
382
692
  - name: support.function.spl_iterators.php
383
- match: (?i)\biterator_(count|to_array|apply)\b
693
+ match: (?i)\biterator_(count|to_array|apply)\b(?=\s*\()
384
694
  - name: support.function.sqlite.php
385
- match: (?i)\bsqlite_(s(ingle_query|eek)|has_prev|n(um_(fields|rows)|ext)|c(hanges|olumn|urrent|lose|reate_(function|aggregate))|open|u(nbuffered_query|df_(decode_binary|encode_binary))|p(open|rev)|e(scape_string|rror_string|xec)|valid|key|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)\b
386
- - name: support.function.array.php
387
- match: (?i)(=>)|\b(list|array|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))\b
388
- - name: support.function.assert.php
389
- match: (?i)\bassert(_options)?\b
390
- - name: support.function.base64.php
391
- match: (?i)\bbase64_(decode|encode)\b
392
- - name: support.function.basic_functions.php
393
- match: (?i)\b(s(ys_getloadavg|et_(include_path|magic_quotes_runtime)|leep)|highlight_(string|file)|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)|p(hp_strip_whitespace|utenv|arse_ini_file|rint_r)|error_(log|get_last)|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_(runtime|gpc))|protobyn(umber|ame)|env)|move_uploaded_file)\b
394
- - name: support.function.browscap.php
395
- match: (?i)\bget_browser\b
396
- - name: support.function.crc32.php
397
- match: (?i)\bcrc32\b
398
- - name: support.function.crypt.php
399
- match: (?i)\bcrypt\b
400
- - name: support.function.cyr_convert.php
401
- match: (?i)\bconvert_cyr_string\b
402
- - name: support.function.datetime.php
403
- match: (?i)\bstrptime\b
404
- - name: support.function.dir.php
405
- match: (?i)\b(scandir|c(h(dir|root)|losedir)|opendir|dir|re(winddir|addir)|g(etcwd|lob))\b
406
- - name: support.function.dl.php
407
- match: (?i)\bdl\b
408
- - name: support.function.dns.php
409
- match: (?i)\b(dns_(check_record|get_(record|mx))|gethostby(name(l)?|addr))\b
410
- - name: support.function.exec.php
411
- match: (?i)\b(s(hell_exec|ystem)|p(assthru|roc_nice)|e(scapeshell(cmd|arg)|xec))\b
412
- - name: support.function.file.php
413
- match: (?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|wind|a(dfile|lpath))|mdir)|get_meta_tags|mkdir)\b
414
- - name: support.function.filestat.php
415
- match: (?i)\b(stat|c(h(own|grp|mod)|learstatcache)|touch|is_(dir|executable|file|writable|link|readable)|disk_(total_space|free_space)|file(size|ctime|type|inode|owner|_exists|perms|atime|group|mtime)|l(stat|chgrp))\b
416
- - name: support.function.formatted_print.php
417
- match: (?i)\b(sprintf|printf|v(sprintf|printf|fprintf)|fprintf)\b
418
- - name: support.function.fsock.php
419
- match: (?i)\b(pfsockopen|fsockopen)\b
420
- - name: support.function.ftok.php
421
- match: (?i)\bftok\b
422
- - name: support.function.head.php
423
- match: (?i)\b(set(cookie|rawcookie)|header(s_(sent|list))?)\b
424
- - name: support.function.html.php
425
- match: (?i)\b(html(specialchars(_decode)?|_entity_decode|entities)|get_html_translation_table)\b
426
- - name: support.function.http.php
427
- match: (?i)\bhttp_build_query\b
428
- - name: support.function.image.php
429
- match: (?i)\b(image_type_to_(extension|mime_type)|getimagesize)\b
430
- - name: support.function.info.php
431
- match: (?i)\b(zend_logo_guid|php(credits|info|_(sapi_name|ini_scanned_files|uname|egg_logo_guid|logo_guid|real_logo_guid)|version))\b
432
- - name: support.function.iptc.php
433
- match: (?i)\biptc(parse|embed)\b
434
- - name: support.function.lcg.php
435
- match: (?i)\blcg_value\b
436
- - name: support.function.levenshtein.php
437
- match: (?i)\blevenshtein\b
438
- - name: support.function.link.php
439
- match: (?i)\b(symlink|link(info)?|readlink)\b
440
- - name: support.function.mail.php
441
- match: (?i)\b(ezmlm_hash|mail)\b
442
- - name: support.function.math.php
443
- match: (?i)\b(s(in(h)?|qrt)|h(ypot|exdec)|number_format|c(os(h)?|eil)|tan(h)?|is_(nan|infinite|finite)|octdec|de(c(hex|oct|bin)|g2rad)|p(i|ow)|exp(m1)?|f(loor|mod)|log(1(p|0))?|a(sin(h)?|cos(h)?|tan(h|2)?|bs)|r(ound|ad2deg)|b(indec|ase_convert))\b
444
- - name: support.function.md5.php
445
- match: (?i)\bmd5(_file)?\b
446
- - name: support.function.metaphone.php
447
- match: (?i)\bmetaphone\b
448
- - name: support.function.microtime.php
449
- match: (?i)\b(get(timeofday|rusage)|microtime)\b
450
- - name: support.function.pack.php
451
- match: (?i)\b(unpack|pack)\b
452
- - name: support.function.pageinfo.php
453
- match: (?i)\bget(lastmod|my(inode|uid|pid|gid))\b
454
- - name: support.function.proc_open.php
455
- match: (?i)\bproc_(close|terminate|open|get_status)\b
456
- - name: support.function.quot_print.php
457
- match: (?i)\bquoted_printable_decode\b
458
- - name: support.function.rand.php
459
- match: (?i)\b(srand|rand|getrandmax|mt_(srand|rand|getrandmax))\b
460
- - name: support.function.reg.php
461
- match: (?i)\b(s(plit(i)?|ql_regcase)|ereg(i(_replace)?|_replace)?)\b
462
- - name: support.function.sha1.php
463
- match: (?i)\bsha1(_file)?\b
464
- - name: support.function.soundex.php
465
- match: (?i)\bsoundex\b
695
+ match: (?i)\bsqlite_(has_(prev|more)|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_(s(tring|ingle)|column_types|object|a(ll|rray))|actory)|l(ib(encoding|version)|ast_(insert_rowid|error))|array_query|rewind|busy_timeout)\b(?=\s*\()
466
696
  - name: support.function.streamsfuncs.php
467
- match: (?i)\bstream_(s(ocket_(s(hutdown|e(ndto|rver))|client|pair|enable_crypto|accept|recvfrom|get_name)|e(t_(timeout|write_buffer|blocking)|lect))|co(ntext_(set_(option|params)|create|get_(options|default))|py_to_stream)|filter_(prepend|append|remove)|get_(contents|transports|wrappers|line|meta_data))\b
697
+ match: (?i)\bs(tream_(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))|ocket_(set_(timeout|blocking)|get_status)|et_file_buffer)\b(?=\s*\()
468
698
  - name: support.function.string.php
469
- match: (?i)\b(echo|print|s(scanf|tr(s(tr|pn)|natc(asecmp|mp)|c(spn|hr|oll)|t(o(upper|k|lower)|r)|i(str|p(slashes|cslashes|os|_tags))|_(s(huffle|plit)|ireplace|pad|word_count|r(ot13|ep(eat|lace)))|p(os|brk)|r(chr|ipos|pos|ev))|imilar_text|ubstr(_(co(unt|mpare)|replace))?|etlocale)|hebrev(c)?|nl(2br|_langinfo)|c(h(unk_split|r)|ount_chars)|trim|implode|ord|dirname|uc(first|words)|join|pa(thinfo|rse_str)|explode|quotemeta|wordwrap|l(trim|ocaleconv)|add(slashes|cslashes)|rtrim|money_format|b(in2hex|asename))\b
699
+ match: (?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(op|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))\b(?=\s*\()
700
+ - name: support.function.string_extend.php
701
+ match: (?i)\b(dom_string_extend_find_offset(16|32)|findOffset(16|32))\b(?=\s*\()
470
702
  - name: support.function.syslog.php
471
- match: (?i)\b(syslog|closelog|openlog|define_syslog_variables)\b
703
+ match: (?i)\b(syslog|closelog|openlog|define_syslog_variables)\b(?=\s*\()
704
+ - name: support.function.sysvmsg.php
705
+ match: (?i)\bmsg_(s(tat_queue|e(nd|t_queue))|re(ceive|move_queue)|get_queue)\b(?=\s*\()
706
+ - name: support.function.sysvsem.php
707
+ match: (?i)\bsem_(acquire|re(lease|move)|get)\b(?=\s*\()
708
+ - name: support.function.sysvshm.php
709
+ match: (?i)\bshm_(detach|put_var|attach|get_var|remove(_var)?)\b(?=\s*\()
710
+ - name: support.function.text.php
711
+ match: (?i)\b(splitText|is(ElementContentWhitespace|WhitespaceInElementContent)|dom_text_(split_text|is_whitespace_in_element_content|replace_whole_text)|replaceWholeText)\b(?=\s*\()
712
+ - name: support.function.tidy.php
713
+ match: (?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)))\b(?=\s*\()
714
+ - name: support.function.tokenizer.php
715
+ match: (?i)\btoken_(name|get_all)\b(?=\s*\()
472
716
  - name: support.function.type.php
473
- match: (?i)\b(s(trval|ettype)|i(s_(s(calar|tring)|nu(ll|meric)|callable|object|float|long|array|resource|bool)|ntval)|floatval|gettype)\b
717
+ match: (?i)\b(s(trval|ettype)|i(s_(s(calar|tring)|callable|nu(ll|meric)|int(eger)?|double|object|float|array|long|re(source|al)|bool)|ntval)|doubleval|floatval|gettype)\b(?=\s*\()
474
718
  - name: support.function.uniqid.php
475
- match: (?i)\buniqid\b
719
+ match: (?i)\buniqid\b(?=\s*\()
476
720
  - name: support.function.url.php
477
- match: (?i)\b(url(decode|encode)|parse_url|rawurl(decode|encode)|get_headers)\b
721
+ match: (?i)\b(url(decode|encode)|parse_url|get_headers|rawurl(decode|encode))\b(?=\s*\()
478
722
  - name: support.function.user_filters.php
479
- match: (?i)\bstream_(filter_register|get_filters|bucket_(new|prepend|append|make_writeable))\b
723
+ match: (?i)\bstream_(filter_register|get_filters|bucket_(new|prepend|append|make_writeable))\b(?=\s*\()
724
+ - name: support.function.userdatahandler.php
725
+ match: (?i)\b(handle|dom_userdatahandler_handle)\b(?=\s*\()
726
+ - name: support.function.userspace.php
727
+ match: (?i)\bstream_(wrapper_(unregister|re(store|gister))|register_wrapper)\b(?=\s*\()
480
728
  - name: support.function.uuencode.php
481
- match: (?i)\bconvert_uu(decode|encode)\b
729
+ match: (?i)\bconvert_uu(decode|encode)\b(?=\s*\()
482
730
  - name: support.function.var.php
483
- match: (?i)\b((un|is)set|empty|serialize|debug_zval_dump|unserialize|var_(dump|export)|memory_get_(usage|peak_usage))\b
731
+ match: (?i)\b(serialize|debug_zval_dump|unserialize|var_(dump|export)|memory_get_(usage|peak_usage))\b(?=\s*\()
484
732
  - name: support.function.versioning.php
485
- match: (?i)\bversion_compare\b
486
- - name: support.function.php_sybase_db.php
487
- match: (?i)\bsybase_(select_db|num_(fields|rows)|c(onnect|lose)|data_seek|pconnect|query|f(ield_seek|etch_(object|field|array|row)|ree_result)|affected_rows|result|get_last_message|min_(error_severity|message_severity))\b
488
- - name: support.function.php_sybase_ct.php
489
- match: (?i)\bsybase_(se(t_message_handler|lect_db)|num_(fields|rows)|c(onnect|lose)|d(eadlock_retry_count|ata_seek)|unbuffered_query|pconnect|query|f(ield_seek|etch_(object|field|a(ssoc|rray)|row)|ree_result)|affected_rows|result|get_last_message|min_(server_severity|client_severity))\b
490
- - name: support.function.sysvmsg.php
491
- match: (?i)\bmsg_(s(tat_queue|e(nd|t_queue))|re(ceive|move_queue)|get_queue)\b
492
- - name: support.function.sysvsem.php
493
- match: (?i)\bsem_(acquire|re(lease|move)|get)\b
494
- - name: support.function.sysvshm.php
495
- match: (?i)\bshm_(detach|put_var|attach|remove(_var)?|get_var)\b
496
- - name: support.function.tidy.php
497
- match: (?i)\btidy_(c(onfig_count|lean_repair)|is_x(html|ml)|diagnose|parse_(string|file)|error_count|warning_count|access_count|repair_(string|file)|get(opt|_(status|h(tml(_ver)?|ead)|config|o(utput|pt_doc)|error_buffer|r(oot|elease)|body)))\b
498
- - name: support.function.tokenizer.php
499
- match: (?i)\btoken_(name|get_all)\b
733
+ match: (?i)\bversion_compare\b(?=\s*\()
500
734
  - name: support.function.wddx.php
501
- match: (?i)\bwddx_(serialize_va(lue|rs)|deserialize|packet_(start|end)|add_vars)\b
735
+ match: (?i)\bwddx_(serialize_va(lue|rs)|deserialize|packet_(start|end)|add_vars)\b(?=\s*\()
502
736
  - name: support.function.xml.php
503
- match: (?i)\b(utf8_(decode|encode)|xml_(set_(start_namespace_decl_handler|notation_decl_handler|character_data_handler|object|default_handler|unparsed_entity_decl_handler|processing_instruction_handler|e(nd_namespace_decl_handler|lement_handler|xternal_entity_ref_handler))|parse(_into_struct|r_(set_option|create(_ns)?|free|get_option))?|error_string|get_(current_(column_number|line_number|byte_index)|error_code)))\b
737
+ match: (?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)))\b(?=\s*\()
504
738
  - name: support.function.xmlrpc-epi-php.php
505
- match: (?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)\b
506
- - name: support.function.php_xmlwriter.php
507
- match: (?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))\b
739
+ match: (?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)\b(?=\s*\()
740
+ - name: support.function.xpath.php
741
+ match: (?i)\b(dom_xpath_(evaluate|query|register_ns)|evaluate|registerNamespace)\b(?=\s*\()
508
742
  - name: support.function.xsltprocessor.php
509
- match: (?i)\bxsl_xsltprocessor_(set_parameter|has_exslt_support|transform_to_(doc|uri|xml)|import_stylesheet|re(gister_php_functions|move_parameter)|get_parameter)\b
510
- - name: support.function.php_zip.php
511
- match: (?i)\b(s(tat(Name|Index)|et(Comment(Name|Index)|ArchiveComment))|c(lose|reateEmptyDir)|zip_(close|open|entry_(name|c(ompress(ionmethod|edsize)|lose)|open|filesize|read)|read)|open|delete(Name|Index)|unchange(Name|Index|All)|locateName|addF(ile|romString)|rename(Name|Index)|get(Stream|NameIndex|Comment(Name|Index)|From(Name|Index)|ArchiveComment))\b
743
+ match: (?i)\b(hasExsltSupport|setParameter|transformTo(Xml|Doc|Uri)|importStylesheet|getParameter|re(gisterPHPFunctions|moveParameter)|xsl_xsltprocessor_(has_exslt_support|set_parameter|transform_to_(doc|uri|xml)|import_stylesheet|re(gister_php_functions|move_parameter)|get_parameter))\b(?=\s*\()
512
744
  - name: support.function.zlib.php
513
- match: (?i)\b(zlib_get_coding_type|ob_gzhandler|readgzfile|gz(compress|inflate|open|deflate|uncompress|encode|file))\b
514
- - name: support.function.main.php
515
- match: (?i)\bset_time_limit\b
516
- - name: support.function.output.php
517
- match: (?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))))\b
518
- - name: support.function.userspace.php
519
- match: (?i)\bstream_wrapper_(unregister|re(store|gister))\b
520
- - name: support.function.php_apache.php
521
- match: (?i)\b(virtual|apache_(setenv|note|child_terminate|lookup_uri|re(s(ponse_headers|et_timeout)|quest_headers)|get_(version|modules))|getallheaders)\b
522
- - name: support.function.php_functions.php
523
- match: (?i)\b(virtual|apache_(setenv|note|response_headers|get(_(version|modules)|env))|getallheaders)\b
524
- - name: support.function.php_functions.php
525
- match: (?i)\b(virtual|apache_(setenv|note|response_headers|get(_(version|modules)|env))|getallheaders)\b
526
- - name: support.function.php_apache.php
527
- match: (?i)\b(virtual|apache_(setenv|note|child_terminate|lookup_uri|get_(version|modules)|re(sponse_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|basic_auth_pw)))|getallheaders)\b
528
- - name: support.function.php_milter.php
529
- match: (?i)\bsmfi_(set(timeout|flags|reply)|chgheader|delrcpt|add(header|rcpt)|replacebody|getsymval)\b
530
- - name: support.function.nsapi.php
531
- match: (?i)\bnsapi_(virtual|re(sponse_headers|quest_headers))\b
532
- - name: support.class.builtin
533
- match: (?i)\b(Re(cursive(RegexIterator|CachingIterator|IteratorIterator|DirectoryIterator|FilterIterator|ArrayIterator)|flection(Method|Class|Object|Extension|P(arameter|roperty)|Function)?|gexIterator)|swf(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(Header|Server|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)|ateTime(Zone)?)|P(DO(Statement)?|arentIterator)|E(rrorException|mptyIterator|xception)|FilterIterator|LimitIterator|A(p(pendIterator|acheRequest)|rray(Iterator|Object)))\b
534
- - name: string.unquoted.heredoc.php
535
- endCaptures:
536
- "1":
537
- name: keyword.operator.heredoc.php
538
- "2":
539
- name: punctuation.definition.string.php
540
- begin: (<<<)([a-zA-Z_]+[a-zA-Z0-9_]*)
541
- beginCaptures:
745
+ match: (?i)\b(ob_gzhandler|zlib_get_coding_type|readgzfile|gz(compress|inflate|deflate|open|uncompress|encode|file))\b(?=\s*\()
746
+ - name: support.class.builtin.php
747
+ match: (?i)\b(Re(cursive(RegexIterator|CachingIterator|IteratorIterator|DirectoryIterator|FilterIterator|ArrayIterator)|flection(Method|Class|Object|Extension|P(arameter|roperty)|Function)?|gexIterator)|swf(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)))\b(?=\s*\()
748
+ regex-double-quoted:
749
+ name: string.regexp.double-quoted.php
750
+ endCaptures:
751
+ "0":
752
+ name: punctuation.definition.string.end.php
753
+ begin: (?x)"/ (?= (\\.|[^"/])+/[imsxeADSUXu]*" )
754
+ beginCaptures:
755
+ "0":
756
+ name: punctuation.definition.string.begin.php
757
+ end: (/)([imsxeADSUXu]*)(")
758
+ patterns:
759
+ - include: "#interpolation"
760
+ - name: string.regexp.arbitrary-repitition.php
761
+ captures:
542
762
  "1":
543
- name: punctuation.definition.string.php
544
- "2":
545
- name: keyword.operator.heredoc.php
546
- end: ^(\2)(;?)$
763
+ name: punctuation.definition.arbitrary-repitition.php
764
+ "3":
765
+ name: punctuation.definition.arbitrary-repitition.php
766
+ match: (\{)\d+(,\d+)?(\})
767
+ - name: string.regexp.character-class.php
768
+ captures:
769
+ "0":
770
+ name: punctuation.definition.character-class.php
771
+ begin: \[(?:\^?\])?
772
+ end: \]
547
773
  patterns:
548
- - include: "#var_complex_string_heredoc"
549
- - name: keyword.operator.comparison.php
550
- match: (===|==|!==|!=|<=|>=|<>|<|>)
551
- - name: keyword.operator.error-control.php
552
- match: (@)
553
- - name: keyword.operator.increment-decrement.php
554
- match: (\-\-|\+\+)
555
- - name: keyword.operator.arithmetic.php
556
- match: (\-|\+|\*|\/|%)
557
- - name: keyword.operator.logical.php
558
- match: (!|&&|\|\|)|\b(and|or|xor|as)\b
559
- - name: keyword.operator.string.php
560
- match: (\.=|\.)
561
- - name: keyword.operator.type.php
562
- match: \b(instanceof)\b
563
- - name: constant.numeric.php
564
- match: \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b
565
- - include: "#string-double-quoted"
566
- - include: "#string-single-quoted"
567
- - include: "#string-backtick"
568
- - include: "#var_global"
569
- - include: "#var_global_safer"
570
- - include: "#var_basic"
774
+ - name: constant.character.escape.php
775
+ match: \\.
776
+ - name: keyword.operator.regexp.php
777
+ match: "[$^+*]"
778
+ - name: constant.character.escape.php
779
+ match: \\.
780
+ interpolation:
781
+ patterns:
571
782
  - captures:
783
+ "6":
784
+ name: keyword.operator.index-start.php
785
+ "7":
786
+ name: constant.numeric.index.php
787
+ "8":
788
+ name: variable.other.index.php
789
+ "9":
790
+ name: punctuation.definition.variable.php
572
791
  "1":
573
- name: keyword.operator.php
792
+ name: variable.other.php
574
793
  "2":
794
+ name: punctuation.definition.variable.php
795
+ "4":
796
+ name: keyword.operator.class.php
797
+ "10":
798
+ name: keyword.operator.index-end.php
799
+ "5":
575
800
  name: variable.other.property.php
576
- match: (?<=[a-zA-Z0-9_\x{7f}-\x{ff}])(->)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?)\b
577
- - include: "#language_constant"
801
+ match: "(?x)\n\
802
+ \t\t\t\t\t\t((\\$)(?<name>[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*))\n\
803
+ \t\t\t\t\t\t(?:\n\
804
+ \t\t\t\t\t\t\t(->)\n\
805
+ \t\t\t\t\t\t\t(\\g<name>)\n\
806
+ \t\t\t\t\t\t\t|\n\
807
+ \t\t\t\t\t\t\t(\\[)\n\
808
+ \t\t\t\t\t\t\t\t(?:(\\d+|((\\$)\\g<name>)))\n\
809
+ \t\t\t\t\t\t\t(\\])\n\
810
+ \t\t\t\t\t\t)?\n\
811
+ \t\t\t\t\t\t"
812
+ comment: "Simple syntax: $foo, $foo[0], $foo[$bar], $foo->bar"
813
+ - captures:
814
+ "1":
815
+ name: variable.other.php
816
+ "2":
817
+ name: punctuation.definition.variable.php
818
+ "4":
819
+ name: punctuation.definition.variable.php
820
+ match: "(?x)\n\
821
+ \t\t\t\t\t\t((\\$\\{)(?<name>[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)(\\}))\n\
822
+ \t\t\t\t\t\t"
823
+ comment: "Simple syntax with braces: \"foo${bar}baz\""
824
+ - endCaptures:
825
+ "0":
826
+ name: punctuation.definition.variable.php
827
+ begin: (?=(?<regex>(?#simple syntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax with braces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complex syntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{
828
+ beginCaptures:
829
+ "0":
830
+ name: punctuation.definition.variable.php
831
+ end: \}
832
+ patterns:
833
+ - include: "#function-call"
834
+ - include: "#var_basic"
835
+ - include: "#object"
836
+ - include: "#numbers"
837
+ - name: keyword.operator.index-start.php
838
+ match: \[
839
+ - name: keyword.operator.index-end.php
840
+ match: \]
841
+ comment: |-
842
+ Complex syntax. It seems this now supports complex method calls, as of PHP5.
843
+ I've put wildcards into the function call parameter lists to handle this, but this may break the pattern.
844
+ It also might be better to disable it as I shouldn't imagine it's used often (hopefully) and it may confuse PHP4 users.
845
+ comment: http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing
846
+ function-call:
847
+ name: meta.function-call.php
848
+ match: "[A-Za-z_][A-Za-z_0-9]*(?=\\s*\\()"
849
+ constants:
850
+ patterns:
851
+ - name: constant.language.php
852
+ match: (?i)\b(TRUE|FALSE|NULL|__(FILE|FUNCTION|CLASS|METHOD|LINE)__|ON|OFF|YES|NO|NL|BR|TAB)\b
578
853
  - name: support.constant.core.php
579
854
  match: \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
580
855
  - name: support.constant.std.php
581
856
  match: \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
582
- var_basic:
583
- name: variable.other.php
857
+ - name: constant.other.php
858
+ match: "[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*"
859
+ comment: |-
860
+ In PHP, any identifier which is not a variable is taken to be a constant.
861
+ However, if there is no constant defined with the given name then a notice
862
+ is generated and the constant is assumed to have the value of its name.
863
+ var_global:
864
+ name: variable.other.global.php
584
865
  captures:
585
866
  "1":
586
867
  name: punctuation.definition.variable.php
587
- match: (\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?\b
588
- string-backtick:
589
- name: string.interpolated.php
590
- endCaptures:
591
- "0":
592
- name: punctuation.definition.string.end.php
593
- begin: `
594
- beginCaptures:
595
- "0":
596
- name: punctuation.definition.string.begin.php
597
- end: `
598
- patterns:
599
- - name: constant.character.escape.php
600
- match: \\.
601
- - include: "#var_complex_string_heredoc"
602
- var_global_safer:
603
- name: variable.other.global.safer.php
604
- captures:
605
- "2":
606
- name: punctuation.definition.variable.php
607
- match: ((\$)(GLOBALS|_(ENV|SERVER|SESSION)))|\b(global)\b
608
- var_complex_string_heredoc:
609
- name: variable.other.php
610
- match: (?<regex>(?#simple syntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>)?|(?#simple syntax with braces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complex syntax)\{(?<complex>\$(?<segment>\g<name>\g<indices>*)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\})
611
- string-single-quoted:
612
- name: string.quoted.single.php
868
+ match: (\$)(_(COOKIE|FILES|GET|POST|REQUEST))\b
869
+ sql-string-single-quoted:
870
+ name: string.quoted.single.sql.php
613
871
  endCaptures:
614
872
  "0":
615
873
  name: punctuation.definition.string.end.php
616
- begin: "'"
874
+ begin: "'\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER)\\b)"
617
875
  beginCaptures:
618
876
  "0":
619
877
  name: punctuation.definition.string.begin.php
620
878
  end: "'"
621
879
  patterns:
622
880
  - name: constant.character.escape.php
623
- match: \\.
624
- var_global:
625
- name: variable.other.global.php
881
+ match: \\[\\']
882
+ - include: source.sql
883
+ parameter-default-types:
884
+ patterns:
885
+ - include: "#strings"
886
+ - include: "#numbers"
887
+ - include: "#string-backtick"
888
+ - include: "#variables"
889
+ - name: keyword.operator.key.php
890
+ match: =>
891
+ - name: keyword.operator.assignment.php
892
+ match: "="
893
+ - name: storage.modifier.reference.php
894
+ match: "&(?=\\s*\\$)"
895
+ - name: meta.array.php
896
+ endCaptures:
897
+ "0":
898
+ name: punctuation.definition.array.end.php
899
+ begin: (array)(\()
900
+ beginCaptures:
901
+ "1":
902
+ name: support.function.construct.php
903
+ "2":
904
+ name: punctuation.definition.array.begin.php
905
+ end: \)
906
+ patterns:
907
+ - include: "#parameter-default-types"
908
+ - include: "#instantiation"
909
+ - include: "#constants"
910
+ object:
626
911
  captures:
627
912
  "1":
913
+ name: keyword.operator.class.php
914
+ "2":
915
+ name: meta.function-call.object.php
916
+ "3":
917
+ name: variable.other.property.php
918
+ "4":
628
919
  name: punctuation.definition.variable.php
629
- match: (\$)(_(COOKIE|FILES|GET|POST|REQUEST))\b
920
+ match: |-
921
+ (?x)(->)
922
+ (?:
923
+ ([A-Za-z_][A-Za-z_0-9]*)\s*\(
924
+ |
925
+ ((\$+)?[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
926
+ )?
630
927
  php_doc:
631
928
  patterns:
632
929
  - name: invalid.illegal.missing-asterisk.phpdoc.php
@@ -655,6 +952,9 @@ repository:
655
952
  "1":
656
953
  name: keyword.other.phpdoc.php
657
954
  match: \{(@(link)).+?\}
955
+ numbers:
956
+ name: constant.numeric.php
957
+ match: \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b
658
958
  uuid: 22986475-8CA5-11D9-AEDD-000D93C8BE28
659
959
  foldingStartMarker: (/\*|\{\s*$|<<<HTML)
660
960
  patterns:
@@ -664,15 +964,8 @@ patterns:
664
964
  begin: <\?(?i:php|=)?
665
965
  end: \?>
666
966
  patterns:
667
- - name: comment.line.number-sign.php
668
- captures:
669
- "1":
670
- name: punctuation.definition.comment.php
671
- match: (#).*?(?=\?>)
672
- - name: comment.line.double-slash.php
673
- captures:
674
- "1":
675
- name: punctuation.definition.comment.php
676
- match: (//).*?(?=\?>)
677
967
  - include: "#language"
678
968
  foldingStopMarker: (\*/|^\s*\}|^HTML;)
969
+ comment: "TODO:\n\
970
+ \xE2\x80\xA2 Try to improve parameters list syntax \xE2\x80\x93 scope numbers, \xE2\x80\x98=\xE2\x80\x99, \xE2\x80\x98,\xE2\x80\x99 and possibly be intelligent about entity ordering\n\
971
+ \xE2\x80\xA2 Is meta.function-call the correct scope? I've added it to my theme but by default it's not highlighted"