textpow1x 0.11.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -2
- data/Gemfile.lock +11 -10
- data/README.rdoc +4 -6
- data/Rakefile +2 -7
- data/lib/textpow.rb +4 -0
- data/lib/textpow/syntax/actionscript.syntax +97 -0
- data/lib/textpow/syntax/active4d.syntax +276 -0
- data/lib/textpow/syntax/active4d_html.syntax +311 -0
- data/lib/textpow/syntax/active4d_ini.syntax +50 -0
- data/lib/textpow/syntax/active4d_library.syntax +21 -0
- data/lib/textpow/syntax/ada.syntax +33 -0
- data/lib/textpow/syntax/antlr.syntax +151 -0
- data/lib/textpow/syntax/apache.syntax +191 -0
- data/lib/textpow/syntax/applescript.syntax +384 -0
- data/lib/textpow/syntax/asp.syntax +70 -0
- data/lib/textpow/syntax/asp_vb.net.syntax +129 -0
- data/lib/textpow/syntax/bibtex.syntax +151 -0
- data/lib/textpow/syntax/blog_html.syntax +41 -0
- data/lib/textpow/syntax/blog_markdown.syntax +42 -0
- data/lib/textpow/syntax/blog_text.syntax +27 -0
- data/lib/textpow/syntax/blog_textile.syntax +27 -0
- data/lib/textpow/syntax/broken/markdown.syntax +543 -0
- data/lib/textpow/syntax/broken/php.syntax +1253 -0
- data/lib/textpow/syntax/buggy/nemerle.syntax +74 -0
- data/lib/textpow/syntax/build.syntax +53 -0
- data/lib/textpow/syntax/bulletin_board.syntax +287 -0
- data/lib/textpow/syntax/c++.syntax +186 -0
- data/lib/textpow/syntax/c.syntax +414 -0
- data/lib/textpow/syntax/cake.syntax +55 -0
- data/lib/textpow/syntax/camlp4.syntax +36 -0
- data/lib/textpow/syntax/cm.syntax +32 -0
- data/lib/textpow/syntax/coffeescript.syntax +216 -0
- data/lib/textpow/syntax/coldfusion.syntax +119 -0
- data/lib/textpow/syntax/context_free.syntax +176 -0
- data/lib/textpow/syntax/cs.syntax +59 -0
- data/lib/textpow/syntax/css.syntax +195 -0
- data/lib/textpow/syntax/css_experimental.syntax +1925 -0
- data/lib/textpow/syntax/csv.syntax +68 -0
- data/lib/textpow/syntax/d.syntax +142 -0
- data/lib/textpow/syntax/diff.syntax +81 -0
- data/lib/textpow/syntax/dokuwiki.syntax +204 -0
- data/lib/textpow/syntax/dot.syntax +47 -0
- data/lib/textpow/syntax/doxygen.syntax +43 -0
- data/lib/textpow/syntax/dylan.syntax +62 -0
- data/lib/textpow/syntax/eiffel.syntax +78 -0
- data/lib/textpow/syntax/erlang.syntax +922 -0
- data/lib/textpow/syntax/f-script.syntax +80 -0
- data/lib/textpow/syntax/fortran.syntax +141 -0
- data/lib/textpow/syntax/fxscript.syntax +142 -0
- data/lib/textpow/syntax/greasemonkey.syntax +34 -0
- data/lib/textpow/syntax/gri.syntax +83 -0
- data/lib/textpow/syntax/groovy.syntax +191 -0
- data/lib/textpow/syntax/gtd.syntax +22 -0
- data/lib/textpow/syntax/gtdalt.syntax +143 -0
- data/lib/textpow/syntax/haml.syntax +88 -0
- data/lib/textpow/syntax/haskell.syntax +88 -0
- data/lib/textpow/syntax/html-asp.syntax +27 -0
- data/lib/textpow/syntax/html.syntax +362 -0
- data/lib/textpow/syntax/html_django.syntax +36 -0
- data/lib/textpow/syntax/html_for_asp.net.syntax +424 -0
- data/lib/textpow/syntax/html_mason.syntax +119 -0
- data/lib/textpow/syntax/html_rails.syntax +40 -0
- data/lib/textpow/syntax/html_tcl.syntax +26 -0
- data/lib/textpow/syntax/icalendar.syntax +32 -0
- data/lib/textpow/syntax/inform.syntax +48 -0
- data/lib/textpow/syntax/ini.syntax +55 -0
- data/lib/textpow/syntax/installer_distribution_script.syntax +77 -0
- data/lib/textpow/syntax/io.syntax +81 -0
- data/lib/textpow/syntax/java.syntax +211 -0
- data/lib/textpow/syntax/javaproperties.syntax +20 -0
- data/lib/textpow/syntax/javascript.syntax +256 -0
- data/lib/textpow/syntax/javascript_+_prototype.syntax +72 -0
- data/lib/textpow/syntax/javascript_+_prototype_bracketed.syntax +140 -0
- data/lib/textpow/syntax/jquery_javascript.syntax +114 -0
- data/lib/textpow/syntax/json.syntax +136 -0
- data/lib/textpow/syntax/languagedefinition.syntax +708 -0
- data/lib/textpow/syntax/latex.syntax +566 -0
- data/lib/textpow/syntax/latex_beamer.syntax +41 -0
- data/lib/textpow/syntax/latex_log.syntax +50 -0
- data/lib/textpow/syntax/latex_memoir.syntax +64 -0
- data/lib/textpow/syntax/lexflex.syntax +219 -0
- data/lib/textpow/syntax/lighttpd.syntax +54 -0
- data/lib/textpow/syntax/lilypond.syntax +492 -0
- data/lib/textpow/syntax/lisp.syntax +61 -0
- data/lib/textpow/syntax/literate_haskell.syntax +24 -0
- data/lib/textpow/syntax/logo.syntax +29 -0
- data/lib/textpow/syntax/logtalk.syntax +152 -0
- data/lib/textpow/syntax/lua.syntax +86 -0
- data/lib/textpow/syntax/m.syntax +142 -0
- data/lib/textpow/syntax/macports_portfile.syntax +163 -0
- data/lib/textpow/syntax/mail.syntax +118 -0
- data/lib/textpow/syntax/makefile.syntax +36 -0
- data/lib/textpow/syntax/man.syntax +17 -0
- data/lib/textpow/syntax/mediawiki.syntax +567 -0
- data/lib/textpow/syntax/mel.syntax +92 -0
- data/lib/textpow/syntax/mips.syntax +66 -0
- data/lib/textpow/syntax/mod_perl.syntax +50 -0
- data/lib/textpow/syntax/modula-3.syntax +47 -0
- data/lib/textpow/syntax/moinmoin.syntax +189 -0
- data/lib/textpow/syntax/mootools.syntax +572 -0
- data/lib/textpow/syntax/movable_type.syntax +162 -0
- data/lib/textpow/syntax/multimarkdown.syntax +39 -0
- data/lib/textpow/syntax/objective-c++.syntax +18 -0
- data/lib/textpow/syntax/objective-c.syntax +233 -0
- data/lib/textpow/syntax/ocaml.syntax +764 -0
- data/lib/textpow/syntax/ocamllex.syntax +167 -0
- data/lib/textpow/syntax/ocamlyacc.syntax +184 -0
- data/lib/textpow/syntax/old/YAML.yaml +160 -0
- data/lib/textpow/syntax/old/txt2tags.yaml +139 -0
- data/lib/textpow/syntax/opengl.syntax +14 -0
- data/lib/textpow/syntax/pascal.syntax +77 -0
- data/lib/textpow/syntax/perl.syntax +1113 -0
- data/lib/textpow/syntax/plain_text.syntax +32 -0
- data/lib/textpow/syntax/pmwiki.syntax +113 -0
- data/lib/textpow/syntax/postscript.syntax +114 -0
- data/lib/textpow/syntax/processing.syntax +106 -0
- data/lib/textpow/syntax/prolog.syntax +40 -0
- data/lib/textpow/syntax/property_list.syntax +635 -0
- data/lib/textpow/syntax/python.syntax +868 -0
- data/lib/textpow/syntax/python_django.syntax +21 -0
- data/lib/textpow/syntax/qmake_project.syntax +114 -0
- data/lib/textpow/syntax/qt_c++.syntax +26 -0
- data/lib/textpow/syntax/quake3_config.syntax +32 -0
- data/lib/textpow/syntax/r.syntax +81 -0
- data/lib/textpow/syntax/r_console.syntax +16 -0
- data/lib/textpow/syntax/ragel.syntax +201 -0
- data/lib/textpow/syntax/rd_r_documentation.syntax +91 -0
- data/lib/textpow/syntax/regexp.syntax +50 -0
- data/lib/textpow/syntax/regular_expressions_oniguruma.syntax +107 -0
- data/lib/textpow/syntax/regular_expressions_python.syntax +109 -0
- data/lib/textpow/syntax/release_notes.syntax +46 -0
- data/lib/textpow/syntax/remind.syntax +253 -0
- data/lib/textpow/syntax/restructuredtext.syntax +250 -0
- data/lib/textpow/syntax/rez.syntax +80 -0
- data/lib/textpow/syntax/ruby.syntax +1035 -0
- data/lib/textpow/syntax/ruby_experimental.syntax +145 -0
- data/lib/textpow/syntax/ruby_on_rails.syntax +88 -0
- data/lib/textpow/syntax/s5.syntax +69 -0
- data/lib/textpow/syntax/sass.syntax +45 -0
- data/lib/textpow/syntax/scheme.syntax +347 -0
- data/lib/textpow/syntax/scilab.syntax +41 -0
- data/lib/textpow/syntax/setext.syntax +147 -0
- data/lib/textpow/syntax/shell-unix-generic.syntax +384 -0
- data/lib/textpow/syntax/slate.syntax +149 -0
- data/lib/textpow/syntax/smarty.syntax +63 -0
- data/lib/textpow/syntax/sql.syntax +237 -0
- data/lib/textpow/syntax/sql_rails.syntax +18 -0
- data/lib/textpow/syntax/ssh-config.syntax +33 -0
- data/lib/textpow/syntax/standard_ml.syntax +121 -0
- data/lib/textpow/syntax/strings_file.syntax +39 -0
- data/lib/textpow/syntax/subversion_commit_message.syntax +36 -0
- data/lib/textpow/syntax/sweave.syntax +84 -0
- data/lib/textpow/syntax/swig.syntax +57 -0
- data/lib/textpow/syntax/tcl.syntax +152 -0
- data/lib/textpow/syntax/template_toolkit.syntax +121 -0
- data/lib/textpow/syntax/tex.syntax +86 -0
- data/lib/textpow/syntax/tex_math.syntax +49 -0
- data/lib/textpow/syntax/textile.syntax +215 -0
- data/lib/textpow/syntax/tsv.syntax +50 -0
- data/lib/textpow/syntax/twiki.syntax +241 -0
- data/lib/textpow/syntax/txt2tags.syntax +79 -0
- data/lib/textpow/syntax/vectorscript.syntax +57 -0
- data/lib/textpow/syntax/xhtml_1.0.syntax +4027 -0
- data/lib/textpow/syntax/xml.syntax +180 -0
- data/lib/textpow/syntax/xml_strict.syntax +92 -0
- data/lib/textpow/syntax/xsl.syntax +60 -0
- data/lib/textpow/syntax/yaml.syntax +160 -0
- data/lib/textpow/syntax/yui_javascript.syntax +176 -0
- data/lib/textpow/version.rb +2 -2
- data/spec/spec_helper.rb +2 -0
- data/spec/textpow_spec.rb +34 -0
- metadata +169 -5
- data/test/textpow_test.rb +0 -24
@@ -0,0 +1,1253 @@
|
|
1
|
+
---
|
2
|
+
name: PHP
|
3
|
+
firstLineMatch: ^#!.*php[0-9]{0,1}\b
|
4
|
+
scopeName: source.php
|
5
|
+
repository:
|
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: constant.character.escape.regex.php
|
25
|
+
match: (\\){1,2}[.$^\[\]{}]
|
26
|
+
comment: "Escaped from the regexp \xE2\x80\x93 there can also be 2 backslashes (since 1 will escape the first)"
|
27
|
+
- name: constant.character.escape.php
|
28
|
+
match: \\{1,2}[\\']
|
29
|
+
comment: "Escaped from the PHP string \xE2\x80\x93 there can also be 2 backslashes (since 1 will escape the first)"
|
30
|
+
- name: string.regexp.character-class.php
|
31
|
+
captures:
|
32
|
+
"0":
|
33
|
+
name: punctuation.definition.character-class.php
|
34
|
+
begin: \[(?:\^?\])?
|
35
|
+
end: \]
|
36
|
+
patterns:
|
37
|
+
- name: constant.character.escape.php
|
38
|
+
match: \\[\\'\[\]]
|
39
|
+
- name: keyword.operator.regexp.php
|
40
|
+
match: "[$^+*]"
|
41
|
+
variables:
|
42
|
+
patterns:
|
43
|
+
- include: "#var_global"
|
44
|
+
- include: "#var_global_safer"
|
45
|
+
- include: "#var_basic"
|
46
|
+
string-double-quoted:
|
47
|
+
name: string.quoted.double.php
|
48
|
+
endCaptures:
|
49
|
+
"0":
|
50
|
+
name: punctuation.definition.string.end.php
|
51
|
+
begin: "\""
|
52
|
+
contentName: meta.string-contents.quoted.double.php
|
53
|
+
beginCaptures:
|
54
|
+
"0":
|
55
|
+
name: punctuation.definition.string.begin.php
|
56
|
+
end: "\""
|
57
|
+
patterns:
|
58
|
+
- include: "#interpolation"
|
59
|
+
comment: "This contentName is just to allow the usage of \xE2\x80\x9Cselect scope\xE2\x80\x9D to select the string contents first, then the string with quotes"
|
60
|
+
language:
|
61
|
+
patterns:
|
62
|
+
- name: string.unquoted.heredoc.php
|
63
|
+
begin: (?=<<<\s*(HTML|XML|SQL)\s*$)
|
64
|
+
end: (?!<?<<\s*(HTML|XML|SQL)\s*$)
|
65
|
+
patterns:
|
66
|
+
- name: meta.embedded.html
|
67
|
+
endCaptures:
|
68
|
+
"0":
|
69
|
+
name: punctuation.section.embedded.end.php
|
70
|
+
"1":
|
71
|
+
name: keyword.operator.heredoc.php
|
72
|
+
"2":
|
73
|
+
name: punctuation.definition.string.php
|
74
|
+
begin: (<<<)\s*(HTML)\s*$\n?
|
75
|
+
contentName: text.html
|
76
|
+
beginCaptures:
|
77
|
+
"0":
|
78
|
+
name: punctuation.section.embedded.begin.php
|
79
|
+
"1":
|
80
|
+
name: punctuation.definition.string.php
|
81
|
+
"2":
|
82
|
+
name: keyword.operator.heredoc.php
|
83
|
+
end: ^(HTML)(;?)$\n?
|
84
|
+
patterns:
|
85
|
+
- include: text.html.basic
|
86
|
+
- include: "#interpolation"
|
87
|
+
- name: meta.embedded.xml
|
88
|
+
endCaptures:
|
89
|
+
"0":
|
90
|
+
name: punctuation.section.embedded.end.php
|
91
|
+
"1":
|
92
|
+
name: keyword.operator.heredoc.php
|
93
|
+
"2":
|
94
|
+
name: punctuation.definition.string.php
|
95
|
+
begin: (<<<)\s*(XML)\s*$\n?
|
96
|
+
contentName: text.xml
|
97
|
+
beginCaptures:
|
98
|
+
"0":
|
99
|
+
name: punctuation.section.embedded.begin.php
|
100
|
+
"1":
|
101
|
+
name: punctuation.definition.string.php
|
102
|
+
"2":
|
103
|
+
name: keyword.operator.heredoc.php
|
104
|
+
end: ^(XML)(;?)$\n?
|
105
|
+
patterns:
|
106
|
+
- include: text.xml
|
107
|
+
- include: "#interpolation"
|
108
|
+
- name: meta.embedded.sql
|
109
|
+
endCaptures:
|
110
|
+
"0":
|
111
|
+
name: punctuation.section.embedded.end.php
|
112
|
+
"1":
|
113
|
+
name: keyword.operator.heredoc.php
|
114
|
+
"2":
|
115
|
+
name: punctuation.definition.string.php
|
116
|
+
begin: (<<<)\s*(SQL)\s*$\n?
|
117
|
+
contentName: source.sql
|
118
|
+
beginCaptures:
|
119
|
+
"0":
|
120
|
+
name: punctuation.section.embedded.begin.php
|
121
|
+
"1":
|
122
|
+
name: punctuation.definition.string.php
|
123
|
+
"2":
|
124
|
+
name: keyword.operator.heredoc.php
|
125
|
+
end: ^(SQL)(;?)$\n?
|
126
|
+
patterns:
|
127
|
+
- include: source.sql
|
128
|
+
- include: "#interpolation"
|
129
|
+
- name: comment.block.documentation.phpdoc.php
|
130
|
+
captures:
|
131
|
+
"0":
|
132
|
+
name: punctuation.definition.comment.php
|
133
|
+
begin: /\*\*(?:#@\+)?\s*$
|
134
|
+
end: \*/
|
135
|
+
patterns:
|
136
|
+
- include: "#php_doc"
|
137
|
+
comment: |-
|
138
|
+
This now only highlights a docblock if the first line contains only /**
|
139
|
+
- this is to stop highlighting everything as invalid when people do comment banners with /******** ...
|
140
|
+
- Now matches /**#@+ too - used for docblock templates: http://manual.phpdoc.org/HTMLframesConverter/default/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html#basics.docblocktemplate
|
141
|
+
- name: comment.block.php
|
142
|
+
captures:
|
143
|
+
"0":
|
144
|
+
name: punctuation.definition.comment.php
|
145
|
+
begin: /\*
|
146
|
+
end: \*/
|
147
|
+
- name: comment.line.double-slash.php
|
148
|
+
captures:
|
149
|
+
"1":
|
150
|
+
name: punctuation.definition.comment.php
|
151
|
+
match: (//).*?($\n?|(?=\?>))
|
152
|
+
- name: comment.line.number-sign.php
|
153
|
+
captures:
|
154
|
+
"1":
|
155
|
+
name: punctuation.definition.comment.php
|
156
|
+
match: (#).*?($\n?|(?=\?>))
|
157
|
+
- name: meta.interface.php
|
158
|
+
begin: ^(?i)\s*(interface)\s+([a-z0-9_]+)\s*(extends)?\s*
|
159
|
+
beginCaptures:
|
160
|
+
"1":
|
161
|
+
name: storage.type.interface.php
|
162
|
+
"2":
|
163
|
+
name: entity.name.type.interface.php
|
164
|
+
"3":
|
165
|
+
name: storage.modifier.extends.php
|
166
|
+
end: $
|
167
|
+
patterns:
|
168
|
+
- name: entity.other.inherited-class.php
|
169
|
+
match: "[a-zA-Z0-9_]+"
|
170
|
+
- name: meta.class.php
|
171
|
+
begin: (?i)^\s*(abstract|final)?\s*(class)\s+([a-z0-9_]+)\s*
|
172
|
+
beginCaptures:
|
173
|
+
"1":
|
174
|
+
name: storage.modifier.abstract.php
|
175
|
+
"2":
|
176
|
+
name: storage.type.class.php
|
177
|
+
"3":
|
178
|
+
name: entity.name.type.class.php
|
179
|
+
end: $
|
180
|
+
patterns:
|
181
|
+
- captures:
|
182
|
+
"1":
|
183
|
+
name: storage.modifier.extends.php
|
184
|
+
"2":
|
185
|
+
name: entity.other.inherited-class.php
|
186
|
+
match: (?i:(extends))\s+([a-zA-Z0-9_]+)\s*
|
187
|
+
- begin: (?i:(implements))\s+([a-zA-Z0-9_]+)\s*
|
188
|
+
beginCaptures:
|
189
|
+
"1":
|
190
|
+
name: storage.modifier.implements.php
|
191
|
+
"2":
|
192
|
+
name: support.class.implements.php
|
193
|
+
end: (?=\s*\b(?i:(extends)))|$
|
194
|
+
patterns:
|
195
|
+
- captures:
|
196
|
+
"1":
|
197
|
+
name: support.class.implements.php
|
198
|
+
match: ,\s*([a-zA-Z0-9_]+)\s*
|
199
|
+
- name: keyword.control.php
|
200
|
+
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
|
201
|
+
- name: meta.include.php
|
202
|
+
begin: (?i)\b((?:require|include)(?:_once)?)\b\s*
|
203
|
+
beginCaptures:
|
204
|
+
"1":
|
205
|
+
name: keyword.control.import.include.php
|
206
|
+
end: (?=\s|;|$)
|
207
|
+
patterns:
|
208
|
+
- include: "#language"
|
209
|
+
- name: keyword.control.exception.php
|
210
|
+
match: \b(catch|try|throw|exception)|([a-zA-Z_]*Exception)\b
|
211
|
+
- name: meta.function.php
|
212
|
+
endCaptures:
|
213
|
+
"1":
|
214
|
+
name: punctuation.definition.parameters.end.php
|
215
|
+
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*(\()
|
216
|
+
contentName: meta.function.arguments.php
|
217
|
+
beginCaptures:
|
218
|
+
"6":
|
219
|
+
name: punctuation.definition.parameters.begin.php
|
220
|
+
"1":
|
221
|
+
name: storage.modifier.php
|
222
|
+
"2":
|
223
|
+
name: storage.type.function.php
|
224
|
+
"3":
|
225
|
+
name: storage.modifier.reference.php
|
226
|
+
"4":
|
227
|
+
name: support.function.magic.php
|
228
|
+
"5":
|
229
|
+
name: entity.name.function.php
|
230
|
+
end: \)
|
231
|
+
patterns:
|
232
|
+
- name: meta.function.argument.array.php
|
233
|
+
endCaptures:
|
234
|
+
"0":
|
235
|
+
name: punctuation.definition.array.end.php
|
236
|
+
begin: "(?x)\n\
|
237
|
+
\t\t\t\t\t\t\t\t\t\\s*(array) # Typehint\n\
|
238
|
+
\t\t\t\t\t\t\t\t\t\\s*(&)? \t\t\t\t\t# Reference\n\
|
239
|
+
\t\t\t\t\t\t\t\t\t\\s*((\\$+)[a-zA-Z_\\x7F-\\xFF][a-zA-Z0-9_\\x7F-\\xFF]*) # The variable name\n\
|
240
|
+
\t\t\t\t\t\t\t\t\t\\s*(=)\t# A default value\n\
|
241
|
+
\t\t\t\t\t\t\t\t\t\\s*(array)\\s*(\\()\n\
|
242
|
+
\t\t\t\t\t\t\t\t\t"
|
243
|
+
contentName: meta.array.php
|
244
|
+
beginCaptures:
|
245
|
+
"6":
|
246
|
+
name: support.function.construct.php
|
247
|
+
"7":
|
248
|
+
name: punctuation.definition.array.begin.php
|
249
|
+
"1":
|
250
|
+
name: storage.type.php
|
251
|
+
"2":
|
252
|
+
name: storage.modifier.php
|
253
|
+
"3":
|
254
|
+
name: variable.other.php
|
255
|
+
"4":
|
256
|
+
name: punctuation.definition.variable.php
|
257
|
+
"5":
|
258
|
+
name: keyword.operator.assignment.php
|
259
|
+
end: \)
|
260
|
+
patterns:
|
261
|
+
- include: "#strings"
|
262
|
+
- include: "#numbers"
|
263
|
+
- name: meta.function.argument.array.php
|
264
|
+
captures:
|
265
|
+
"6":
|
266
|
+
name: constant.language.php
|
267
|
+
"7":
|
268
|
+
name: invalid.illegal.non-null-typehinted.php
|
269
|
+
"1":
|
270
|
+
name: storage.type.php
|
271
|
+
"2":
|
272
|
+
name: storage.modifier.php
|
273
|
+
"3":
|
274
|
+
name: variable.other.php
|
275
|
+
"4":
|
276
|
+
name: punctuation.definition.variable.php
|
277
|
+
"5":
|
278
|
+
name: keyword.operator.assignment.php
|
279
|
+
match: "(?x)\n\
|
280
|
+
\t\t\t\t\t\t\t\t\t\\s*(array) # Typehint\n\
|
281
|
+
\t\t\t\t\t\t\t\t\t\\s*(&)? \t\t\t\t\t# Reference\n\
|
282
|
+
\t\t\t\t\t\t\t\t\t\\s*((\\$+)[a-zA-Z_\\x7F-\\xFF][a-zA-Z0-9_\\x7F-\\xFF]*) # The variable name\n\
|
283
|
+
\t\t\t\t\t\t\t\t\t(?:\n\
|
284
|
+
\t\t\t\t\t\t\t\t\t\t\\s*(=)\t# A default value\n\
|
285
|
+
\t\t\t\t\t\t\t\t\t\t\\s*(?i:\n\
|
286
|
+
\t\t\t\t\t\t\t\t\t\t\t(NULL)\n\
|
287
|
+
\t\t\t\t\t\t\t\t\t\t\t|\n\
|
288
|
+
\t\t\t\t\t\t\t\t\t\t\t(\\S.*?)\n\
|
289
|
+
\t\t\t\t\t\t\t\t\t\t\t)?\n\
|
290
|
+
\t\t\t\t\t\t\t\t\t)?\n\
|
291
|
+
\t\t\t\t\t\t\t\t\t\\s*(?=,|\\)) # A closing parentheses (end of argument list) or a comma\n\
|
292
|
+
\t\t\t\t\t\t\t\t\t"
|
293
|
+
- name: meta.function.argument.typehinted.php
|
294
|
+
captures:
|
295
|
+
"6":
|
296
|
+
name: constant.language.php
|
297
|
+
"7":
|
298
|
+
name: invalid.illegal.non-null-typehinted.php
|
299
|
+
"1":
|
300
|
+
name: support.class.php
|
301
|
+
"2":
|
302
|
+
name: storage.modifier.php
|
303
|
+
"3":
|
304
|
+
name: variable.other.php
|
305
|
+
"4":
|
306
|
+
name: punctuation.definition.variable.php
|
307
|
+
"5":
|
308
|
+
name: keyword.operator.assignment.php
|
309
|
+
match: "(?x)\n\
|
310
|
+
\t\t\t\t\t\t\t\t\t\\s*([A-Za-z_][A-Za-z_0-9]*) # Typehinted class name\n\
|
311
|
+
\t\t\t\t\t\t\t\t\t\\s*(&)? \t\t\t\t\t# Reference\n\
|
312
|
+
\t\t\t\t\t\t\t\t\t\\s*((\\$+)[a-zA-Z_\\x7F-\\xFF][a-zA-Z0-9_\\x7F-\\xFF]*) # The variable name\n\
|
313
|
+
\t\t\t\t\t\t\t\t\t(?:\n\
|
314
|
+
\t\t\t\t\t\t\t\t\t\t\\s*(=)\t# A default value\n\
|
315
|
+
\t\t\t\t\t\t\t\t\t\t\\s*(?i:\n\
|
316
|
+
\t\t\t\t\t\t\t\t\t\t\t(NULL)\n\
|
317
|
+
\t\t\t\t\t\t\t\t\t\t\t|\n\
|
318
|
+
\t\t\t\t\t\t\t\t\t\t\t(\\S.*?)\n\
|
319
|
+
\t\t\t\t\t\t\t\t\t\t\t)?\n\
|
320
|
+
\t\t\t\t\t\t\t\t\t)?\n\
|
321
|
+
\t\t\t\t\t\t\t\t\t\\s*(?=,|\\)) # A closing parentheses (end of argument list) or a comma\n\
|
322
|
+
\t\t\t\t\t\t\t\t\t"
|
323
|
+
- name: meta.function.argument.no-default.php
|
324
|
+
captures:
|
325
|
+
"1":
|
326
|
+
name: storage.modifier.php
|
327
|
+
"2":
|
328
|
+
name: variable.other.php
|
329
|
+
"3":
|
330
|
+
name: punctuation.definition.variable.php
|
331
|
+
match: (\s*&)?\s*((\$+)[a-zA-Z_\x7F-\xFF][a-zA-Z0-9_\x7F-\xFF]*)\s*(?=,|\))
|
332
|
+
- name: meta.function.argument.default.php
|
333
|
+
captures:
|
334
|
+
"1":
|
335
|
+
name: storage.modifier.php
|
336
|
+
"2":
|
337
|
+
name: variable.other.php
|
338
|
+
"3":
|
339
|
+
name: punctuation.definition.variable.php
|
340
|
+
"4":
|
341
|
+
name: keyword.operator.assignment.php
|
342
|
+
begin: (\s*&)?\s*((\$+)[a-zA-Z_\x7F-\xFF][a-zA-Z0-9_\x7F-\xFF]*)(?:\s*(=)\s*)\s*
|
343
|
+
end: (?=,|\))
|
344
|
+
patterns:
|
345
|
+
- include: "#parameter-default-types"
|
346
|
+
- name: comment.block.php
|
347
|
+
captures:
|
348
|
+
"0":
|
349
|
+
name: punctuation.definition.comment.php
|
350
|
+
begin: /\*
|
351
|
+
end: \*/
|
352
|
+
- name: storage.type.php
|
353
|
+
match: (?i)\b(real|double|float|int(eger)?|bool(ean)?|string|class|clone|var|function|interface|parent|self|object)\b
|
354
|
+
- name: storage.modifier.php
|
355
|
+
match: (?i)\b(global|abstract|const|extends|implements|final|p(r(ivate|otected)|ublic)|static)\b
|
356
|
+
- include: "#object"
|
357
|
+
- captures:
|
358
|
+
"1":
|
359
|
+
name: keyword.operator.class.php
|
360
|
+
"2":
|
361
|
+
name: meta.function-call.static.php
|
362
|
+
"3":
|
363
|
+
name: variable.other.class.php
|
364
|
+
"4":
|
365
|
+
name: punctuation.definition.variable.php
|
366
|
+
"5":
|
367
|
+
name: constant.other.class.php
|
368
|
+
match: |-
|
369
|
+
(?x)(::)
|
370
|
+
(?:
|
371
|
+
([A-Za-z_][A-Za-z_0-9]*)\s*\(
|
372
|
+
|
|
373
|
+
((\$+)[a-zA-Z_\x7F-\xFF][a-zA-Z0-9_\x7F-\xFF]*)
|
374
|
+
|
|
375
|
+
([a-zA-Z_\x7F-\xFF][a-zA-Z0-9_\x7F-\xFF]*)
|
376
|
+
)?
|
377
|
+
- include: "#support"
|
378
|
+
- name: string.unquoted.heredoc.php
|
379
|
+
endCaptures:
|
380
|
+
"1":
|
381
|
+
name: keyword.operator.heredoc.php
|
382
|
+
"2":
|
383
|
+
name: punctuation.definition.string.php
|
384
|
+
begin: (<<<)\s*([a-zA-Z_]+[a-zA-Z0-9_]*)
|
385
|
+
beginCaptures:
|
386
|
+
"1":
|
387
|
+
name: punctuation.definition.string.php
|
388
|
+
"2":
|
389
|
+
name: keyword.operator.heredoc.php
|
390
|
+
end: ^(\2)(;?)$
|
391
|
+
patterns:
|
392
|
+
- include: "#interpolation"
|
393
|
+
- name: keyword.operator.key.php
|
394
|
+
match: =>
|
395
|
+
- name: storage.modifier.reference.php
|
396
|
+
match: "&(?=\\s*(\\$|new|[A-Za-z_][A-Za-z_0-9]+(?=\\s*\\()))"
|
397
|
+
- name: punctuation.terminator.expression.php
|
398
|
+
match: ;
|
399
|
+
- name: keyword.operator.error-control.php
|
400
|
+
match: (@)
|
401
|
+
- name: keyword.operator.increment-decrement.php
|
402
|
+
match: (\-\-|\+\+)
|
403
|
+
- name: keyword.operator.arithmetic.php
|
404
|
+
match: (\-|\+|\*|/|%)
|
405
|
+
- name: keyword.operator.logical.php
|
406
|
+
match: (?i)(!|&&|\|\|)|\b(and|or|xor|as)\b
|
407
|
+
- name: keyword.operator.bitwise.php
|
408
|
+
match: <<|>>|~|\^|&|\|
|
409
|
+
- name: keyword.operator.comparison.php
|
410
|
+
match: (===|==|!==|!=|<=|>=|<>|<|>)
|
411
|
+
- name: keyword.operator.string.php
|
412
|
+
match: (\.=|\.)
|
413
|
+
- name: keyword.operator.assignment.php
|
414
|
+
match: "="
|
415
|
+
- captures:
|
416
|
+
"1":
|
417
|
+
name: keyword.operator.type.php
|
418
|
+
"2":
|
419
|
+
name: support.class.php
|
420
|
+
match: (?i)\b(instanceof)\b(?:\s+(\w+))?
|
421
|
+
- include: "#numbers"
|
422
|
+
- include: "#strings"
|
423
|
+
- include: "#string-backtick"
|
424
|
+
- include: "#function-call"
|
425
|
+
- include: "#variables"
|
426
|
+
- captures:
|
427
|
+
"1":
|
428
|
+
name: keyword.operator.php
|
429
|
+
"2":
|
430
|
+
name: variable.other.property.php
|
431
|
+
match: (?<=[a-zA-Z0-9_\x7F}-\xFF])(->)([a-zA-Z_\x7F-\xFF][a-zA-Z0-9_\x7F-\xFF]*?)\b
|
432
|
+
- include: "#instantiation"
|
433
|
+
- include: "#constants"
|
434
|
+
instantiation:
|
435
|
+
captures:
|
436
|
+
"1":
|
437
|
+
name: keyword.other.new.php
|
438
|
+
"2":
|
439
|
+
name: support.class.php
|
440
|
+
"3":
|
441
|
+
name: support.class.php
|
442
|
+
match: (?i)\b(new)\s+(\w+)|(\w+)(?=::)
|
443
|
+
var_basic:
|
444
|
+
name: variable.other.php
|
445
|
+
captures:
|
446
|
+
"1":
|
447
|
+
name: punctuation.definition.variable.php
|
448
|
+
match: |-
|
449
|
+
(?x)
|
450
|
+
(\$+)[a-zA-Z_\x7F}-\xFF]
|
451
|
+
[a-zA-Z0-9_\x7F-\xFF]*?\b
|
452
|
+
string-backtick:
|
453
|
+
name: string.interpolated.php
|
454
|
+
endCaptures:
|
455
|
+
"0":
|
456
|
+
name: punctuation.definition.string.end.php
|
457
|
+
begin: `
|
458
|
+
beginCaptures:
|
459
|
+
"0":
|
460
|
+
name: punctuation.definition.string.begin.php
|
461
|
+
end: `
|
462
|
+
patterns:
|
463
|
+
- name: constant.character.escape.php
|
464
|
+
match: \\.
|
465
|
+
- include: "#interpolation"
|
466
|
+
var_global_safer:
|
467
|
+
name: variable.other.global.safer.php
|
468
|
+
captures:
|
469
|
+
"2":
|
470
|
+
name: punctuation.definition.variable.php
|
471
|
+
match: ((\$)(GLOBALS|_(ENV|SERVER|SESSION)))|\b(global)\b
|
472
|
+
strings:
|
473
|
+
patterns:
|
474
|
+
- include: "#regex-double-quoted"
|
475
|
+
- include: "#sql-string-double-quoted"
|
476
|
+
- include: "#string-double-quoted"
|
477
|
+
- include: "#regex-single-quoted"
|
478
|
+
- include: "#sql-string-single-quoted"
|
479
|
+
- include: "#string-single-quoted"
|
480
|
+
string-single-quoted:
|
481
|
+
name: string.quoted.single.php
|
482
|
+
endCaptures:
|
483
|
+
"0":
|
484
|
+
name: punctuation.definition.string.end.php
|
485
|
+
begin: "'"
|
486
|
+
contentName: meta.string-contents.quoted.single.php
|
487
|
+
beginCaptures:
|
488
|
+
"0":
|
489
|
+
name: punctuation.definition.string.begin.php
|
490
|
+
end: "'"
|
491
|
+
patterns:
|
492
|
+
- name: constant.character.escape.php
|
493
|
+
match: \\[\\']
|
494
|
+
sql-string-double-quoted:
|
495
|
+
name: string.quoted.double.sql.php
|
496
|
+
endCaptures:
|
497
|
+
"0":
|
498
|
+
name: punctuation.definition.string.end.php
|
499
|
+
begin: "\"\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER)\\b)"
|
500
|
+
contentName: source.sql.embedded.php
|
501
|
+
beginCaptures:
|
502
|
+
"0":
|
503
|
+
name: punctuation.definition.string.begin.php
|
504
|
+
end: "\""
|
505
|
+
patterns:
|
506
|
+
- name: comment.line.number-sign.sql
|
507
|
+
match: "#(\\\\\"|[^\"])*(?=\"|$\\n?)"
|
508
|
+
- name: comment.line.double-dash.sql
|
509
|
+
match: --(\\"|[^"])*(?="|$\n?)
|
510
|
+
- name: string.quoted.single.unclosed.sql
|
511
|
+
begin: "'(?=[^']*?\")"
|
512
|
+
end: (?=")
|
513
|
+
patterns:
|
514
|
+
- name: constant.character.escape.php
|
515
|
+
match: \\[\\']
|
516
|
+
comment: |-
|
517
|
+
Unclosed strings must be captured to avoid them eating the remainder of the PHP script
|
518
|
+
Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"
|
519
|
+
- name: string.quoted.other.backtick.unclosed.sql
|
520
|
+
begin: `(?=[^`]*?")
|
521
|
+
end: (?=")
|
522
|
+
patterns:
|
523
|
+
- name: constant.character.escape.php
|
524
|
+
match: \\[\\']
|
525
|
+
comment: |-
|
526
|
+
Unclosed strings must be captured to avoid them eating the remainder of the PHP script
|
527
|
+
Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"
|
528
|
+
- name: string.quoted.double.unclosed.sql
|
529
|
+
begin: \\"(?!([^\\"]|\\[^"])*\\")(?=(\\[^"]|.)*?")
|
530
|
+
end: (?=")
|
531
|
+
patterns:
|
532
|
+
- name: constant.character.escape.php
|
533
|
+
match: \\[\\']
|
534
|
+
comment: |-
|
535
|
+
Unclosed strings must be captured to avoid them eating the remainder of the PHP script
|
536
|
+
Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"
|
537
|
+
- name: string.quoted.double.sql
|
538
|
+
captures:
|
539
|
+
"0":
|
540
|
+
name: constant.character.escape.php
|
541
|
+
begin: \\"
|
542
|
+
end: \\"
|
543
|
+
patterns:
|
544
|
+
- include: "#interpolation"
|
545
|
+
- name: string.quoted.other.backtick.sql
|
546
|
+
begin: `
|
547
|
+
end: `
|
548
|
+
patterns:
|
549
|
+
- include: "#interpolation"
|
550
|
+
- name: string.quoted.single.sql
|
551
|
+
begin: "'"
|
552
|
+
end: "'"
|
553
|
+
patterns:
|
554
|
+
- include: "#interpolation"
|
555
|
+
- name: constant.character.escape.php
|
556
|
+
match: \\.
|
557
|
+
- include: "#interpolation"
|
558
|
+
- include: source.sql
|
559
|
+
support:
|
560
|
+
patterns:
|
561
|
+
- name: meta.array.php
|
562
|
+
endCaptures:
|
563
|
+
"0":
|
564
|
+
name: punctuation.definition.array.end.php
|
565
|
+
begin: (array)(\()
|
566
|
+
beginCaptures:
|
567
|
+
"1":
|
568
|
+
name: support.function.construct.php
|
569
|
+
"2":
|
570
|
+
name: punctuation.definition.array.begin.php
|
571
|
+
end: \)
|
572
|
+
patterns:
|
573
|
+
- include: "#language"
|
574
|
+
- name: support.function.array.php
|
575
|
+
match: (?i)\b(s(huffle|ort)|n(ext|at(sort|casesort))|c(o(unt|mpact)|urrent)|in_array|u(sort|ksort|asort)|prev|e(nd|xtract)|k(sort|ey|rsort)|a(sort|r(sort|ray_(s(hift|um|plice|earch|lice)|c(h(unk|ange_key_case)|o(unt_values|mbine))|intersect(_(u(key|assoc)|key|assoc))?|diff(_(u(key|assoc)|key|assoc))?|u(n(shift|ique)|intersect(_(uassoc|assoc))?|diff(_(uassoc|assoc))?)|p(op|ush|ad|roduct)|values|key(s|_exists)|f(il(ter|l(_keys)?)|lip)|walk(_recursive)?|r(e(duce|verse)|and)|m(ultisort|erge(_recursive)?|ap))))|r(sort|eset|ange)|m(in|ax))(?=\s*\()
|
576
|
+
- name: support.function.assert.php
|
577
|
+
match: (?i)\bassert(_options)?(?=\s*\()
|
578
|
+
- name: support.function.attr.php
|
579
|
+
match: (?i)\bdom_attr_is_id(?=\s*\()
|
580
|
+
- name: support.function.base64.php
|
581
|
+
match: (?i)\bbase64_(decode|encode)(?=\s*\()
|
582
|
+
- name: support.function.basic_functions.php
|
583
|
+
match: (?i)\b(highlight_(string|file)|s(ys_getloadavg|et_(include_path|magic_quotes_runtime)|leep)|c(on(stant|nection_(status|aborted))|all_user_(func(_array)?|method(_array)?))|time_(sleep_until|nanosleep)|i(s_uploaded_file|n(i_(set|restore|get(_all)?)|et_(ntop|pton))|p2long|gnore_user_abort|mport_request_variables)|u(sleep|nregister_tick_function)|error_(log|get_last)|p(hp_strip_whitespace|utenv|arse_ini_file|rint_r)|flush|long2ip|re(store_include_path|gister_(shutdown_function|tick_function))|get(servby(name|port)|opt|_(c(urrent_user|fg_var)|include_path|magic_quotes_(gpc|runtime))|protobyn(umber|ame)|env)|move_uploaded_file)(?=\s*\()
|
584
|
+
- name: support.function.bcmath.php
|
585
|
+
match: (?i)\bbc(s(cale|ub|qrt)|comp|div|pow(mod)?|add|m(od|ul))(?=\s*\()
|
586
|
+
- name: support.function.birdstep.php
|
587
|
+
match: (?i)\bbirdstep_(c(o(nnect|mmit)|lose)|off_autocommit|exec|f(ieldn(um|ame)|etch|reeresult)|autocommit|r(ollback|esult))(?=\s*\()
|
588
|
+
- name: support.function.browscap.php
|
589
|
+
match: (?i)\bget_browser(?=\s*\()
|
590
|
+
- name: support.function.builtin_functions.php
|
591
|
+
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)(?=\s*\()
|
592
|
+
- name: support.function.bz2.php
|
593
|
+
match: (?i)\bbz(compress|decompress|open|err(str|no|or)|read)(?=\s*\()
|
594
|
+
- name: support.function.cal_unix.php
|
595
|
+
match: (?i)\b(jdtounix|unixtojd)(?=\s*\()
|
596
|
+
- name: support.function.calendar.php
|
597
|
+
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)(?=\s*\()
|
598
|
+
- name: support.function.characterdata.php
|
599
|
+
match: (?i)\bdom_characterdata_(substring_data|insert_data|delete_data|append_data|replace_data)(?=\s*\()
|
600
|
+
- name: support.function.com_com.php
|
601
|
+
match: (?i)\bcom_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)(?=\s*\()
|
602
|
+
- name: support.function.com_variant.php
|
603
|
+
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))(?=\s*\()
|
604
|
+
- name: support.function.crc32.php
|
605
|
+
match: (?i)\bcrc32(?=\s*\()
|
606
|
+
- name: support.function.crypt.php
|
607
|
+
match: (?i)\bcrypt(?=\s*\()
|
608
|
+
- name: support.function.ctype.php
|
609
|
+
match: (?i)\bctype_(space|cntrl|digit|upper|p(unct|rint)|lower|al(num|pha)|graph|xdigit)(?=\s*\()
|
610
|
+
- name: support.function.cyr_convert.php
|
611
|
+
match: (?i)\bconvert_cyr_string(?=\s*\()
|
612
|
+
- name: support.function.datetime.php
|
613
|
+
match: (?i)\bstrptime(?=\s*\()
|
614
|
+
- name: support.function.dba.php
|
615
|
+
match: (?i)\bdba_(handlers|sync|nextkey|close|insert|delete|op(timize|en)|exists|popen|key_split|f(irstkey|etch)|list|replace)(?=\s*\()
|
616
|
+
- name: support.function.dbase.php
|
617
|
+
match: (?i)\bdbase_(num(fields|records)|c(lose|reate)|delete_record|open|pack|add_record|get_(header_info|record(_with_names)?)|replace_record)(?=\s*\()
|
618
|
+
- name: support.function.dir.php
|
619
|
+
match: (?i)\b(scandir|c(h(dir|root)|losedir)|dir|opendir|re(addir|winddir)|g(etcwd|lob))(?=\s*\()
|
620
|
+
- name: support.function.dl.php
|
621
|
+
match: (?i)\bdl(?=\s*\()
|
622
|
+
- name: support.function.dns.php
|
623
|
+
match: (?i)\b(dns_(check_record|get_(record|mx))|gethostby(name(l)?|addr))(?=\s*\()
|
624
|
+
- name: support.function.document.php
|
625
|
+
match: (?i)\bdom_document_(s(chema_validate(_file)?|ave(_html(_file)?|xml)?)|normalize_document|create_(c(datasection|omment)|text_node|document_fragment|processing_instruction|e(ntity_reference|lement(_ns)?)|attribute(_ns)?)|import_node|validate|load(_html(_file)?|xml)?|adopt_node|re(name_node|laxNG_validate_(file|xml))|get_element(s_by_tag_name(_ns)?|_by_id)|xinclude)(?=\s*\()
|
626
|
+
- name: support.function.domconfiguration.php
|
627
|
+
match: (?i)\bdom_domconfiguration_(set_parameter|can_set_parameter|get_parameter)(?=\s*\()
|
628
|
+
- name: support.function.domerrorhandler.php
|
629
|
+
match: (?i)\bdom_domerrorhandler_handle_error(?=\s*\()
|
630
|
+
- name: support.function.domimplementation.php
|
631
|
+
match: (?i)\bdom_domimplementation_(has_feature|create_document(_type)?|get_feature)(?=\s*\()
|
632
|
+
- name: support.function.domimplementationlist.php
|
633
|
+
match: (?i)\bdom_domimplementationlist_item(?=\s*\()
|
634
|
+
- name: support.function.domimplementationsource.php
|
635
|
+
match: (?i)\bdom_domimplementationsource_get_domimplementation(s)?(?=\s*\()
|
636
|
+
- name: support.function.domstringlist.php
|
637
|
+
match: (?i)\bdom_domstringlist_item(?=\s*\()
|
638
|
+
- name: support.function.easter.php
|
639
|
+
match: (?i)\beaster_da(ys|te)(?=\s*\()
|
640
|
+
- name: support.function.element.php
|
641
|
+
match: (?i)\bdom_element_(has_attribute(_ns)?|set_(id_attribute(_n(s|ode))?|attribute(_n(s|ode(_ns)?))?)|remove_attribute(_n(s|ode))?|get_(elements_by_tag_name(_ns)?|attribute(_n(s|ode(_ns)?))?))(?=\s*\()
|
642
|
+
- name: support.function.exec.php
|
643
|
+
match: (?i)\b(s(hell_exec|ystem)|p(assthru|roc_nice)|e(scapeshell(cmd|arg)|xec))(?=\s*\()
|
644
|
+
- name: support.function.exif.php
|
645
|
+
match: (?i)\bexif_(imagetype|t(humbnail|agname)|read_data)(?=\s*\()
|
646
|
+
- name: support.function.fdf.php
|
647
|
+
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)))(?=\s*\()
|
648
|
+
- name: support.function.file.php
|
649
|
+
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|a(dfile|lpath)|wind)|mdir)|get_meta_tags|mkdir)(?=\s*\()
|
650
|
+
- name: support.function.filestat.php
|
651
|
+
match: (?i)\b(stat|c(h(own|grp|mod)|learstatcache)|is_(dir|executable|file|link|writable|readable)|touch|disk_(total_space|free_space)|file(size|ctime|type|inode|owner|_exists|perms|atime|group|mtime)|l(stat|chgrp))(?=\s*\()
|
652
|
+
- name: support.function.filter.php
|
653
|
+
match: (?i)\bfilter_(has_var|input(_array)?|var(_array)?)(?=\s*\()
|
654
|
+
- name: support.function.formatted_print.php
|
655
|
+
match: (?i)\b(sprintf|printf|v(sprintf|printf|fprintf)|fprintf)(?=\s*\()
|
656
|
+
- name: support.function.fsock.php
|
657
|
+
match: (?i)\b(pfsockopen|fsockopen)(?=\s*\()
|
658
|
+
- name: support.function.ftok.php
|
659
|
+
match: (?i)\bftok(?=\s*\()
|
660
|
+
- name: support.function.gd.php
|
661
|
+
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)|r(otate|ectangle)|g(if|d(2)?|ammacorrect|rab(screen|window))|xbm)|jpeg2wbmp|png2wbmp|gd_info)(?=\s*\()
|
662
|
+
- name: support.function.gettext.php
|
663
|
+
match: (?i)\b(ngettext|textdomain|d(ngettext|c(ngettext|gettext)|gettext)|gettext|bind(textdomain|_textdomain_codeset))(?=\s*\()
|
664
|
+
- name: support.function.gmp.php
|
665
|
+
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))(?=\s*\()
|
666
|
+
- name: support.function.hash.php
|
667
|
+
match: (?i)\bhash(_(hmac(_file)?|init|update(_(stream|file))?|fi(nal|le)|algos))?(?=\s*\()
|
668
|
+
- name: support.function.hash_md.php
|
669
|
+
match: (?i)\bmd5(_file)?(?=\s*\()
|
670
|
+
- name: support.function.hash_sha.php
|
671
|
+
match: (?i)\bsha1(_file)?(?=\s*\()
|
672
|
+
- name: support.function.head.php
|
673
|
+
match: (?i)\b(set(cookie|rawcookie)|header(s_(sent|list))?)(?=\s*\()
|
674
|
+
- name: support.function.html.php
|
675
|
+
match: (?i)\b(html(specialchars(_decode)?|_entity_decode|entities)|get_html_translation_table)(?=\s*\()
|
676
|
+
- name: support.function.http.php
|
677
|
+
match: (?i)\bhttp_build_query(?=\s*\()
|
678
|
+
- name: support.function.ibase_blobs.php
|
679
|
+
match: (?i)\bibase_blob_(c(ancel|lose|reate)|i(nfo|mport)|open|echo|add|get)(?=\s*\()
|
680
|
+
- name: support.function.ibase_events.php
|
681
|
+
match: (?i)\bibase_(set_event_handler|free_event_handler|wait_event)(?=\s*\()
|
682
|
+
- name: support.function.ibase_query.php
|
683
|
+
match: (?i)\bibase_(n(um_(params|fields|rows)|ame_result)|execute|p(aram_info|repare)|f(ield_info|etch_(object|assoc|row)|ree_(query|result))|query|affected_rows)(?=\s*\()
|
684
|
+
- name: support.function.ibase_service.php
|
685
|
+
match: (?i)\bibase_(serv(ice_(detach|attach)|er_info)|d(elete_user|b_info)|add_user|restore|backup|m(odify_user|aintain_db))(?=\s*\()
|
686
|
+
- name: support.function.iconv.php
|
687
|
+
match: (?i)\b(iconv(_(s(tr(pos|len|rpos)|ubstr|et_encoding)|get_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)(?=\s*\()
|
688
|
+
- name: support.function.image.php
|
689
|
+
match: (?i)\b(image_type_to_(extension|mime_type)|getimagesize)(?=\s*\()
|
690
|
+
- name: support.function.info.php
|
691
|
+
match: (?i)\b(zend_logo_guid|php(credits|info|_(sapi_name|ini_scanned_files|uname|egg_logo_guid|logo_guid|real_logo_guid)|version))(?=\s*\()
|
692
|
+
- name: support.function.interbase.php
|
693
|
+
match: (?i)\bibase_(c(o(nnect|mmit(_ret)?)|lose)|trans|drop_db|pconnect|err(code|msg)|gen_id|rollback(_ret)?)(?=\s*\()
|
694
|
+
- name: support.function.interface.php
|
695
|
+
match: (?i)\bcurl_(setopt(_array)?|c(opy_handle|lose)|init|e(rr(no|or)|xec)|version|getinfo)(?=\s*\()
|
696
|
+
- name: support.function.iptc.php
|
697
|
+
match: (?i)\biptc(parse|embed)(?=\s*\()
|
698
|
+
- name: support.function.json.php
|
699
|
+
match: (?i)\bjson_(decode|encode)(?=\s*\()
|
700
|
+
- name: support.function.lcg.php
|
701
|
+
match: (?i)\blcg_value(?=\s*\()
|
702
|
+
- name: support.function.ldap.php
|
703
|
+
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|8859_to_t61|d(n2ufn|elete)|unbind|parse_re(sult|ference)|e(rr(no|2str|or)|xplode_dn)|f(irst_(entry|attribute|reference)|ree_result)|add|list|get_(option|dn|entries|values_len|attributes)|re(name|ad)|mod_(del|add|replace)|bind)(?=\s*\()
|
704
|
+
- name: support.function.levenshtein.php
|
705
|
+
match: (?i)\blevenshtein(?=\s*\()
|
706
|
+
- name: support.function.libxml.php
|
707
|
+
match: (?i)\blibxml_(set_streams_context|clear_errors|use_internal_errors|get_(errors|last_error))(?=\s*\()
|
708
|
+
- name: support.function.link.php
|
709
|
+
match: (?i)\b(symlink|link(info)?|readlink)(?=\s*\()
|
710
|
+
- name: support.function.mail.php
|
711
|
+
match: (?i)\b(ezmlm_hash|mail)(?=\s*\()
|
712
|
+
- name: support.function.main.php
|
713
|
+
match: (?i)\bset_time_limit(?=\s*\()
|
714
|
+
- name: support.function.math.php
|
715
|
+
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))(?=\s*\()
|
716
|
+
- name: support.function.mbstring.php
|
717
|
+
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)(?=\s*\()
|
718
|
+
- name: support.function.mcrypt.php
|
719
|
+
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)(?=\s*\()
|
720
|
+
- name: support.function.md5.php
|
721
|
+
match: (?i)\bmd5(_file)?(?=\s*\()
|
722
|
+
- name: support.function.metaphone.php
|
723
|
+
match: (?i)\bmetaphone(?=\s*\()
|
724
|
+
- name: support.function.mhash.php
|
725
|
+
match: (?i)\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?(?=\s*\()
|
726
|
+
- name: support.function.microtime.php
|
727
|
+
match: (?i)\b(get(timeofday|rusage)|microtime)(?=\s*\()
|
728
|
+
- name: support.function.mime_magic.php
|
729
|
+
match: (?i)\bmime_content_type(?=\s*\()
|
730
|
+
- name: support.function.ming.php
|
731
|
+
match: (?i)\b(swf(prebuiltclip_init|videostream_init)|ming_(set(scale|cubicthreshold)|use(swfversion|constants)|keypress))(?=\s*\()
|
732
|
+
- name: support.function.multi.php
|
733
|
+
match: (?i)\bcurl_multi_(select|close|in(it|fo_read)|exec|add_handle|getcontent|remove_handle)(?=\s*\()
|
734
|
+
- name: support.function.mysqli_api.php
|
735
|
+
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)(?=\s*\()
|
736
|
+
- name: support.function.mysqli_embedded.php
|
737
|
+
match: (?i)\bmysqli_embedded_server_(start|end)(?=\s*\()
|
738
|
+
- name: support.function.mysqli_nonapi.php
|
739
|
+
match: (?i)\bmysqli_(s(tmt_get_warnings|et_charset)|connect(_err(no|or))?|query|fetch_(object|a(ssoc|rray))|get_(charset|warnings)|multi_query)(?=\s*\()
|
740
|
+
- name: support.function.mysqli_repl.php
|
741
|
+
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)(?=\s*\()
|
742
|
+
- name: support.function.mysqli_report.php
|
743
|
+
match: (?i)\bmysqli_report(?=\s*\()
|
744
|
+
- name: support.function.namednodemap.php
|
745
|
+
match: (?i)\bdom_namednodemap_(set_named_item(_ns)?|item|remove_named_item(_ns)?|get_named_item(_ns)?)(?=\s*\()
|
746
|
+
- name: support.function.namelist.php
|
747
|
+
match: (?i)\bdom_namelist_get_name(space_uri)?(?=\s*\()
|
748
|
+
- name: support.function.ncurses_functions.php
|
749
|
+
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)))(?=\s*\()
|
750
|
+
- name: support.function.node.php
|
751
|
+
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|get_(user_data|feature)|re(place_child|move_child))(?=\s*\()
|
752
|
+
- name: support.function.nodelist.php
|
753
|
+
match: (?i)\bdom_nodelist_item(?=\s*\()
|
754
|
+
- name: support.function.nsapi.php
|
755
|
+
match: (?i)\bnsapi_(virtual|re(sponse_headers|quest_headers))(?=\s*\()
|
756
|
+
- name: support.function.oci8_interface.php
|
757
|
+
match: (?i)\boci(setbufferinglob|_(s(tatement_type|e(t_prefetch|rver_version))|c(o(nnect|llection_(size|trim|element_(assign|get)|a(ssign|ppend)|max)|mmit)|lose|ancel)|n(um_(fields|rows)|ew_(c(o(nnect|llection)|ursor)|descriptor))|internal_debug|define_by_name|p(connect|a(ssword_change|rse))|e(rror|xecute)|f(ield_(s(cale|ize)|name|is_null|type(_raw)?|precision)|etch(_(object|a(ssoc|ll|rray)|row))?|ree_(statement|collection|descriptor))|lob_(s(ize|eek|ave)|c(opy|lose)|t(ell|runcate)|i(s_equal|mport)|e(of|rase|xport)|flush|append|write(_temporary)?|load|re(wind|ad))|r(ollback|esult)|bind_(array_by_name|by_name))|fetchinto|getbufferinglob)(?=\s*\()
|
758
|
+
- name: support.function.openssl.php
|
759
|
+
match: (?i)\bopenssl_(s(ign|eal)|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|open|error_string|p(ublic_(decrypt|encrypt)|k(cs(12_(export(_to_file)?|read)|7_(sign|decrypt|encrypt|verify))|ey_(new|export(_to_file)?|free|get_(details|p(ublic|rivate))))|rivate_(decrypt|encrypt))|verify|x509_(check(_private_key|purpose)|parse|export(_to_file)?|free|read))(?=\s*\()
|
760
|
+
- name: support.function.output.php
|
761
|
+
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))))(?=\s*\()
|
762
|
+
- name: support.function.pack.php
|
763
|
+
match: (?i)\b(unpack|pack)(?=\s*\()
|
764
|
+
- name: support.function.pageinfo.php
|
765
|
+
match: (?i)\bget(lastmod|my(inode|uid|pid|gid))(?=\s*\()
|
766
|
+
- name: support.function.pcntl.php
|
767
|
+
match: (?i)\bpcntl_(s(ignal|etpriority)|exec|fork|w(stopsig|termsig|if(s(ignaled|topped)|exited)|exitstatus|ait(pid)?)|alarm|getpriority)(?=\s*\()
|
768
|
+
- name: support.function.pdo.php
|
769
|
+
match: (?i)\bpdo_drivers(?=\s*\()
|
770
|
+
- name: support.function.pdo_dbh.php
|
771
|
+
match: (?i)\bpdo_drivers(?=\s*\()
|
772
|
+
- name: support.function.pgsql.php
|
773
|
+
match: (?i)\bpg_(se(nd_(execute|prepare|query(_params)?)|t_(client_encoding|error_verbosity)|lect)|host|num_(fields|rows)|c(o(n(nect(ion_(status|reset|busy))?|vert)|py_(to|from))|ancel_query|l(ient_encoding|ose))|insert|t(ty|ra(nsaction_status|ce))|options|d(elete|bname)|u(n(trace|escape_bytea)|pdate)|e(scape_(string|bytea)|nd_copy|xecute)|p(connect|ing|ort|ut_line|arameter_status|repare)|version|f(ield_(size|n(um|ame)|is_null|t(ype(_oid)?|able)|prtlen)|etch_(object|a(ssoc|ll(_columns)?|rray)|r(ow|esult))|ree_result)|query(_params)?|affected_rows|l(o_(seek|c(lose|reate)|tell|import|open|unlink|export|write|read(_all)?)|ast_(notice|oid|error))|get_(notify|pid|result)|result_(s(tatus|eek)|error(_field)?)|meta_data)(?=\s*\()
|
774
|
+
- name: support.function.php_apache.php
|
775
|
+
match: (?i)\b(virtual|apache_(setenv|note|child_terminate|lookup_uri|get_(version|modules)|re(s(et_timeout|ponse_headers)|quest_(s(ome_auth_required|ub_req_(lookup_(uri|file)|method_uri)|e(t_(etag|last_modified)|rver_port)|atisfies)|headers(_(in|out))?|is_initial_req|discard_request_body|update_mtime|err_headers_out|log_error|auth_(name|type)|r(un|emote_host)|meets_conditions)))|getallheaders)(?=\s*\()
|
776
|
+
- name: support.function.php_date.php
|
777
|
+
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)(?=\s*\()
|
778
|
+
- name: support.function.php_dom.php
|
779
|
+
match: (?i)\bdom_import_simplexml(?=\s*\()
|
780
|
+
- name: support.function.php_fbsql.php
|
781
|
+
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|insert_id|d(ata(_seek|base(_password)?)|rop_db|b_(status|query))|username|err(no|or)|p(connect|assword)|f(ield_(seek|name|t(ype|able)|flags|len)|etch_(object|field|lengths|a(ssoc|rray)|row)|ree_result)|query|warnings|list_(tables|dbs|fields)|a(utocommit|ffected_rows)|get_autostart_info|r(o(ws_fetched|llback)|e(sult|ad_(clob|blob)))|blob_size)(?=\s*\()
|
782
|
+
- name: support.function.php_ftp.php
|
783
|
+
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)|f(put|get)|alloc|login|get(_option)?|r(ename|aw(list)?|mdir)|m(dtm|kdir))(?=\s*\()
|
784
|
+
- name: support.function.php_functions.php
|
785
|
+
match: (?i)\b(virtual|apache_(setenv|note|get(_(version|modules)|env)|response_headers)|getallheaders)(?=\s*\()
|
786
|
+
- name: support.function.php_imap.php
|
787
|
+
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)|reatemailbox)|num_(recent|msg)|t(hread|imeout)|8bit|delete(mailbox)?|open|u(n(subscribe|delete)|id|tf(7_(decode|encode)|8))|e(rrors|xpunge)|ping|qprint|fetch(header|structure|_overview|body)|l(sub|ist|ast_error)|a(ppend|lerts)|get(subscribed|_quota(root)?|acl|mailboxes)|r(e(namemailbox|open)|fc822_(parse_(headers|adrlist)|write_address))|m(sgno|ime_header_decode|ail(_(co(py|mpose)|move)|boxmsginfo)?)|b(inary|ody(struct)?|ase64))(?=\s*\()
|
788
|
+
- name: support.function.php_mbregex.php
|
789
|
+
match: (?i)\bmb_(split|ereg(i(_replace)?|_(search(_(setpos|init|pos|get(pos|regs)|regs))?|replace|match))?|regex_(set_options|encoding))(?=\s*\()
|
790
|
+
- name: support.function.php_milter.php
|
791
|
+
match: (?i)\bsmfi_(set(timeout|flags|reply)|chgheader|delrcpt|add(header|rcpt)|replacebody|getsymval)(?=\s*\()
|
792
|
+
- name: support.function.php_msql.php
|
793
|
+
match: (?i)\bmsql_(select_db|num_(fields|rows)|c(onnect|lose|reate_db)|d(ata_seek|rop_db|b_query)|error|pconnect|f(ield_(seek|name|t(ype|able)|flags|len)|etch_(object|field|array|row)|ree_result)|query|affected_rows|list_(tables|dbs|fields)|result)(?=\s*\()
|
794
|
+
- name: support.function.php_mssql.php
|
795
|
+
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))(?=\s*\()
|
796
|
+
- name: support.function.php_mysql.php
|
797
|
+
match: (?i)\bmysql_(s(tat|e(t_charset|lect_db))|num_(fields|rows)|c(onnect|l(ient_encoding|ose)|reate_db)|thread_id|in(sert_id|fo)|d(ata_seek|rop_db|b_query)|unbuffered_query|e(scape_string|rr(no|or))|p(connect|ing)|f(ield_(seek|name|t(ype|able)|flags|len)|etch_(object|field|lengths|a(ssoc|rray)|row)|ree_result)|query|affected_rows|list_(tables|dbs|processes|fields)|re(sult|al_escape_string)|get_(server_info|host_info|client_info|proto_info))(?=\s*\()
|
798
|
+
- name: support.function.php_odbc.php
|
799
|
+
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|e(rror(msg)?|xec(ute)?)|p(connect|r(imarykeys|ocedure(s|columns)|epare))|f(ield_(scale|n(um|ame)|type|len)|oreignkeys|etch_(into|object|array|row)|ree_result)|autocommit|longreadlen|gettypeinfo|r(ollback|esult(_all)?)|binmode))(?=\s*\()
|
800
|
+
- name: support.function.php_pcre.php
|
801
|
+
match: (?i)\bpreg_(split|quote|last_error|grep|replace(_callback)?|match(_all)?)(?=\s*\()
|
802
|
+
- name: support.function.php_spl.php
|
803
|
+
match: (?i)\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|parents))(?=\s*\()
|
804
|
+
- name: support.function.php_sybase_ct.php
|
805
|
+
match: (?i)\bsybase_(se(t_message_handler|lect_db)|num_(fields|rows)|c(onnect|lose)|d(eadlock_retry_count|ata_seek)|unbuffered_query|pconnect|f(ield_seek|etch_(object|field|a(ssoc|rray)|row)|ree_result)|query|affected_rows|result|get_last_message|min_(server_severity|client_severity))(?=\s*\()
|
806
|
+
- name: support.function.php_sybase_db.php
|
807
|
+
match: (?i)\bsybase_(select_db|num_(fields|rows)|c(onnect|lose)|data_seek|pconnect|f(ield_seek|etch_(object|field|array|row)|ree_result)|query|affected_rows|result|get_last_message|min_(error_severity|message_severity))(?=\s*\()
|
808
|
+
- name: support.function.php_xmlwriter.php
|
809
|
+
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))(?=\s*\()
|
810
|
+
- name: support.function.php_zip.php
|
811
|
+
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))(?=\s*\()
|
812
|
+
- name: support.function.posix.php
|
813
|
+
match: (?i)\bposix_(s(trerror|et(sid|uid|pgid|e(uid|gid)|gid))|ctermid|i(satty|nitgroups)|t(tyname|imes)|uname|kill|access|get(sid|cwd|_last_error|uid|e(uid|gid)|p(id|pid|w(nam|uid)|g(id|rp))|login|rlimit|g(id|r(nam|oups|gid)))|mk(nod|fifo))(?=\s*\()
|
814
|
+
- name: support.function.proc_open.php
|
815
|
+
match: (?i)\bproc_(close|terminate|open|get_status)(?=\s*\()
|
816
|
+
- name: support.function.pspell.php
|
817
|
+
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))(?=\s*\()
|
818
|
+
- name: support.function.quot_print.php
|
819
|
+
match: (?i)\bquoted_printable_decode(?=\s*\()
|
820
|
+
- name: support.function.rand.php
|
821
|
+
match: (?i)\b(srand|getrandmax|rand|mt_(srand|getrandmax|rand))(?=\s*\()
|
822
|
+
- name: support.function.readline.php
|
823
|
+
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)))?(?=\s*\()
|
824
|
+
- name: support.function.recode.php
|
825
|
+
match: (?i)\brecode_(string|file)(?=\s*\()
|
826
|
+
- name: support.function.reg.php
|
827
|
+
match: (?i)\b(s(plit(i)?|ql_regcase)|ereg(i(_replace)?|_replace)?)(?=\s*\()
|
828
|
+
- name: support.function.session.php
|
829
|
+
match: (?i)\bsession_(s(tart|et_(save_handler|cookie_params)|ave_path)|cache_(expire|limiter)|name|i(s_registered|d)|de(stroy|code)|un(set|register)|encode|write_close|reg(ister|enerate_id)|get_cookie_params|module_name)(?=\s*\()
|
830
|
+
- name: support.function.sha1.php
|
831
|
+
match: (?i)\bsha1(_file)?(?=\s*\()
|
832
|
+
- name: support.function.shmop.php
|
833
|
+
match: (?i)\bshmop_(size|close|delete|open|write|read)(?=\s*\()
|
834
|
+
- name: support.function.simplexml.php
|
835
|
+
match: (?i)\bsimplexml_(import_dom|load_(string|file))(?=\s*\()
|
836
|
+
- name: support.function.skeleton.php
|
837
|
+
match: (?i)\bconfirm_extname_compiled(?=\s*\()
|
838
|
+
- name: support.function.snmp.php
|
839
|
+
match: (?i)\b(snmp(set|2_(set|walk|real_walk|get(next)?)|3_(set|walk|real_walk|get(next)?)|_(set_(oid_output_format|enum_print|valueretrieval|quick_print)|read_mib|get_(valueretrieval|quick_print))|walk|realwalk|get(next)?)|php_snmpv3)(?=\s*\()
|
840
|
+
- name: support.function.sockets.php
|
841
|
+
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|get(sockname|_option|peername)|re(cv(from)?|ad)|bind)(?=\s*\()
|
842
|
+
- name: support.function.soundex.php
|
843
|
+
match: (?i)\bsoundex(?=\s*\()
|
844
|
+
- name: support.function.spl_iterators.php
|
845
|
+
match: (?i)\biterator_(count|to_array|apply)(?=\s*\()
|
846
|
+
- name: support.function.sqlite.php
|
847
|
+
match: (?i)\bsqlite_(has_prev|s(ingle_query|eek)|n(um_(fields|rows)|ext)|c(hanges|olumn|urrent|lose|reate_(function|aggregate))|open|u(nbuffered_query|df_(decode_binary|encode_binary))|e(scape_string|rror_string|xec)|p(open|rev)|key|valid|query|f(ield_name|etch_(single|column_types|object|a(ll|rray))|actory)|l(ib(encoding|version)|ast_(insert_rowid|error))|array_query|rewind|busy_timeout)(?=\s*\()
|
848
|
+
- name: support.function.streamsfuncs.php
|
849
|
+
match: (?i)\bstream_(s(ocket_(s(hutdown|e(ndto|rver))|client|enable_crypto|pair|accept|recvfrom|get_name)|e(t_(timeout|write_buffer|blocking)|lect))|co(ntext_(set_(option|params)|create|get_(default|options))|py_to_stream)|filter_(prepend|append|remove)|get_(contents|transports|line|wrappers|meta_data))(?=\s*\()
|
850
|
+
- name: support.function.string.php
|
851
|
+
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(unk_split|r)|ount_chars)|nl(2br|_langinfo)|implode|trim|ord|dirname|uc(first|words)|join|pa(thinfo|rse_str)|explode|quotemeta|add(slashes|cslashes)|wordwrap|l(trim|ocaleconv)|rtrim|money_format|b(in2hex|asename))(?=\s*\()
|
852
|
+
- name: support.function.string_extend.php
|
853
|
+
match: (?i)\bdom_string_extend_find_offset(16|32)(?=\s*\()
|
854
|
+
- name: support.function.syslog.php
|
855
|
+
match: (?i)\b(syslog|closelog|openlog|define_syslog_variables)(?=\s*\()
|
856
|
+
- name: support.function.sysvmsg.php
|
857
|
+
match: (?i)\bmsg_(s(tat_queue|e(nd|t_queue))|re(ceive|move_queue)|get_queue)(?=\s*\()
|
858
|
+
- name: support.function.sysvsem.php
|
859
|
+
match: (?i)\bsem_(acquire|re(lease|move)|get)(?=\s*\()
|
860
|
+
- name: support.function.sysvshm.php
|
861
|
+
match: (?i)\bshm_(detach|put_var|attach|get_var|remove(_var)?)(?=\s*\()
|
862
|
+
- name: support.function.text.php
|
863
|
+
match: (?i)\bdom_text_(split_text|is_whitespace_in_element_content|replace_whole_text)(?=\s*\()
|
864
|
+
- name: support.function.tidy.php
|
865
|
+
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)))(?=\s*\()
|
866
|
+
- name: support.function.tokenizer.php
|
867
|
+
match: (?i)\btoken_(name|get_all)(?=\s*\()
|
868
|
+
- name: support.function.type.php
|
869
|
+
match: (?i)\b(s(trval|ettype)|i(s_(s(calar|tring)|callable|nu(ll|meric)|object|float|array|long|resource|bool)|ntval)|floatval|gettype)(?=\s*\()
|
870
|
+
- name: support.function.uniqid.php
|
871
|
+
match: (?i)\buniqid(?=\s*\()
|
872
|
+
- name: support.function.url.php
|
873
|
+
match: (?i)\b(url(decode|encode)|parse_url|get_headers|rawurl(decode|encode))(?=\s*\()
|
874
|
+
- name: support.function.user_filters.php
|
875
|
+
match: (?i)\bstream_(filter_register|get_filters|bucket_(new|prepend|append|make_writeable))(?=\s*\()
|
876
|
+
- name: support.function.userdatahandler.php
|
877
|
+
match: (?i)\bdom_userdatahandler_handle(?=\s*\()
|
878
|
+
- name: support.function.userspace.php
|
879
|
+
match: (?i)\bstream_wrapper_(unregister|re(store|gister))(?=\s*\()
|
880
|
+
- name: support.function.uuencode.php
|
881
|
+
match: (?i)\bconvert_uu(decode|encode)(?=\s*\()
|
882
|
+
- name: support.function.var.php
|
883
|
+
match: (?i)\b(serialize|debug_zval_dump|unserialize|var_(dump|export)|memory_get_(usage|peak_usage))(?=\s*\()
|
884
|
+
- name: support.function.versioning.php
|
885
|
+
match: (?i)\bversion_compare(?=\s*\()
|
886
|
+
- name: support.function.wddx.php
|
887
|
+
match: (?i)\bwddx_(serialize_va(lue|rs)|deserialize|packet_(start|end)|add_vars)(?=\s*\()
|
888
|
+
- name: support.function.xml.php
|
889
|
+
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)))(?=\s*\()
|
890
|
+
- name: support.function.xmlrpc-epi-php.php
|
891
|
+
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)(?=\s*\()
|
892
|
+
- name: support.function.xpath.php
|
893
|
+
match: (?i)\bdom_xpath_(evaluate|query|register_ns)(?=\s*\()
|
894
|
+
- name: support.function.xsltprocessor.php
|
895
|
+
match: (?i)\bxsl_xsltprocessor_(has_exslt_support|set_parameter|transform_to_(doc|uri|xml)|import_stylesheet|re(gister_php_functions|move_parameter)|get_parameter)(?=\s*\()
|
896
|
+
- name: support.function.zlib.php
|
897
|
+
match: (?i)\b(ob_gzhandler|zlib_get_coding_type|readgzfile|gz(compress|inflate|deflate|open|uncompress|encode|file))(?=\s*\()
|
898
|
+
- name: support.function.alias.php
|
899
|
+
match: (?i)\bis_int(eger)?(?=\s*\()
|
900
|
+
- name: support.class.builtin.php
|
901
|
+
match: (?i)\b(Re(cursive(RegexIterator|CachingIterator|IteratorIterator|DirectoryIterator|FilterIterator|ArrayIterator)|flection(Method|Class|Object|Extension|P(arameter|roperty)|Function)?|gexIterator)|s(tdClass|wf(s(hape|ound|prite)|text(field)?|displayitem|f(ill|ont(cha(r)?)?)|action|gradient|mo(vie|rph)|b(itmap|utton)))|XMLReader|tidyNode|S(impleXML(Iterator|Element)|oap(Server|Header|Client|Param|Var|Fault)|pl(TempFileObject|ObjectStorage|File(Info|Object)))|NoRewindIterator|C(OMPersistHelper|achingIterator)|I(nfiniteIterator|teratorIterator)|D(irectoryIterator|OM(XPath|Node|C(omment|dataSection)|Text|Document(Fragment)?|ProcessingInstruction|E(ntityReference|lement)|Attr))|P(DO(Statement)?|arentIterator)|E(rrorException|mptyIterator|xception)|FilterIterator|LimitIterator|A(p(pendIterator|acheRequest)|rray(Iterator|Object)))(?=\s*\()
|
902
|
+
- name: support.function.construct.php
|
903
|
+
match: (?i)\b((print|echo)\b|(isset|unset|e(val|mpty)|list)(?=\s*\())
|
904
|
+
regex-double-quoted:
|
905
|
+
name: string.regexp.double-quoted.php
|
906
|
+
endCaptures:
|
907
|
+
"0":
|
908
|
+
name: punctuation.definition.string.end.php
|
909
|
+
begin: (?x)"/ (?= (\\.|[^"/])++/[imsxeADSUXu]*" )
|
910
|
+
beginCaptures:
|
911
|
+
"0":
|
912
|
+
name: punctuation.definition.string.begin.php
|
913
|
+
end: (/)([imsxeADSUXu]*)(")
|
914
|
+
patterns:
|
915
|
+
- name: constant.character.escape.regex.php
|
916
|
+
match: (\\){1,2}[.$^\[\]{}]
|
917
|
+
comment: "Escaped from the regexp \xE2\x80\x93 there can also be 2 backslashes (since 1 will escape the first)"
|
918
|
+
- include: "#interpolation"
|
919
|
+
- name: string.regexp.arbitrary-repitition.php
|
920
|
+
captures:
|
921
|
+
"1":
|
922
|
+
name: punctuation.definition.arbitrary-repitition.php
|
923
|
+
"3":
|
924
|
+
name: punctuation.definition.arbitrary-repitition.php
|
925
|
+
match: (\{)\d+(,\d+)?(\})
|
926
|
+
- name: string.regexp.character-class.php
|
927
|
+
captures:
|
928
|
+
"0":
|
929
|
+
name: punctuation.definition.character-class.php
|
930
|
+
begin: \[(?:\^?\])?
|
931
|
+
end: \]
|
932
|
+
patterns:
|
933
|
+
- include: "#interpolation"
|
934
|
+
- name: keyword.operator.regexp.php
|
935
|
+
match: "[$^+*]"
|
936
|
+
interpolation:
|
937
|
+
patterns:
|
938
|
+
- name: constant.numeric.octal.php
|
939
|
+
match: \\[0-7]{1,3}
|
940
|
+
- name: constant.numeric.hex.php
|
941
|
+
match: \\x[0-9A-Fa-f]{1,2}
|
942
|
+
- name: constant.character.escape.php
|
943
|
+
match: \\[nrt\\\$\"]
|
944
|
+
- captures:
|
945
|
+
"1":
|
946
|
+
name: variable.other.php
|
947
|
+
"2":
|
948
|
+
name: punctuation.definition.variable.php
|
949
|
+
"4":
|
950
|
+
name: punctuation.definition.variable.php
|
951
|
+
match: "(?x)\n\
|
952
|
+
\t\t\t\t\t\t((\\$\\{)(?<name>[a-zA-Z_\\x7F-\\xFF][a-zA-Z0-9_\\x7F-\\xFF]*){0}(\\}))\n\
|
953
|
+
\t\t\t\t\t\t"
|
954
|
+
comment: "Simple syntax with braces: \"foo${bar}baz\""
|
955
|
+
- captures:
|
956
|
+
"6":
|
957
|
+
name: invalid.illegal.php
|
958
|
+
"11":
|
959
|
+
name: string.unquoted.index.php
|
960
|
+
"7":
|
961
|
+
name: keyword.operator.index-start.php
|
962
|
+
"12":
|
963
|
+
name: invalid.illegal.invalid-simple-array-index.php
|
964
|
+
"8":
|
965
|
+
name: constant.numeric.index.php
|
966
|
+
"13":
|
967
|
+
name: keyword.operator.index-end.php
|
968
|
+
"9":
|
969
|
+
name: variable.other.index.php
|
970
|
+
"1":
|
971
|
+
name: variable.other.php
|
972
|
+
"2":
|
973
|
+
name: punctuation.definition.variable.php
|
974
|
+
"4":
|
975
|
+
name: keyword.operator.class.php
|
976
|
+
"10":
|
977
|
+
name: punctuation.definition.variable.php
|
978
|
+
"5":
|
979
|
+
name: variable.other.property.php
|
980
|
+
match: "(?x)\n\
|
981
|
+
\t\t\t\t\t\t((\\$)(?<name>[a-zA-Z_\\x7F-\\xFF][a-zA-Z0-9_\\x7F-\\xFF]*){0})\n\
|
982
|
+
\t\t\t\t\t\t(?:\n\
|
983
|
+
\t\t\t\t\t\t\t(->)\n\
|
984
|
+
\t\t\t\t\t\t\t\t(?:\n\
|
985
|
+
\t\t\t\t\t\t\t\t\t(\\g<name>)\n\
|
986
|
+
\t\t\t\t\t\t\t\t\t|\n\
|
987
|
+
\t\t\t\t\t\t\t\t\t(\\$\\g<name>)\n\
|
988
|
+
\t\t\t\t\t\t\t\t)\n\
|
989
|
+
\t\t\t\t\t\t\t|\n\
|
990
|
+
\t\t\t\t\t\t\t(\\[)\n\
|
991
|
+
\t\t\t\t\t\t\t\t(?:(\\d+)|((\\$)\\g<name>)|(\\w+)|(.*?))\n\
|
992
|
+
\t\t\t\t\t\t\t(\\])\n\
|
993
|
+
\t\t\t\t\t\t\t|\n\
|
994
|
+
\t\t\t\t\t\t\t(\\$foo)\n\
|
995
|
+
\t\t\t\t\t\t)?\n\
|
996
|
+
\t\t\t\t\t\t"
|
997
|
+
comment: "Simple syntax: $foo, $foo[0], $foo[$bar], $foo->bar"
|
998
|
+
- endCaptures:
|
999
|
+
"0":
|
1000
|
+
name: punctuation.definition.variable.php
|
1001
|
+
begin: (?=(?<regex>(?#simple syntax)\$(?<name>[a-zA-Z_\x7F-\xFF][a-zA-Z0-9_\x7F-\xFF]*){0}(?:\[(?<index>[a-zA-Z0-9_\x7F-\xFF]+|\$\g<name>){0}\]|->\g<name>(\(.*?\))?)?|(?#simple syntax with braces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\]){0}?|\g<complex>|\$\{\g<complex>\})\}|(?#complex syntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\}){0}\}){0})\{
|
1002
|
+
beginCaptures:
|
1003
|
+
"0":
|
1004
|
+
name: punctuation.definition.variable.php
|
1005
|
+
end: \}
|
1006
|
+
patterns:
|
1007
|
+
- include: "#function-call"
|
1008
|
+
- include: "#var_basic"
|
1009
|
+
- include: "#object"
|
1010
|
+
- include: "#numbers"
|
1011
|
+
- name: keyword.operator.index-start.php
|
1012
|
+
match: \[
|
1013
|
+
- name: keyword.operator.index-end.php
|
1014
|
+
match: \]
|
1015
|
+
comment: |-
|
1016
|
+
Complex syntax. It seems this now supports complex method calls, as of PHP5.
|
1017
|
+
I've put wildcards into the function call parameter lists to handle this, but this may break the pattern.
|
1018
|
+
It also might be better to disable it as I shouldn't imagine it's used often (hopefully) and it may confuse PHP4 users.
|
1019
|
+
comment: http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing
|
1020
|
+
function-call:
|
1021
|
+
name: meta.function-call.php
|
1022
|
+
match: "[A-Za-z_][A-Za-z_0-9]*(?=\\s*\\()"
|
1023
|
+
constants:
|
1024
|
+
patterns:
|
1025
|
+
- name: constant.language.php
|
1026
|
+
match: (?i)\b(TRUE|FALSE|NULL|__(FILE|FUNCTION|CLASS|METHOD|LINE)__|ON|OFF|YES|NO|NL|BR|TAB)\b
|
1027
|
+
- name: support.constant.core.php
|
1028
|
+
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
|
1029
|
+
- name: support.constant.std.php
|
1030
|
+
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|FILENAME)|_SEPARATOR)|M_STR|OSITIVE_SIGN|_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN))|RADIXCHAR|S(EEK_(CUR|END|SET)|ORT_(ASC|DESC|NUMERIC|REGULAR|STRING)|TR_PAD_(BOTH|LEFT|RIGHT))|T(HOUS(ANDS_SEP|EP)|_(FMT(|_AMPM)))|YES(EXPR|STR))\b
|
1031
|
+
- name: constant.other.php
|
1032
|
+
match: "[a-zA-Z_\\x7F-\\xFF][a-zA-Z0-9_\\x7F-\\xFF]*"
|
1033
|
+
comment: |-
|
1034
|
+
In PHP, any identifier which is not a variable is taken to be a constant.
|
1035
|
+
However, if there is no constant defined with the given name then a notice
|
1036
|
+
is generated and the constant is assumed to have the value of its name.
|
1037
|
+
var_global:
|
1038
|
+
name: variable.other.global.php
|
1039
|
+
captures:
|
1040
|
+
"1":
|
1041
|
+
name: punctuation.definition.variable.php
|
1042
|
+
match: (\$)(_(COOKIE|FILES|GET|POST|REQUEST))\b
|
1043
|
+
sql-string-single-quoted:
|
1044
|
+
name: string.quoted.single.sql.php
|
1045
|
+
endCaptures:
|
1046
|
+
"0":
|
1047
|
+
name: punctuation.definition.string.end.php
|
1048
|
+
begin: "'\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER)\\b)"
|
1049
|
+
contentName: source.sql.embedded.php
|
1050
|
+
beginCaptures:
|
1051
|
+
"0":
|
1052
|
+
name: punctuation.definition.string.begin.php
|
1053
|
+
end: "'"
|
1054
|
+
patterns:
|
1055
|
+
- name: comment.line.number-sign.sql
|
1056
|
+
match: "#(\\\\'|[^'])*(?='|$\\n?)"
|
1057
|
+
- name: comment.line.double-dash.sql
|
1058
|
+
match: --(\\'|[^'])*(?='|$\n?)
|
1059
|
+
- name: string.quoted.single.unclosed.sql
|
1060
|
+
begin: \\'(?!([^\\']|\\[^'])*\\')(?=(\\[^']|.)*?')
|
1061
|
+
end: (?=')
|
1062
|
+
patterns:
|
1063
|
+
- name: constant.character.escape.php
|
1064
|
+
match: \\[\\']
|
1065
|
+
comment: |-
|
1066
|
+
Unclosed strings must be captured to avoid them eating the remainder of the PHP script
|
1067
|
+
Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"
|
1068
|
+
- name: string.quoted.other.backtick.unclosed.sql
|
1069
|
+
begin: `(?=[^`]*?')
|
1070
|
+
end: (?=')
|
1071
|
+
patterns:
|
1072
|
+
- name: constant.character.escape.php
|
1073
|
+
match: \\[\\']
|
1074
|
+
comment: |-
|
1075
|
+
Unclosed strings must be captured to avoid them eating the remainder of the PHP script
|
1076
|
+
Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"
|
1077
|
+
- name: string.quoted.double.unclosed.sql
|
1078
|
+
begin: "\"(?=[^\"]*?')"
|
1079
|
+
end: (?=')
|
1080
|
+
patterns:
|
1081
|
+
- name: constant.character.escape.php
|
1082
|
+
match: \\[\\']
|
1083
|
+
comment: |-
|
1084
|
+
Unclosed strings must be captured to avoid them eating the remainder of the PHP script
|
1085
|
+
Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"
|
1086
|
+
- name: string.quoted.single.sql
|
1087
|
+
captures:
|
1088
|
+
"0":
|
1089
|
+
name: constant.character.escape.php
|
1090
|
+
begin: \\'
|
1091
|
+
end: \\'
|
1092
|
+
- name: constant.character.escape.php
|
1093
|
+
match: \\[\\']
|
1094
|
+
- include: source.sql
|
1095
|
+
parameter-default-types:
|
1096
|
+
patterns:
|
1097
|
+
- include: "#strings"
|
1098
|
+
- include: "#numbers"
|
1099
|
+
- include: "#string-backtick"
|
1100
|
+
- include: "#variables"
|
1101
|
+
- name: keyword.operator.key.php
|
1102
|
+
match: =>
|
1103
|
+
- name: keyword.operator.assignment.php
|
1104
|
+
match: "="
|
1105
|
+
- name: storage.modifier.reference.php
|
1106
|
+
match: "&(?=\\s*\\$)"
|
1107
|
+
- name: meta.array.php
|
1108
|
+
endCaptures:
|
1109
|
+
"0":
|
1110
|
+
name: punctuation.definition.array.end.php
|
1111
|
+
begin: (array)\s*(\()
|
1112
|
+
beginCaptures:
|
1113
|
+
"1":
|
1114
|
+
name: support.function.construct.php
|
1115
|
+
"2":
|
1116
|
+
name: punctuation.definition.array.begin.php
|
1117
|
+
end: \)
|
1118
|
+
patterns:
|
1119
|
+
- include: "#parameter-default-types"
|
1120
|
+
- include: "#instantiation"
|
1121
|
+
- include: "#constants"
|
1122
|
+
object:
|
1123
|
+
captures:
|
1124
|
+
"1":
|
1125
|
+
name: keyword.operator.class.php
|
1126
|
+
"2":
|
1127
|
+
name: meta.function-call.object.php
|
1128
|
+
"3":
|
1129
|
+
name: variable.other.property.php
|
1130
|
+
"4":
|
1131
|
+
name: punctuation.definition.variable.php
|
1132
|
+
match: |-
|
1133
|
+
(?x)(->)
|
1134
|
+
(?:
|
1135
|
+
([A-Za-z_][A-Za-z_0-9]*)\s*\(
|
1136
|
+
|
|
1137
|
+
((\$+)?[a-zA-Z_\x7F-\xFF][a-zA-Z0-9_\x7F-\xFF]*)
|
1138
|
+
)?
|
1139
|
+
php_doc:
|
1140
|
+
patterns:
|
1141
|
+
- name: invalid.illegal.missing-asterisk.phpdoc.php
|
1142
|
+
match: ^(?!\s*\*).*$\n?
|
1143
|
+
comment: PHPDocumentor only recognises lines with an asterisk as the first non-whitespaces character
|
1144
|
+
- captures:
|
1145
|
+
"1":
|
1146
|
+
name: keyword.other.phpdoc.php
|
1147
|
+
"3":
|
1148
|
+
name: storage.modifier.php
|
1149
|
+
"4":
|
1150
|
+
name: invalid.illegal.wrong-access-type.phpdoc.php
|
1151
|
+
match: ^\s*\*\s*(@access)\s+((public|private|protected)|(.+))\s*$
|
1152
|
+
- name: markup.underline.link.php
|
1153
|
+
match: ((https?|s?ftp|ftps|file|smb|afp|nfs|(x-)?man|gopher|txmt)://|mailto:)[-:@a-zA-Z0-9_.~%+/?=&#]+(?<![.?:])
|
1154
|
+
- captures:
|
1155
|
+
"1":
|
1156
|
+
name: keyword.other.phpdoc.php
|
1157
|
+
"2":
|
1158
|
+
name: markup.underline.link.php
|
1159
|
+
match: (@xlink)\s+(.+)\s*$
|
1160
|
+
- name: keyword.other.phpdoc.php
|
1161
|
+
match: \@(a(bstract|uthor)|c(ategory|opyright)|global|li(cense|nk)|pa(ckage|ram)|return|s(ee|ince|tatic|ubpackage)|t(hrows|odo)|v(ar|ersion)|uses|deprecated|final)\b
|
1162
|
+
- name: meta.tag.inline.phpdoc.php
|
1163
|
+
captures:
|
1164
|
+
"1":
|
1165
|
+
name: keyword.other.phpdoc.php
|
1166
|
+
match: \{(@(link)).+?\}
|
1167
|
+
numbers:
|
1168
|
+
name: constant.numeric.php
|
1169
|
+
match: \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b
|
1170
|
+
uuid: 22986475-8CA5-11D9-AEDD-000D93C8BE28
|
1171
|
+
foldingStartMarker: (/\*|\{\s*$|<<<HTML)
|
1172
|
+
patterns:
|
1173
|
+
- captures:
|
1174
|
+
"6":
|
1175
|
+
name: punctuation.section.embedded.end.php
|
1176
|
+
"7":
|
1177
|
+
name: source.php
|
1178
|
+
"8":
|
1179
|
+
name: punctuation.whitespace.embedded.trailing.php
|
1180
|
+
"1":
|
1181
|
+
name: punctuation.whitespace.embedded.leading.php
|
1182
|
+
"2":
|
1183
|
+
name: source.php.embedded.line.empty.html
|
1184
|
+
"3":
|
1185
|
+
name: punctuation.section.embedded.begin.php
|
1186
|
+
"4":
|
1187
|
+
name: meta.consecutive-tags.php
|
1188
|
+
"5":
|
1189
|
+
name: source.php
|
1190
|
+
match: "(?x)\n\
|
1191
|
+
\t\t\t\t(^\\s*)?\t\t\t\t\t\t\t# 1 - Leading whitespace\n\
|
1192
|
+
\t\t\t\t\t(\t\t\t\t\t\t\t# 2 - meta.embedded.line.empty.php\n\
|
1193
|
+
\t\t\t\t\t\t(\t\t\t\t\t\t# 3 - Open Tag\n\
|
1194
|
+
\t\t\t\t\t\t\t(?:\n\
|
1195
|
+
\t\t\t\t\t\t\t\t((?<=\\?>)<)\t\t# 4 - Consecutive tags\n\
|
1196
|
+
\t\t\t\t\t\t\t | <\n\
|
1197
|
+
\t\t\t\t\t\t\t)\n\
|
1198
|
+
\t\t\t\t\t\t\t\\?(?i:php|=)?\n\
|
1199
|
+
\t\t\t\t\t\t)\n\
|
1200
|
+
\t\t\t\t\t\t\t(\\s*)\t\t\t\t# 5 - Loneliness\n\
|
1201
|
+
\t\t\t\t\t\t((\\?)>)\t\t\t\t\t# 6 - Close Tag\n\
|
1202
|
+
\t\t\t\t\t\t\t\t\t\t\t\t# 7 - Scope ? as scope.php\n\
|
1203
|
+
\t\t\t\t\t)\n\
|
1204
|
+
\t\t\t\t(\n\
|
1205
|
+
\t\t\t\t\t\\1\t\t\t\t\t\t\t# Match nothing if there was no\n\
|
1206
|
+
\t\t\t\t\t\t\t\t\t\t\t\t# leading whitespace...\n\
|
1207
|
+
\t\t\t\t | (\\s*$\\n)?\t\t\t\t\t# or match trailing whitespace.\n\
|
1208
|
+
\t\t\t\t)\n\
|
1209
|
+
\t\t\t"
|
1210
|
+
comment: Matches empty tags.
|
1211
|
+
- endCaptures:
|
1212
|
+
"0":
|
1213
|
+
name: punctuation.whitespace.embedded.trailing.php
|
1214
|
+
begin: ^\s*(?=<\?)
|
1215
|
+
beginCaptures:
|
1216
|
+
"0":
|
1217
|
+
name: punctuation.whitespace.embedded.leading.php
|
1218
|
+
end: (?<=\?>)(\s*$\n)?
|
1219
|
+
patterns:
|
1220
|
+
- name: source.php.embedded.block.html
|
1221
|
+
endCaptures:
|
1222
|
+
"0":
|
1223
|
+
name: punctuation.section.embedded.end.php
|
1224
|
+
"1":
|
1225
|
+
name: source.php
|
1226
|
+
begin: <\?(?i:php|=)?
|
1227
|
+
beginCaptures:
|
1228
|
+
"0":
|
1229
|
+
name: punctuation.section.embedded.begin.php
|
1230
|
+
end: (\?)>
|
1231
|
+
patterns:
|
1232
|
+
- include: "#language"
|
1233
|
+
comment: Catches tags with preceeding whitespace.
|
1234
|
+
- name: source.php.embedded.line.html
|
1235
|
+
endCaptures:
|
1236
|
+
"0":
|
1237
|
+
name: punctuation.section.embedded.end.php
|
1238
|
+
"1":
|
1239
|
+
name: source.php
|
1240
|
+
begin: (((?<=\?>)<)|<)\?(?i:php|=)?
|
1241
|
+
beginCaptures:
|
1242
|
+
"0":
|
1243
|
+
name: punctuation.section.embedded.begin.php
|
1244
|
+
"2":
|
1245
|
+
name: meta.consecutive-tags.php
|
1246
|
+
end: (\?)>
|
1247
|
+
patterns:
|
1248
|
+
- include: "#language"
|
1249
|
+
comment: Catches the remainder.
|
1250
|
+
foldingStopMarker: (\*/|^\s*\}|^HTML;)
|
1251
|
+
comment: "TODO:\n\
|
1252
|
+
\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\
|
1253
|
+
\xE2\x80\xA2 Is meta.function-call the correct scope? I've added it to my theme but by default it's not highlighted"
|