firstLineMatch ^#!.*php[0-9]{0,1}\b foldingStartMarker (/\*|\{\s*$|<<<HTML) foldingStopMarker (\*/|^\s*\}|^HTML;) name Prado PHP patterns begin (<%(=|#|%)) captures 1 name constant.prado.php.tag end (%>) name variable.prado.php patterns match #.*?(?=\?>) name comment.line.number-sign.php match //.*?(?=\?>) name comment.line.double-slash.php include #language repository language patterns begin (<<<HTML) captures 1 name keyword.other.heredoc contentName text.html.basic.embedded end ^(HTML); name meta.scope.heredoc patterns include text.html.basic include #var_global include #var_global_safer include #var_basic include #var_complex_string_heredoc begin (<<<XML) captures 1 name keyword.other.heredoc contentName text.xml.embedded end ^(XML); name meta.scope.heredoc patterns include text.xml include #var_global include #var_global_safer include #var_basic include #var_complex_string_heredoc begin (<<<SQL) captures 1 name keyword.other.heredoc contentName source.sql.embedded end ^(SQL); name meta.scope.heredoc patterns include source.sql include #var_global include #var_global_safer include #var_basic include #var_complex_string_heredoc begin /\* end \*/ name comment.block.php patterns match \@(a(ccess|uthor)|c(ategory|opyright)|global|link|pa(ckage|ram)|return|s(ee|ince|tatic|ubpackage)|t(hrows|odo)|v(ar|ersion))\b name keyword.other.phpdoc.php match //.*$\n? name comment.line.double-slash.php match #.*$\n? name comment.line.number-sign.php begin ^\s*(interface)\s+([a-zA-Z0-9_]+)\s*(extends)?\s* beginCaptures 1 name storage.type.interface.php 2 name entity.name.type.interface.php 3 name storage.modifier.extends.php end $ name meta.interface.php patterns match [a-zA-Z0-9_]+ name entity.other.inherited-class.php begin ^\s*(abstract)?\s*(class)\s+([a-zA-Z0-9_]+)\s* beginCaptures 1 name storage.modifier.abstract.php 2 name storage.type.class.php 3 name entity.name.type.class.php end $ name meta.class.php patterns captures 1 name storage.modifier.extends.php 2 name entity.other.inherited-class.php match (extends)\s+([a-zA-Z0-9_]+)\s* begin (implements)\s+([a-zA-Z0-9_]+)\s* beginCaptures 1 name storage.modifier.implements.php 2 name support.class.implements.php end (?=\s*\bextends)|$ patterns captures 1 name support.class.implements.php match ,\s*([a-zA-Z0-9_]+)\s* 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 name keyword.control.php match \b(require|include)(_once)?\b name keyword.control.import.include.php match \b(catch|try|throw|exception)|([a-zA-Z_]*Exception)\b name keyword.control.exception.php begin (?:^\s*)((?:(?:final|abstract|public|private|protected|static)\s+)*)(function)\s*([&a-zA-Z0-9_]+)\s*\( captures 1 name storage.modifier.php 2 name storage.type.function.php 3 name entity.name.function.php end \) name meta.function.php patterns include #string-double-quoted include #string-single-quoted include #var_global include #var_global_safer include #var_basic include #language_constant captures 1 name storage.modifier.abstract.php 2 name storage.modifier.class-or-interface.php 3 name entity.name.type.class.php 4 name entity.other.inherited-class.php match (?:^\s*)(abstract)?\s*(class|interface)\s+([a-zA-Z0-9_]+)\s*(extends\s+([a-zA-Z0-9_]+))? name meta.class.php match \b(class|clone|var|function|interface|new|parent|self|__(autoload|c(all|lone|onstruct)|destruct|get|set|sleep|toString|wakeup))\b name storage.type.php match \b(abstract|const|extends|implements|final|p(r(ivate|otected)|ublic)|static)\b name storage.modifier.php match ::|-> name keyword.operator.php match \b(apache_(child_terminate|get(env|_(modules|version))|lookup_uri|note|re(quest_headers|set_timeout|sponse_headers)|setenv)|ascii2ebcdic|ebcdic2ascii|getallheaders|virtual)\b name support.function.apache.php match (=>)|\b(array(|_(c(h(ange_key_case|unk)|ombine|ount_values)|diff(|_(assoc|key|uassoc|ukey))|f(il(l|ter)|lip)|intersect(|_(assoc|key|uassoc|ukey))|key(s|_exists)|m(ap|erge(|_recursive)|ultisort)|p(ad|op|ush)|r(and|educe|everse)|s(earch|hift|lice|plice|um)|u(diff(|_(assoc|uassoc))|intersect(|_(assoc|uassoc))|nique|nshift)|values|walk(|_recursive)))|a(rsort|sort)|c(o(mpact|unt)|urrent)|e(ach|nd|xtract)|in_array|k(ey|rsort|sort)|list|n(at(casesort|sort)|ext)|p(os|rev)|r(ange|eset|sort)|s(huffle|izeof|ort)|u(asort|ksort|sort))\b name support.function.array.php match \b(bc(add|comp|div|mod|mul|pow(|mod)|scale|sqrt|sub))\b name support.function.bc.php match \b(bz(close|compress|decompress|err(no|or|str)|flush|open|read|write))\b name support.function.bzip2.php match \b(cal_(days_in_month|from_jd|info|to_jd)|easter_(date|days)|FrenchToJD|GregorianToJD|JD(DayOfWeek|MonthName|ToFrench|ToGregorian|ToJulian)|jdto(jewish|unix)|JewishToJD|JulianToJD|unixtojd)\b name support.function.calendar.php match \b(classkit_(import|method_(add|copy|redefine|remove|rename)))\b name support.function.classkit.php match \b(call_user_method(|_array)|class_exists|get_(class(|_methods|_vars)|declared_(classes|interfaces)|object_vars|parent_class)|interface_exists|is_(a|subclass_of)|method_exists)\b name support.function.classobj.php match \b(cpdf_(add_(annotation|outline)|arc|begin_text|circle|clip|close(|path(|_fill_stroke|_stroke))|continue_text|curveto|end_text|fill(|_stroke)|finalize(|_page)|global_set_document_limits|import_jpeg|lineto|moveto|newpath|open|output_buffer|page_init|place_inline_image|rect|restore|rlineto|rmoveto|rotate(|_text)|save(|_to_file)|scale|set(dash|flat|gray(|_fill|_stroke)|line(cap|join|width)|miterlimit|rgbcolor(|_fill|_stroke)|_action_url|_char_spacing|_creator|_current_page|_font(|_directories|_map_file)|_horiz_scaling|_keywords|_leading|_page_animation|_subject|_text_(matrix|pos|rendering|rise)|_title|_viewer_preferences|_word_spacing)|show(|_xy)|stringwidth|stroke|text|translate))\b name support.function.cpdf.php match \b(crack_(check|closedict|getlastmessage|opendict))\b name support.function.crack.php match \b(ctype_(al(num|pha)|cntrl|digit|graph|lower|print|punct|space|upper|xdigit))\b name support.function.ctype.php match \b(curl_(close|copy_handle|err(no|or)|exec|getinfo|init|multi_(add_handle|close|exec|getcontent|info_read|init|remove_handle|select)|setopt|version))\b name support.function.curl.php match \b(cyrus_(authenticate|bind|close|connect|query|unbind))\b name support.function.cyrus.php match \b(checkdate|date(|_sunrise|_sunset)|get(date|timeofday)|gm(date|mktime|strftime)|idate|localtime|microtime|mktime|str(ftime|ptime|totime)|time)\b name support.function.datetime.php match \b(dba_(close|delete|exists|fetch|firstkey|handlers|insert|key_split|list|nextkey|op(en|timize)|popen|replace|sync))\b name support.function.dba.php match \b(dbase_(add_record|c(lose|reate)|delete_record|get_(header_info|record(|_with_names))|num(fields|records)|open|pack|replace_record))\b name support.function.dbase.php match \b(dbplus_(a(dd|ql)|c(hdir|lose|urr)|err(code|no)|fi(nd|rst)|flush|free(alllocks|lock|rlocks)|get(lock|unique)|info|l(ast|ockrel)|next|open|prev|r(c(hperm|reate|rtexact|rtlike)|e(solve|storepos)|keys|open|query|rename|secindex|unlink|zap)|s(avepos|etindex(|bynumber)|ql)|t(cl|remove)|un(do(|prepare)|lockrel|select)|update|x(lockrel|unlockrel)))\b name support.function.dbplus.php match \b(dbx_(c(lose|ompare|onnect)|e(rror|scape_string)|fetch_row|query|sort))\b name support.function.dbx.php match \b(dio_(close|fcntl|open|read|seek|stat|t(csetattr|runcate)|write))\b name support.function.dio.php match \b(c(h(dir|root)|losedir)|getcwd|opendir|re(addir|winddir)|scandir)\b name support.function.dir.php match \b(domxml_(new_doc|open_(file|mem)|version|x(mltree|slt_stylesheet(|_doc|_file)))|x(path_(eval(|_expression)|new_context)|ptr_(eval|new_context)))\b name support.function.domxml.php match \b(debug_(backtrace|print_backtrace)|error_(log|reporting)|restore_(error_handler|exception_handler)|set_(error_handler|exception_handler)|trigger_error|user_error)\b name support.function.errorfunc.php match \b(e(scapeshell(arg|cmd)|xec)|p(assthru|roc_(close|get_status|nice|open|terminate))|s(hell_exec|ystem))\b name support.function.exec.php match \b(exif_(imagetype|read_data|tagname|thumbnail)|read_exif_data)\b name support.function.exif.php match \b(fam_(c(ancel_monitor|lose)|monitor_(collection|directory|file)|next_event|open|pending|resume_monitor|suspend_monitor))\b name support.function.fam.php match \b(fbsql_(a(ffected_rows|utocommit)|blob_size|c(hange_user|l(ob_size|ose)|o(mmit|nnect)|reate_(blob|clob|db))|d(ata(base(|_password)|_seek)|b_(query|status)|rop_db)|err(no|or)|fetch_(a(rray|ssoc)|field|lengths|object|row)|field_(flags|len|name|seek|table|type)|free_result|get_autostart_info|hostname|insert_id|list_(dbs|fields|tables)|n(ext_result|um_(fields|rows))|p(assword|connect)|query|r(e(ad_(blob|clob)|sult)|ollback)|s(e(lect_db|t_(lob_mode|password|transaction))|tart_db|top_db)|tablename|username|warnings))\b name support.function.fbsql.php match \b(fdf_(add_(doc_javascript|template)|c(lose|reate)|e(num_values|rr(no|or))|get_(a(p|ttachment)|encoding|f(ile|lags)|opt|status|v(alue|ersion))|header|next_field_name|open(|_string)|remove_item|save(|_string)|set_(ap|encoding|f(ile|lags)|javascript_action|o(n_import_javascript|pt)|s(tatus|ubmit_form_action)|target_frame|v(alue|ersion))))\b name support.function.fdf.php match \b(filepro(|_field(count|name|type|width)|_r(etrieve|owcount)))\b name support.function.filepro.php match \b(basename|c(h(grp|mod|own)|learstatcache|opy)|d(elete|i(rname|sk(freespace|_free_space|_total_space)))|f(close|eof|flush|get(csv|c|ss|s)|ile(|atime|ctime|group|inode|mtime|owner|perms|size|type|_exists|_get_contents|_put_contents)|lock|nmatch|open|passthru|put(csv|s)|read|s(canf|eek|tat)|t(ell|runcate)|write)|glob|is_(dir|executable|file|link|readable|uploaded_file|writable|writeable)|l(ink(|info)|stat)|m(kdir|ove_uploaded_file)|p(a(rse_ini_file|thinfo)|close|open)|r(e(a(d(file|link)|lpath)|name|wind)|mdir)|s(et_file_buffer|tat|ymlink)|t(empnam|mpfile|ouch)|u(mask|nlink))\b name support.function.filesystem.php match \b(ftp_(alloc|c(dup|h(dir|mod)|lose|onnect)|delete|exec|f(get|put)|get(|_option)|login|m(dtm|kdir)|n(b_(continue|fget|fput|get|put)|list)|p(asv|ut|wd)|quit|r(aw(|list)|ename|mdir)|s(et_option|ite|ize|sl_connect|ystype)))\b name support.function.ftp.php match \b(c(all_user_func(|_array)|reate_function)|func(tion_exists|_get_arg(|s)|_num_args)|get_defined_functions|register_(shutdown_function|tick_function)|unregister_tick_function)\b name support.function.funchand.php match \b(bind(textdomain|_textdomain_codeset)|d(c(gettext|ngettext)|gettext|ngettext)|gettext|ngettext|textdomain)\b name support.function.gettext.php match \b(gmp_(a(bs|dd|nd)|c(lrbit|mp|om)|div(|exact|_qr|_q|_r)|fact|gcd(|ext)|hamdist|in(it|tval|vert)|jacobi|legendre|m(od|ul)|neg|or|p(erfect_square|o(pcount|wm|w)|rob_prime)|random|s(can0|can1|etbit|ign|qrt(|rem)|trval|ub)|xor))\b name support.function.gmp.php match \b(header(|s_list|s_sent)|set(cookie|rawcookie))\b name support.function.http.php match \b(ibase_(a(dd_user|ffected_rows)|b(ackup|lob_(add|cancel|close|create|echo|get|import|info|open))|c(lose|ommit(|_ret)|onnect)|d(b_info|elete_user|rop_db)|e(rr(code|msg)|xecute)|f(etch_(assoc|object|row)|ield_info|ree_(event_handler|query|result))|gen_id|m(aintain_db|odify_user)|n(ame_result|um_(fields|params))|p(aram_info|connect|repare)|query|r(estore|ollback(|_ret))|se(rv(er_info|ice_attach|ice_detach)|t_event_handler)|t(imefmt|rans)|wait_event))\b name support.function.ibase.php match \b(iconv(|_get_encoding|_mime_(decode(|_headers)|encode)|_s(et_encoding|tr(len|pos|rpos)|ubstr))|ob_iconv_handler)\b name support.function.iconv.php match \b(id3_(get_(frame_(long_name|short_name)|genre_(id|list|name)|tag|version)|remove_tag|set_tag))\b name support.function.id3.php match \b(ifx(_affected_rows|_b(lobinfile_mode|yteasvarchar)|_c(lose|onnect|opy_blob|reate_(blob|char))|_do|_error(|msg)|_f(etch_row|ield(properties|types)|ree_(blob|char|result))|_get(sqlca|_blob|_char)|_htmltbl_result|_nu(llformat|m_(fields|rows))|_p(connect|repare)|_query|_textasvarchar|_update_(blob|char)|us_(c(lose_slob|reate_slob)|free_slob|open_slob|read_slob|seek_slob|tell_slob|write_slob)))\b name support.function.ifx.php match \b(iis_(add_server|get_(dir_security|s(cript_map|erv(er_(by_(comment|path)|rights)|ice_state)))|remove_server|set_(app_settings|dir_security|script_map|server_rights)|start_(serv(er|ice))|stop_(serv(er|ice))))\b name support.function.iisfunc.php match \b(g(d_info|etimagesize)|image(2wbmp|a(lphablending|ntialias|rc)|char(|up)|color(allocate(|alpha)|at|closest(|alpha|hwb)|deallocate|exact(|alpha)|match|resolve(|alpha)|s(et|forindex|total)|transparent)|copy(|merge(|gray)|re(sampled|sized))|create(|from(gd(|2(|part))|gif|jpeg|png|string|wbmp|xbm|xpm)|truecolor)|d(ashedline|estroy)|ellipse|f(il(l(|ed(arc|ellipse|polygon|rectangle)|toborder)|ter)|ont(height|width)|t(bbox|text))|g(ammacorrect|d(|2)|if)|i(nterlace|struecolor)|jpeg|l(ayereffect|ine|oadfont)|p(alettecopy|ng|olygon|s(bbox|copyfont|encodefont|extendfont|freefont|loadfont|slantfont|text))|r(ectangle|otate)|s(avealpha|et(brush|pixel|style|thickness|tile)|tring(|up)|x|y)|t(ruecolortopalette|tf(bbox|text)|ypes)|wbmp|xbm|_type_to_(extension|mime_type))|iptc(embed|parse)|jpeg2wbmp|png2wbmp)\b name support.function.image.php match \b(imap_(8bit|a(lerts|ppend)|b(ase64|inary|ody(|struct))|c(heck|learflag_full|lose|reatemailbox)|delete(|mailbox)|e(rrors|xpunge)|fetch(body|header|structure|_overview)|get(acl|mailboxes|subscribed|_quota(|root))|header(|info|s)|l(ast_error|ist(|mailbox|scan|subscribed)|sub)|mail(|boxmsginfo|_compose|_copy|_move)|m(ime_header_decode|sgno)|num_(msg|recent)|open|ping|qprint|r(e(namemailbox|open)|fc822_(parse_(adrlist|headers)|write_address))|s(canmailbox|e(arch|t(acl|flag_full|_quota))|ort|tatus|ubscribe)|t(hread|imeout)|u(id|n(delete|subscribe)|tf(7_decode|7_encode|8))))\b name support.function.imap.php match \b(assert(|_options)|dl|extension_loaded|get(env|lastmod|my(gid|inode|pid|uid)|opt|rusage|_c(fg_var|urrent_user)|_defined_constants|_extension_funcs|_include(d_files|_path)|_loaded_extensions|_magic_quotes_(gpc|runtime)|_required_files)|ini_(alter|get(|_all)|restore|set)|m(ain|emory_get_usage)|p(hp(credits|info|version|_ini_scanned_files|_logo_guid|_sapi_name|_uname)|utenv)|restore_include_path|set_(include_path|magic_quotes_runtime|time_limit)|version_compare|zend_(logo_guid|version))\b name support.function.info.php match \b(ircg_(channel_mode|disconnect|eval_ecmascript_params|fetch_error_msg|get_username|html_encode|i(gnore_(add|del)|nvite|s_conn_alive)|join|kick|l(ist|ookup_format_messages|users)|msg|n(ames|ick(|name_(escape|unescape))|otice)|oper|p(art|connect)|register_format_messages|set_(current|file|on_die)|topic|who(|is)))\b name support.function.ircg.php match \b(ldap_(8859_to_t61|add|bind|c(lose|o(mpare|nnect|unt_entries))|d(elete|n2ufn)|e(rr(2str|no|or)|xplode_dn)|f(irst_(attribute|entry|reference)|ree_result)|get_(attributes|dn|entries|option|values(|_len))|list|mod(ify|_add|_del|_replace)|next_(attribute|entry|reference)|parse_(reference|result)|re(ad|name)|s(asl_bind|e(arch|t_(option|rebind_proc))|ort|tart_tls)|t61_to_8859|unbind))\b name support.function.ldap.php match \b(a(bs|cos(|h)|sin(|h)|tan(|h|2))|b(ase_convert|indec)|c(eil|os(|h))|de(c(bin|hex|oct)|g2rad)|exp(|m1)|f(loor|mod)|getrandmax|h(exdec|ypot)|is_(finite|infinite|nan)|l(cg_value|og(|10|1p))|m(ax|in|t_(getrandmax|rand|srand))|octdec|p(i|ow)|r(a(d2deg|nd)|ound)|s(in(|h)|qrt|rand)|tan(|h))\b name support.function.math.php match \b(maxdb_(a(ffected_rows|utocommit)|bind_(param|result)|c(ha(nge_user|racter_set_name)|l(ient_encoding|ose(|_long_data))|o(mmit|nnect(|_err(no|or))))|d(ata_seek|ebug|isable_r(eads_from_master|pl_parse)|ump_debug_info)|e(mbedded_connect|nable_r(eads_from_master|pl_parse)|rr(no|or)|scape_string|xecute)|f(etch(|_array|_assoc|_field(|s|_direct)|_lengths|_resource|_row)|ield_(count|seek|tell)|ree_result)|get_(client_(info|version)|host_info|metadata|proto_info|server_(info|version))|in(fo|it|sert_id)|kill|m(aster_query|ore_results|ulti_query)|n(ext_result|um_(fields|rows))|options|p(aram_count|ing|repare)|query|r(e(al_(connect|escape_string|query)|port)|ollback|pl_(parse_enabled|probe|query_type))|s(e(lect_db|nd_(long_data|query)|rver_(end|init)|t_opt)|qlstate|sl_set|tat|tmt_(affected_rows|bind_(param|result)|close(|_long_data)|data_seek|e(rr(no|or)|xecute)|f(etch|ree_result)|init|num_rows|p(aram_count|repare)|res(et|ult_metadata)|s(end_long_data|qlstate|tore_result))|tore_result)|thread_(id|safe)|use_result|warning_count))\b name support.function.maxdb.php match \b(mb_(convert_(case|encoding|kana|variables)|de(code_(mimeheader|numericentity)|tect_(encoding|order))|e(ncode_(mimeheader|numericentity)|reg(|_match|_replace|_search(|_get(pos|regs)|_init|_pos|_regs|_setpos)|i(|_replace)))|get_info|http_(input|output)|internal_encoding|l(anguage|ist_encodings)|output_handler|p(arse_str|referred_mime_name)|regex_(encoding|set_options)|s(end_mail|plit|tr(cut|imwidth|len|pos|rpos|tolower|toupper|width)|ubs(titute_character|tr|tr_count))))\b name support.function.mbstring.php match \b(mcal_(append_event|c(lose|reate_calendar)|d(a(te_(compare|valid)|y(s_in_month|_of_(week|year)))|elete_(calendar|event))|e(vent_(add_attribute|init|set_(alarm|category|class|description|end|recur_(daily|monthly_mday|monthly_wday|none|weekly|yearly)|start|title))|xpunge)|fetch_(current_stream_event|event)|is_leap_year|list_(alarms|events)|next_recurrence|open|popen|re(name_calendar|open)|s(nooze|tore_event)|time_valid|week_of_year))\b name support.function.mcal.php match \b(mcrypt_(c(bc|fb|reate_iv)|decrypt|e(cb|nc(rypt|_get_(algorithms_name|block_size|iv_size|key_size|modes_name|supported_key_sizes)|_is_block_(algorithm_mode|algorithm|mode)|_self_test))|ge(neric(|_deinit|_end|_init)|t_(block_size|cipher_name|iv_size|key_size))|list_(algorithms|modes)|module_(close|get_(algo_(block_size|key_size)|supported_key_sizes)|is_block_(algorithm(|_mode)|mode)|open|self_test)|ofb)|mdecrypt_generic)\b name support.function.mcrypt.php match \b(mhash(|_count|_get_(block_size|hash_name)|_keygen_s2k))\b name support.function.mhash.php match \b(ming_(set(cubicthreshold|scale)|useswfversion)|SWF(Action|Bitmap|button(|_keypress)|DisplayItem|Font|Gradient|Mo(rph|vie)|S(hape|prite)|Text(|Field(|->addstring))))\b name support.function.ming.php match \b(apd_(breakpoint|callstack|clunk|continue|croak|dump_(function_table|persistent_resources|regular_resources)|echo|get_active_symbols|set_(pprof_trace|session_trace|session|socket_session_trace))|aspell_(check(|_raw)|new|suggest)|bcompiler_(load_exe|load|parse_class|read|write_(class|constant|exe_footer|file|footer|function|functions_from_file|header))|ccvs_(add|auth|command|count|delete|done|init|lookup|new|report|return|reverse|sale|status|textvalue|void)|com_(addref|create_guid|event_sink|get(|_active_object)|invoke|isenum|load(|_typelib)|message_pump|print_typeinfo|propget|propput|propset|release|set)|con(nection_(aborted|status|timeout)|stant)|cybercash_(base64_(decode|encode)|decr|encr)|d(b(list|m(close|delete|exists|fetch|firstkey|insert|nextkey|open|replace))|efine(|d)|om_import_simplexml|otnet_load)|e(val|zmlm_hash)|fribidi_log2vis|get_browser|highlight_(file|string)|i(gnore_user_abort|s_soap_fault)|java_last_exception_(clear|get)|lzf_(compress|decompress|optimized_for)|m(ail|emcache_debug|ime_content_type)|nsapi_(re(quest_headers|sponse_headers)|virtual)|overload|p(ack|hp_(check_syntax|strip_whitespace))|qdom_(error|tree)|r(ar_(close|entry_get|list|open)|ecode(|_file|_string))|s(how_source|leep)|t(cpwrap_check|ime_nanosleep|oken_(get_all|name))|u(n(iqid|pack)|s(e_soap_error_handler|leep)))\b name support.function.misc.php match \b(msql(|_affected_rows|_c(lose|onnect|reate(db|_db))|_d(ata_seek|b(name|_query)|rop_db)|_error|_f(etch_(array|field|object|row)|ield(flags|len|name|table|type|_flags|_len|_name|_seek|_table|_type)|ree_result)|_list_(dbs|fields|tables)|_num(fields|rows|_fields|_rows)|_pconnect|_query|_re(gcase|sult)|_select_db|_tablename))\b name support.function.msql.php match \b(mssql_(bind|c(lose|onnect)|data_seek|execute|f(etch_(array|assoc|batch|field|object|row)|ield_(length|name|seek|type)|ree_(result|statement))|g(et_last_message|uid_string)|init|min_(error_severity|message_severity)|n(ext_result|um_(fields|rows))|pconnect|query|r(esult|ows_affected)|select_db))\b name support.function.mssql.php match \b(mysql_(affected_rows|c(hange_user|l(ient_encoding|ose)|onnect|reate_db)|d(ata_seek|b_(name|query)|rop_db)|e(rr(no|or)|scape_string)|f(etch_(array|assoc|field|lengths|object|row)|ield_(flags|len|name|seek|table|type)|ree_result)|get_(client_info|host_info|proto_info|server_info)|in(fo|sert_id)|list_(dbs|fields|processes|tables)|num_(fields|rows)|p(connect|ing)|query|re(al_escape_string|sult)|s(elect_db|tat)|t(ablename|hread_id)|unbuffered_query))\b name support.function.mysql.php match \b(mysqli_(a(ffected_rows|utocommit)|bind_(param|result)|c(ha(nge_user|racter_set_name)|l(ient_encoding|ose)|o(mmit|nnect(|_err(no|or))))|d(ata_seek|ebug|isable_(reads_from_master|rpl_parse)|ump_debug_info)|e(mbedded_connect|nable_(reads_from_master|rpl_parse)|rr(no|or)|scape_string|xecute)|f(etch(|_array|_assoc|_field(|s|_direct)|_lengths|_object|_row)|ield_(count|seek|tell)|ree_result)|get_(client_(info|version)|host_info|metadata|proto_info|server_(info|version))|in(fo|it|sert_id)|kill|m(aster_query|ore_results|ulti_query)|n(ext_result|um_(fields|rows))|options|p(aram_count|ing|repare)|query|r(e(al_(connect|escape_string|query)|port)|ollback|pl_(parse_enabled|probe|query_type))|s(e(lect_db|nd_(long_data|query)|rver_(end|init)|t_opt)|qlstate|sl_set|tat|tmt_(affected_rows|bind_(param|result)|close|data_seek|e(rr(no|or)|xecute)|f(etch|ree_result)|init|num_rows|p(aram_count|repare)|res(et|ult_metadata)|s(end_long_data|qlstate|tore_result))|tore_result)|thread_(id|safe)|use_result|warning_count))\b name support.function.mysqli.php match \b(c(heckdnsrr|loselog)|d(e(bugger_(off|on)|fine_syslog_variables)|ns_(check_record|get_mx|get_record))|fsockopen|get(hostby(addr|name(|l))|mxrr|protoby(name|number)|servby(name|port))|i(net_(ntop|pton)|p2long)|long2ip|openlog|pfsockopen|s(ocket_(get_status|set_(blocking|timeout))|yslog))\b name support.function.network.php match \b(notes_(body|c(opy_db|reate_(db|note))|drop_db|find_note|header_info|list_msgs|mark_(read|unread)|nav_create|search|unread|version))\b name support.function.notes.php match \b(aggregat(e(|_info|_methods(|_by_(list|regexp))|_properties(|_by_(list|regexp)))|ion_info)|deaggregate)\b name support.function.objaggregation.php match \b(oci(bindbyname|c(ancel|loselob|o(ll(a(ppend|ssign(|elem))|getelem|max|size|trim)|lumn(isnull|name|precision|s(cale|ize)|type(|raw))|mmit))|definebyname|e(rror|xecute)|f(etch(|into|statement)|ree(c(ollection|ursor)|desc|statement))|internaldebug|lo(adlob|go(ff|n))|n(ew(c(ollection|ursor)|descriptor)|logon|umcols)|p(arse|logon)|r(esult|o(llback|wcount))|s(avelob(|file)|e(rverversion|tprefetch)|tatementtype)|write(lobtofile|temporarylob)|_(bind_by_name|c(ancel|lose|o(mmit|nnect))|define_by_name|e(rror|xecute)|f(etch(|_(all|array|assoc|object|row))|ield_(is_null|name|precision|s(cale|ize)|type(|_raw))|ree_statement)|internal_debug|lob_(copy|is_equal)|n(ew_(c(o(llection|nnect)|ursor)|descriptor)|um_(fields|rows))|p(a(rse|ssword_change)|connect)|r(esult|ollback)|s(e(rver_version|t_prefetch)|tatement_type))))\b name support.function.oci8.php match \b(openssl_(csr_(export(|_to_file)|new|sign)|error_string|free_key|get_p(rivatekey|ublickey)|open|p(k(cs7_(decrypt|encrypt|sign|verify)|ey_(export(|_to_file)|get_(private|public)|new))|rivate_(decrypt|encrypt)|ublic_(decrypt|encrypt))|s(eal|ign)|verify|x509_(check(purpose|_private_key)|export(|_to_file)|free|parse|read)))\b name support.function.openssl.php match \b(ora_(bind|c(lose|o(lumn(name|size|type)|mmit(|off|on)))|do|e(rror(|code)|xec)|fetch(|_into)|getcolumn|logo(ff|n)|num(cols|rows)|open|p(arse|logon)|rollback))\b name support.function.oracle.php match \b(flush|o(b_(clean|end_(clean|flush)|flush|get_(clean|contents|flush|length|level|status)|gzhandler|implicit_flush|list_handlers|start|tidyhandler)|utput_(add_rewrite_var|reset_rewrite_vars)))\b name support.function.outcontrol.php match \b(ovrimos_(c(lose|o(mmit|nnect)|ursor)|exec(|ute)|f(etch_(into|row)|ield_(len|name|num|type)|ree_result)|longreadlen|num_(fields|rows)|prepare|r(esult(|_all)|ollback)))\b name support.function.ovrimos.php match \b(parsekit_(compile_(file|string)|func_arginfo))\b name support.function.parsekit.php match \b(pcntl_(alarm|exec|fork|getpriority|setpriority|signal|w(ait(|pid)|exitstatus|if(exited|signaled|stopped)|stopsig|termsig)))\b name support.function.pcntl.php match \b(preg_(grep|match(|_all)|quote|replace(|_callback)|split))\b name support.function.pcre.php match \b(pdf_(a(dd_(annotation|bookmark|launchlink|locallink|note|outline|pdflink|thumbnail|weblink)|rc(|n)|ttach_file)|begin_(pa(ge|ttern)|template)|c(ircle|l(ip|o(se(|path(|_fill_stroke|_stroke)|_(image|pdi(|_page)))))|on(cat|tinue_text)|urveto)|delete|end(path|_(pa(ge|ttern)|template))|fi(ll(|_stroke)|ndfont)|get_(buffer|font(|name|size)|image_(height|width)|m(ajorversion|inorversion)|p(arameter|di_(parameter|value))|value)|initgraphics|lineto|m(akespotcolor|oveto)|new|open(|_(ccitt|file|gif|image(|_file)|jpeg|memory_image|p(di(|_page)|ng)|tiff))|place_(image|pdi_page)|r(e(ct|store)|otate)|s(ave|cale|et(color|dash|f(lat|ont)|gray(|_fill|_stroke)|line(cap|join|width)|m(atrix|iterlimit)|polydash|rgbcolor(|_fill|_stroke)|_(border_(color|dash|style)|char_spacing|duration|font|horiz_scaling|info(|_(author|creator|keywords|subject|title))|leading|parameter|text_(matrix|pos|rendering|rise)|value|word_spacing))|how(|_boxed|_xy)|kew|tr(ingwidth|oke))|translate))\b name support.function.pdf.php match \b(pg_(affected_rows|c(ancel_query|l(ient_encoding|ose)|o(n(nect(|ion_(busy|reset|status))|vert)|py_(from|to)))|d(bname|elete)|e(nd_copy|scape_(bytea|string))|f(etch_(a(ll|rray|ssoc)|object|r(esult|ow))|ield_(is_null|n(ame|um)|prtlen|size|type)|ree_result)|get_(notify|pid|result)|host|insert|l(ast_(error|notice|oid)|o_(c(lose|reate)|export|import|open|read(|_all)|seek|tell|unlink|write))|meta_data|num_(fields|rows)|options|p(arameter_status|connect|ing|ort|ut_line)|query|result_(error|seek|status)|se(lect|nd_query|t_client_encoding)|t(race|ty)|u(n(escape_bytea|trace)|pdate)|version))\b name support.function.pgsql.php match \b(posix_(access|ctermid|get(cwd|e(gid|uid)|g(id|r(gid|nam|oups))|login|p(g(id|rp)|id|pid|w(nam|uid))|rlimit|sid|uid|_last_error)|isatty|kill|mkfifo|s(et(e(gid|uid)|gid|pgid|sid|uid)|trerror)|t(imes|tyname)|uname))\b name support.function.posix.php match \b(printer_(abort|c(lose|reate_(brush|dc|font|pen))|d(elete_(brush|dc|font|pen)|raw_(bmp|chord|elipse|line|pie|r(ectangle|oundrect)|text))|end_(doc|page)|get_option|l(ist|ogical_fontheight)|open|s(e(lect_(brush|font|pen)|t_option)|tart_(doc|page))|write))\b name support.function.printer.php match \b(pspell_(add_to_(personal|session)|c(heck|lear_session|onfig_(create|d(ata_dir|ict_dir)|ignore|mode|personal|r(epl|untogether)|save_repl))|new(|_config|_personal)|s(ave_wordlist|tore_replacement|uggest)))\b name support.function.pspell.php match \b(readline(|_(add_history|c(allback_(handler_(install|remove)|read_char)|lear_history|ompletion_function)|info|list_history|on_new_line|re(ad_history|display)|write_history)))\b name support.function.readline.php match \b(ereg(|_replace|i(|_replace))|s(plit(|i)|ql_regcase))\b name support.function.regex.php match \b(ftok|msg_(get_queue|re(ceive|move_queue)|s(e(nd|t_queue)|tat_queue))|s(em_(acquire|get|re(lease|move))|hm_(attach|detach|get_var|put_var|remove(|_var))))\b name support.function.sem.php match \b(sesam_(affected_rows|co(mmit|nnect)|di(agnostic|sconnect)|e(rrormsg|xecimm)|f(etch_(array|result|row)|ield_(array|name)|ree_result)|num_fields|query|rollback|se(ek_row|ttransaction)))\b name support.function.sesam.php match \b(session_(c(ache_(expire|limiter)|ommit)|de(code|stroy)|encode|get_cookie_params|i(d|s_registered)|module_name|name|re(generate_id|gister)|s(ave_path|et_(cookie_params|save_handler)|tart)|un(register|set)|write_close))\b name support.function.session.php match \b(shmop_(close|delete|open|read|size|write))\b name support.function.shmop.php match \b(simplexml_(import_dom|load_(file|string)))\b name support.function.simplexml.php match \b(snmp(get(|next)|realwalk|set|walk(|oid)|_(get_(quick_print|valueretrieval)|read_mib|set_(enum_print|oid_numeric_print|quick_print|valueretrieval))))\b name support.function.snmp.php match \b(is_soap_fault|use_soap_error_handler)\b name support.function.soap.php match \b(socket_(accept|bind|c(l(ear_error|ose)|onnect|reate(|_listen|_pair))|get(peername|sockname|_option)|l(ast_error|isten)|re(ad|cv(|from))|s(e(lect|nd(|to)|t_(block|nonblock|option))|hutdown|trerror)|write))\b name support.function.sockets.php match \b(class_(implements|parents)|iterator_(count|to_array)|spl_classes)\b name support.function.spl.php match \b(sqlite_(array_query|busy_timeout|c(hanges|lose|olumn|reate_(aggregate|function)|urrent)|e(rror_string|scape_string|xec)|f(actory|etch_(a(ll|rray)|column_types|object|s(ingle|tring))|ield_name)|has_(more|prev)|key|l(ast_(error|insert_rowid)|ib(encoding|version))|n(ext|um_(fields|rows))|open|p(open|rev)|query|rewind|s(eek|ingle_query)|u(df_(decode_binary|encode_binary)|nbuffered_query)|valid))\b name support.function.sqlite.php match \b(ssh2_(auth_(none|password|pubkey_file)|connect|exec|f(etch_stream|ingerprint)|methods_negotiated|s(cp_(recv|send)|ftp(|_(lstat|mkdir|readlink|realpath|rename|rmdir|stat|symlink|unlink))|hell)|tunnel))\b name support.function.ssh2.php match \b(stream_(co(ntext_(create|get_(default|options)|set_(option|params))|py_to_stream)|filter_(append|prepend|re(gister|move))|get_(contents|filters|line|meta_data|transports|wrappers)|register_wrapper|s(e(lect|t_(blocking|timeout|write_buffer))|ocket_(accept|client|enable_crypto|get_name|pair|recvfrom|se(ndto|rver)))|wrapper_(re(gister|store)|unregister)))\b name support.function.stream.php match \b(add(cslashes|slashes)|bin2hex|c(h(op|r|unk_split)|onvert_(cyr_string|uudecode|uuencode)|ount_chars|rc32|rypt)|e(cho|xplode)|fprintf|get_html_translation_table|h(ebrev(|c)|tml(entities|specialchars|_entity_decode))|implode|join|l(evenshtein|ocaleconv|trim)|m(d5(|_file)|etaphone|oney_format)|n(l(2br|_langinfo)|umber_format)|ord|p(arse_str|rint(|f))|quote(d_printable_decode|meta)|rtrim|s(etlocale|ha1(|_file)|imilar_text|oundex|printf|scanf|tr(c(asecmp|hr|mp|oll|spn)|i(p(cslashes|os|slashes|_tags)|str)|len|n(atc(asecmp|mp)|c(asecmp|mp))|p(brk|os)|r(chr|ev|ipos|pos)|s(pn|tr)|t(o(k|lower|upper)|r)|_(ireplace|pad|r(ep(eat|lace)|ot13)|s(huffle|plit)|word_count))|ubstr(|_(compare|count|replace)))|trim|uc(first|words)|v(fprintf|printf|sprintf)|wordwrap)\b name support.function.strings.php match \b(swf_(a(ction(g(eturl|oto(frame|label))|nextframe|p(lay|revframe)|s(ettarget|top)|togglequality|waitforframe)|dd(buttonrecord|color))|closefile|define(bitmap|font|line|poly|rect|text)|end(button|doaction|shape|symbol)|font(size|slant|tracking)|get(bitmapinfo|fontinfo|frame)|l(abelframe|ookat)|m(odifyobject|ulcolor)|nextid|o(ncondition|penfile|rtho(|2))|p(erspective|laceobject|o(larview|pmatrix|sround)|ushmatrix)|r(emoveobject|otate)|s(cale|et(font|frame)|hape(arc|curveto(|3)|fill(bitmap(clip|tile)|off|solid)|line(solid|to)|moveto)|howframe|tart(button|doaction|shape|symbol))|t(extwidth|ranslate)|viewport))\b name support.function.swf.php match \b(sybase_(affected_rows|c(lose|onnect)|d(ata_seek|eadlock_retry_count)|f(etch_(array|assoc|field|object|row)|ield_seek|ree_result)|get_last_message|min_(client_severity|error_severity|message_severity|server_severity)|num_(fields|rows)|pconnect|query|result|se(lect_db|t_message_handler)|unbuffered_query))\b name support.function.sybase.php match \b(tidy_(access_count|c(lean_repair|onfig_count)|diagnose|error_count|get(opt|_(body|config|error_buffer|head|html(|_ver)|output|r(elease|oot)|status))|is_(xhtml|xml)|load_config|parse_(file|string)|re(pair_(file|string)|set_config)|s(ave_config|et(opt|_encoding))|warning_count))\b name support.function.tidy.php match \b(odbc_(autocommit|binmode|c(lose(|_all)|o(lumn(s|privileges)|mmit|nnect)|ursor)|d(ata_source|o)|e(rror(|msg)|xec(|ute))|f(etch_(array|into|object|row)|ield_(len|n(ame|um)|precision|scale|type)|oreignkeys|ree_result)|gettypeinfo|longreadlen|n(ext_result|um_(fields|rows))|p(connect|r(epare|imarykeys|ocedure(columns|s)))|r(esult(|_all)|ollback)|s(etoption|pecialcolumns|tatistics)|table(privileges|s)))\b name support.function.odbc.php match \b(base64_(decode|encode)|get_(headers|meta_tags)|http_build_query|parse_url|rawurl(decode|encode)|url(decode|encode))\b name support.function.url.php match \b(d(ebug_zval_dump|oubleval)|empty|floatval|get(type|_(defined_vars|resource_type))|i(mport_request_variables|ntval|s(set|_(array|bool|callable|double|float|integer|int|long|null|numeric|object|real|resource|scalar|string)))|print_r|s(e(rialize|ttype)|trval)|un(se(rialize|t))|var_(dump|export))\b name support.function.var.php match \b(vpopmail_(a(dd_(alias_(domain_ex|domain)|domain(|_ex)|user)|lias_(add|del(|_domain)|get(|_all))|uth_user)|del_(domain(|_ex)|user)|error|passwd|set_user_quota))\b name support.function.vpopmail.php match \b(w32api_(deftype|in(it_dtype|voke_function)|register_function|set_call_method))\b name support.function.w32api.php match \b(wddx_(add_vars|deserialize|packet_(end|start)|serialize_(value|vars)))\b name support.function.wddx.php match \b(xattr_(get|list|remove|s(et|upported)))\b name support.function.xattr.php match \b(xdiff_(file_(diff(|_binary)|merge3|patch(|_binary))|string_(diff(|_binary)|merge3|patch(|_binary))))\b name support.function.xdiff.php match \b(utf8_(decode|encode)|xml_(error_string|get_(current_(byte_index|column_number|line_number)|error_code)|parse(|r(_create(|_ns)|_free|_get_option|_set_option)|_into_struct)|set_(character_data_handler|default_handler|e(lement_handler|nd_namespace_decl_handler|xternal_entity_ref_handler)|notation_decl_handler|object|processing_instruction_handler|start_namespace_decl_handler|unparsed_entity_decl_handler)))\b name support.function.xml.php match \b(xmlrpc_(decode(|_request)|encode(|_request)|get_type|is_fault|parse_method_descriptions|se(rver_(add_introspection_data|c(all_method|reate)|destroy|register_(introspection_callback|method))|t_type)))\b name support.function.xmlrpc.php match \b(xslt_(backend_(info|name|version)|create|err(no|or)|free|getopt|process|set(opt|_(base|e(ncoding|rror_handler)|log|object|s(ax_(handler(|s))|cheme_(handler(|s)))))))\b name support.function.xslt.php match \b(zip_(close|entry_(c(lose|ompress(edsize|ionmethod))|filesize|name|open|read)|open|read))\b name support.function.zip.php match \b(gz(c(lose|ompress)|deflate|e(ncode|of)|file|get(c|ss|s)|inflate|open|p(assthru|uts)|re(ad|wind)|seek|tell|uncompress|write)|readgzfile|zlib_get_coding_type)\b name support.function.zlib.php begin <<<([a-zA-Z_]+[a-zA-Z0-9_]*) captures 1 name keyword.operator.heredoc.shell end ^(\1);?$ name string.unquoted.heredoc.php patterns include #var_complex_string_heredoc match (===|==|!==|!=|<=|>=|<>|<|>) name keyword.operator.comparison.php match (@) name keyword.operator.error-control.php match (\-\-|\+\+) name keyword.operator.increment-decrement.php match (\-|\+|\*|\/|%) name keyword.operator.arithmetic.php match (!|&&|\|\|)|\b(and|or|xor|as)\b name keyword.operator.logical.php match (\.=|\.) name keyword.operator.string.php match \b(instanceof)\b name keyword.operator.type.php match \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b name constant.numeric.php include #string-double-quoted include #string-single-quoted include #var_global include #var_global_safer include #var_basic captures 1 name keyword.operator.php 2 name variable.other.property.php 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 include #language_constant match \b(DEFAULT_INCLUDE_PATH|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|ERROR|NOTICE|PARSE|STRICT|USER_(ERROR|NOTICE|WARNING)|WARNING)|PEAR_(EXTENSION_DIR|INSTALL_DIR)|PHP_(BINDIR|CONFIG_FILE_PATH|DATADIR|E(OL|XTENSION_DIR)|L(IBDIR|OCALSTATEDIR)|O(S|UTPUT_HANDLER_CONT|UTPUT_HANDLER_END|UTPUT_HANDLER_START)|SYSCONFDIR|VERSION))\b name support.constant.core.php 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 name support.constant.std.php language_constant match \b(TRUE|true|FALSE|false|NULL|null|__(FILE__|FUNCTION__|CLASS__|METHOD__|LINE__)|ON|OFF|YES|NO|NL|BR|TAB)\b name constant.language.php string-double-quoted begin " end " name string.quoted.double.php patterns match \\. name constant.character.escape.php include #var_complex_string_heredoc string-single-quoted begin ' end ' name string.quoted.single.php patterns match \\. name constant.character.escape.php var_basic match \$+[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?\b name variable.other.php var_complex_string_heredoc 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>\})\}) name variable.other.php var_global match \$(_(COOKIE|FILES|GET|POST|REQUEST))\b name variable.other.global.php var_global_safer match (\$(GLOBALS|_(ENV|SERVER|SESSION)))|\b(global)\b name variable.other.global.safer.php scopeName source.prado.php uuid DDC83EED-168F-4DEB-971D-84A2CF3CB38F