From f211f02d1e53dbb4eada17e999eba81bccaf1fb2 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Thu, 9 Jan 2014 11:59:09 +0100 Subject: [PATCH] Update --- ftdetect/polyglot.vim | 2 +- ftplugin/latex-box/complete.vim | 2 +- ftplugin/scala.vim | 5 -- indent/clojure.vim | 9 ++- indent/elixir.vim | 48 ++++++------ indent/ruby.vim | 36 +++++++-- syntax/elixir.vim | 4 +- syntax/markdown.vim | 2 +- syntax/perl.vim | 6 +- syntax/php.vim | 125 +++++++++++++++++++++----------- syntax/rust.vim | 2 +- syntax/scala.vim | 70 ++++++++++++------ syntax/slim.vim | 1 + 13 files changed, 201 insertions(+), 111 deletions(-) diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim index bcccd78..5433fe1 100644 --- a/ftdetect/polyglot.vim +++ b/ftdetect/polyglot.vim @@ -117,7 +117,7 @@ fun! s:DetectScala() endfun au BufRead,BufNewFile *.scala,*.sbt set filetype=scala au BufRead,BufNewFile * call s:DetectScala() -autocmd BufNewFile,BufRead *.slim setf slim +autocmd BufNewFile,BufRead *.slim set filetype=slim autocmd BufNewFile,BufReadPost *.styl set filetype=stylus autocmd BufNewFile,BufReadPost *.stylus set filetype=stylus au BufRead,BufNewFile *.textile set filetype=textile diff --git a/ftplugin/latex-box/complete.vim b/ftplugin/latex-box/complete.vim index 9f4f55d..3b47a2f 100644 --- a/ftplugin/latex-box/complete.vim +++ b/ftplugin/latex-box/complete.vim @@ -365,7 +365,7 @@ function! s:ExtractLabels() let curname = strpart( getline( lblline ), lblbegin, nameend - lblbegin - 1 ) " Ignore cref entries (because they are duplicates) - if curname =~ "\@cref" + if curname =~ "\@cref\|cref\@" continue endif diff --git a/ftplugin/scala.vim b/ftplugin/scala.vim index 00d4566..b042d4d 100644 --- a/ftplugin/scala.vim +++ b/ftplugin/scala.vim @@ -1,8 +1,3 @@ -setlocal textwidth=140 -setlocal shiftwidth=2 -setlocal softtabstop=2 -setlocal expandtab -setlocal formatoptions=tcqr setlocal commentstring=//%s let &l:include = '^\s*import' let &l:includeexpr = 'substitute(v:fname,"\\.","/","g")' diff --git a/indent/clojure.vim b/indent/clojure.vim index fd9ebb6..a92e273 100644 --- a/indent/clojure.vim +++ b/indent/clojure.vim @@ -148,6 +148,10 @@ if exists("*searchpairpos") return val endfunction + function! s:StripNamespaceAndMacroChars(word) + return substitute(a:word, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '') + endfunction + function! s:ClojureIsMethodSpecialCaseWorker(position) " Find the next enclosing form. call search('\S', 'Wb') @@ -167,7 +171,8 @@ if exists("*searchpairpos") call cursor(nextParen) call search('\S', 'W') - if g:clojure_special_indent_words =~ '\<' . s:CurrentWord() . '\>' + let w = s:StripNamespaceAndMacroChars(s:CurrentWord()) + if g:clojure_special_indent_words =~ '\<' . w . '\>' return 1 endif @@ -273,7 +278,7 @@ if exists("*searchpairpos") " metacharacters. " " e.g. clojure.core/defn and #'defn should both indent like defn. - let ww = substitute(w, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '') + let ww = s:StripNamespaceAndMacroChars(w) if &lispwords =~ '\V\<' . ww . '\>' return paren[1] + &shiftwidth - 1 diff --git a/indent/elixir.vim b/indent/elixir.vim index a71c466..01303c2 100644 --- a/indent/elixir.vim +++ b/indent/elixir.vim @@ -25,10 +25,11 @@ let s:block_skip = "synIDattr(synID(line('.'),col('.'),1),'name') =~? '" . s:s let s:block_start = 'do\|fn' let s:block_middle = 'else\|match\|elsif\|catch\|after\|rescue' let s:block_end = 'end' +let s:arrow = '^.*->$' let s:pipeline = '^\s*|>.*$' -let s:indent_keywords = '\<\%(' . s:block_start . '\|' . s:block_middle . '\)$' -let s:deindent_keywords = '^\s*\<\%(' . s:block_end . '\|' . s:block_middle . '\)\>' +let s:indent_keywords = '\<\%(' . s:block_start . '\|' . s:block_middle . '\)$' . '\|' . s:arrow +let s:deindent_keywords = '^\s*\<\%(' . s:block_end . '\|' . s:block_middle . '\)\>' . '\|' . s:arrow function! GetElixirIndent(...) let lnum = prevnonblank(v:lnum - 1) @@ -40,42 +41,38 @@ function! GetElixirIndent(...) endif if synIDattr(synID(v:lnum, 1, 1), "name") !~ s:skip_syntax - let splited_line = split(getline(lnum), '\zs') - let opened_symbol = 0 + let current_line = getline(v:lnum) + let last_line = getline(lnum) + + let splited_line = split(last_line, '\zs') + let opened_symbol = 0 let opened_symbol += count(splited_line, '[') - count(splited_line, ']') let opened_symbol += count(splited_line, '{') - count(splited_line, '}') let ind += opened_symbol * &sw - if getline(lnum) =~ s:indent_keywords . - \ '\|^\s*\%(.*->\)$' + if last_line =~ s:indent_keywords let ind += &sw endif " if line starts with pipeline - " and last line doesn't start with pipeline - if getline(v:lnum) =~ s:pipeline && - \ getline(lnum) !~ s:pipeline - let ind += &sw - endif - - " if last line starts with pipeline - " and currentline doesn't start with pipeline - if getline(lnum) =~ s:pipeline && - \ getline(v:lnum) !~ s:pipeline - let ind -= &sw + " and last line is an attribution + " indents pipeline in same level as attribution + if current_line =~ s:pipeline && + \ last_line =~ '^[^=]\+=.\+$' + let b:old_ind = ind + let ind += round(match(last_line, '=') / &sw) * &sw endif " if last line starts with pipeline " and current line doesn't start with pipeline - " but last line started a block - if getline(lnum) =~ s:pipeline && - \ getline(v:lnum) !~ s:pipeline && - \ getline(lnum) =~ s:block_start - let ind += &sw + " returns the indentation before the pipeline + if last_line =~ s:pipeline && + \ current_line !~ s:pipeline + let ind = b:old_ind endif - if getline(v:lnum) =~ s:deindent_keywords + if current_line =~ s:deindent_keywords let bslnum = searchpair( '\<\%(' . s:block_start . '\):\@!\>', \ '\<\%(' . s:block_middle . '\):\@!\>\zs', \ '\<:\@\zs', @@ -83,6 +80,11 @@ function! GetElixirIndent(...) \ s:block_skip ) let ind = indent(bslnum) endif + + " indent case statements '->' + if current_line =~ s:arrow + let ind += &sw + endif endif return ind diff --git a/indent/ruby.vim b/indent/ruby.vim index 89a430c..2a571bd 100644 --- a/indent/ruby.vim +++ b/indent/ruby.vim @@ -22,7 +22,7 @@ setlocal nosmartindent " Now, set up our indentation expression and keys that trigger it. setlocal indentexpr=GetRubyIndent(v:lnum) -setlocal indentkeys=0{,0},0),0],!^F,o,O,e,: +setlocal indentkeys=0{,0},0),0],!^F,o,O,e,:,. setlocal indentkeys+==end,=else,=elsif,=when,=ensure,=rescue,==begin,==end setlocal indentkeys+==private,=protected,=public @@ -55,9 +55,10 @@ let s:skip_expr = \ "synIDattr(synID(line('.'),col('.'),1),'name') =~ '".s:syng_strcom."'" " Regex used for words that, at the start of a line, add a level of indent. -let s:ruby_indent_keywords = '^\s*\zs\<\%(module\|class\|def\|if\|for' . - \ '\|while\|until\|else\|elsif\|case\|when\|unless\|begin\|ensure' . - \ '\|rescue\):\@!\>' . +let s:ruby_indent_keywords = + \ '^\s*\zs\<\%(module\|class\|if\|for' . + \ '\|while\|until\|else\|elsif\|case\|when\|unless\|begin\|ensure\|rescue' . + \ '\|\%(public\|protected\|private\)\=\s*def\):\@!\>' . \ '\|\%([=,*/%+-]\|<<\|>>\|:\s\)\s*\zs' . \ '\<\%(if\|for\|while\|until\|case\|unless\|begin\):\@!\>' @@ -70,7 +71,8 @@ let s:ruby_deindent_keywords = " TODO: the do here should be restricted somewhat (only at end of line)? let s:end_start_regex = \ '\C\%(^\s*\|[=,*/%+\-|;{]\|<<\|>>\|:\s\)\s*\zs' . - \ '\<\%(module\|class\|def\|if\|for\|while\|until\|case\|unless\|begin\):\@!\>' . + \ '\<\%(module\|class\|if\|for\|while\|until\|case\|unless\|begin' . + \ '\|\%(public\|protected\|private\)\=\s*def\):\@!\>' . \ '\|\%(^\|[^.:@$]\)\@<=\' " Regex that defines the middle-match for the 'end' keyword. @@ -99,10 +101,10 @@ let s:bracket_continuation_regex = '%\@\|0[0-7]{0,2}[0-7]\@!\>\|[^x0MC]\)\|(\\[MC]-)+\w\|[^\s\\]\)" diff --git a/syntax/markdown.vim b/syntax/markdown.vim index 4ba02b2..ba0d556 100644 --- a/syntax/markdown.vim +++ b/syntax/markdown.vim @@ -70,7 +70,7 @@ syn region markdownUrlTitle matchgroup=markdownUrlTitleDelimiter start=+"+ end=+ syn region markdownUrlTitle matchgroup=markdownUrlTitleDelimiter start=+'+ end=+'+ keepend contained syn region markdownUrlTitle matchgroup=markdownUrlTitleDelimiter start=+(+ end=+)+ keepend contained -syn region markdownLinkText matchgroup=markdownLinkTextDelimiter start="!\=\[\%(\_[^]]*]\%( \=[[(]\)\)\@=" end="\]\%( \=[[(]\)\@=" keepend nextgroup=markdownLink,markdownId skipwhite contains=@markdownInline,markdownLineStart +syn region markdownLinkText matchgroup=markdownLinkTextDelimiter start="!\=\[\%(\_[^]]*]\%( \=[[(]\)\)\@=" end="\]\%( \=[[(]\)\@=" nextgroup=markdownLink,markdownId skipwhite contains=@markdownInline,markdownLineStart syn region markdownLink matchgroup=markdownLinkDelimiter start="(" end=")" contains=markdownUrl keepend contained syn region markdownId matchgroup=markdownIdDelimiter start="\[" end="\]" keepend contained syn region markdownAutomaticLink matchgroup=markdownUrlDelimiter start="<\%(\w\+:\|[[:alnum:]_+-]\+@\)\@=" end=">" keepend oneline diff --git a/syntax/perl.vim b/syntax/perl.vim index b3baa09..61c7dd9 100644 --- a/syntax/perl.vim +++ b/syntax/perl.vim @@ -176,10 +176,10 @@ endif " File Descriptors syn match perlFiledescRead "<\h\w*>" -syn match perlFiledescStatementComma "(\=\s*\u\w*\s*,"me=e-1 transparent contained contains=perlFiledescStatement -syn match perlFiledescStatementNocomma "(\=\s*\u\w*\s*[^, \t]"me=e-1 transparent contained contains=perlFiledescStatement +syn match perlFiledescStatementComma "(\=\s*\<\u\w*\>\s*,"me=e-1 transparent contained contains=perlFiledescStatement +syn match perlFiledescStatementNocomma "(\=\s*\<\u\w*\>\s*[^, \t]"me=e-1 transparent contained contains=perlFiledescStatement -syn match perlFiledescStatement "\u\w*" contained +syn match perlFiledescStatement "\<\u\w*\>" contained " Special characters in strings and matches syn match perlSpecialString "\\\%(\o\{1,3}\|x\%({\x\+}\|\x\{1,2}\)\|c.\|[^cx]\)" contained extend diff --git a/syntax/php.vim b/syntax/php.vim index ba70f75..3147e0e 100644 --- a/syntax/php.vim +++ b/syntax/php.vim @@ -1,9 +1,20 @@ " Vim syntax file " Language: PHP 5.3 & up +" " Maintainer: Paul Garvin +" " Contributor: Stan Angeloff " URL: https://github.com/StanAngeloff/php.vim " +" Contributor: Alessandro Antonello +" URL: https://github.com/aantonello/php.vim +" +" Contributor: Tim Carry +" URL: https://github.com/pixelastic/php.vim +" +" Contributor: Joshua Sherman +" URL: https://github.com/joshtronic/php.vim +" " Former Maintainer: Peter Hodge " Former URL: http://www.vim.org/scripts/script.php?script_id=1571 " @@ -129,10 +140,10 @@ syn keyword phpConstants HASH_HMAC MHASH_CRC32 MHASH_MD5 MHASH_SHA1 MHASH_HAVAL2 syn keyword phpConstants ICONV_IMPL ICONV_VERSION ICONV_MIME_DECODE_STRICT ICONV_MIME_DECODE_CONTINUE_ON_ERROR contained " json -syn keyword phpConstants JSON_HEX_TAG JSON_HEX_AMP JSON_HEX_APOS JSON_HEX_QUOT JSON_FORCE_OBJECT JSON_NUMERIC_CHECK JSON_UNESCAPED_SLASHES JSON_PRETTY_PRINT JSON_UNESCAPED_UNICODE JSON_PARTIAL_OUTPUT_ON_ERROR JSON_ERROR_NONE JSON_ERROR_DEPTH JSON_ERROR_STATE_MISMATCH JSON_ERROR_CTRL_CHAR JSON_ERROR_SYNTAX JSON_ERROR_UTF8 JSON_ERROR_RECURSION JSON_ERROR_INF_OR_NAN JSON_ERROR_UNSUPPORTED_TYPE JSON_OBJECT_AS_ARRAY JSON_BIGINT_AS_STRING contained +syn keyword phpConstants JSON_HEX_TAG JSON_HEX_AMP JSON_HEX_APOS JSON_HEX_QUOT JSON_FORCE_OBJECT JSON_NUMERIC_CHECK JSON_UNESCAPED_SLASHES JSON_PRETTY_PRINT JSON_UNESCAPED_UNICODE JSON_PARTIAL_OUTPUT_ON_ERROR JSON_ERROR_STATE_MISMATCH JSON_ERROR_CTRL_CHAR JSON_ERROR_UTF8 JSON_ERROR_RECURSION JSON_ERROR_INF_OR_NAN JSON_ERROR_UNSUPPORTED_TYPE JSON_ERROR_NONE JSON_ERROR_DEPTH JSON_ERROR_SYNTAX JSON_OBJECT_AS_ARRAY JSON_PARSER_NOTSTRICT JSON_BIGINT_AS_STRING JSON_C_BUNDLED JSON_C_VERSION JSON_PARSER_SUCCESS JSON_PARSER_CONTINUE contained " libxml -syn keyword phpConstants LIBXML_VERSION LIBXML_DOTTED_VERSION LIBXML_LOADED_VERSION LIBXML_NOENT LIBXML_DTDLOAD LIBXML_DTDATTR LIBXML_DTDVALID LIBXML_NOERROR LIBXML_NOWARNING LIBXML_NOBLANKS LIBXML_XINCLUDE LIBXML_NSCLEAN LIBXML_NOCDATA LIBXML_NONET LIBXML_PEDANTIC LIBXML_COMPACT LIBXML_NOXMLDECL LIBXML_PARSEHUGE LIBXML_NOEMPTYTAG LIBXML_HTML_NOIMPLIED LIBXML_HTML_NODEFDTD LIBXML_ERR_NONE LIBXML_ERR_WARNING LIBXML_ERR_ERROR LIBXML_ERR_FATAL contained +syn keyword phpConstants LIBXML_VERSION LIBXML_DOTTED_VERSION LIBXML_LOADED_VERSION LIBXML_NOENT LIBXML_DTDLOAD LIBXML_DTDATTR LIBXML_DTDVALID LIBXML_NOERROR LIBXML_NOWARNING LIBXML_NOBLANKS LIBXML_XINCLUDE LIBXML_NSCLEAN LIBXML_NOCDATA LIBXML_NONET LIBXML_PEDANTIC LIBXML_COMPACT LIBXML_NOXMLDECL LIBXML_PARSEHUGE LIBXML_NOEMPTYTAG LIBXML_SCHEMA_CREATE LIBXML_HTML_NOIMPLIED LIBXML_HTML_NODEFDTD LIBXML_ERR_NONE LIBXML_ERR_WARNING LIBXML_ERR_ERROR LIBXML_ERR_FATAL contained " mbstring syn keyword phpConstants MB_OVERLOAD_MAIL MB_OVERLOAD_STRING MB_OVERLOAD_REGEX MB_CASE_UPPER MB_CASE_LOWER MB_CASE_TITLE contained @@ -144,7 +155,7 @@ syn keyword phpConstants MCRYPT_ENCRYPT MCRYPT_DECRYPT MCRYPT_DEV_RANDOM MCRYPT_ syn keyword phpConstants MYSQL_ASSOC MYSQL_NUM MYSQL_BOTH MYSQL_CLIENT_COMPRESS MYSQL_CLIENT_SSL MYSQL_CLIENT_INTERACTIVE MYSQL_CLIENT_IGNORE_SPACE contained " mysqli -syn keyword phpConstants MYSQLI_READ_DEFAULT_GROUP MYSQLI_READ_DEFAULT_FILE MYSQLI_OPT_CONNECT_TIMEOUT MYSQLI_OPT_LOCAL_INFILE MYSQLI_INIT_COMMAND MYSQLI_OPT_NET_CMD_BUFFER_SIZE MYSQLI_OPT_NET_READ_BUFFER_SIZE MYSQLI_OPT_INT_AND_FLOAT_NATIVE MYSQLI_OPT_SSL_VERIFY_SERVER_CERT MYSQLI_SERVER_PUBLIC_KEY MYSQLI_CLIENT_SSL MYSQLI_CLIENT_COMPRESS MYSQLI_CLIENT_INTERACTIVE MYSQLI_CLIENT_IGNORE_SPACE MYSQLI_CLIENT_NO_SCHEMA MYSQLI_CLIENT_FOUND_ROWS MYSQLI_STORE_RESULT MYSQLI_USE_RESULT MYSQLI_ASYNC MYSQLI_ASSOC MYSQLI_NUM MYSQLI_BOTH MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH MYSQLI_STMT_ATTR_CURSOR_TYPE MYSQLI_CURSOR_TYPE_NO_CURSOR MYSQLI_CURSOR_TYPE_READ_ONLY MYSQLI_CURSOR_TYPE_FOR_UPDATE MYSQLI_CURSOR_TYPE_SCROLLABLE MYSQLI_STMT_ATTR_PREFETCH_ROWS MYSQLI_NOT_NULL_FLAG MYSQLI_PRI_KEY_FLAG MYSQLI_UNIQUE_KEY_FLAG MYSQLI_MULTIPLE_KEY_FLAG MYSQLI_BLOB_FLAG MYSQLI_UNSIGNED_FLAG MYSQLI_ZEROFILL_FLAG MYSQLI_AUTO_INCREMENT_FLAG MYSQLI_TIMESTAMP_FLAG MYSQLI_SET_FLAG MYSQLI_NUM_FLAG MYSQLI_PART_KEY_FLAG MYSQLI_GROUP_FLAG MYSQLI_ENUM_FLAG MYSQLI_BINARY_FLAG MYSQLI_NO_DEFAULT_VALUE_FLAG MYSQLI_ON_UPDATE_NOW_FLAG MYSQLI_TYPE_DECIMAL MYSQLI_TYPE_TINY MYSQLI_TYPE_SHORT MYSQLI_TYPE_LONG MYSQLI_TYPE_FLOAT MYSQLI_TYPE_DOUBLE MYSQLI_TYPE_NULL MYSQLI_TYPE_TIMESTAMP MYSQLI_TYPE_LONGLONG MYSQLI_TYPE_INT24 MYSQLI_TYPE_DATE MYSQLI_TYPE_TIME MYSQLI_TYPE_DATETIME MYSQLI_TYPE_YEAR MYSQLI_TYPE_NEWDATE MYSQLI_TYPE_ENUM MYSQLI_TYPE_SET MYSQLI_TYPE_TINY_BLOB MYSQLI_TYPE_MEDIUM_BLOB MYSQLI_TYPE_LONG_BLOB MYSQLI_TYPE_BLOB MYSQLI_TYPE_VAR_STRING MYSQLI_TYPE_STRING MYSQLI_TYPE_CHAR MYSQLI_TYPE_INTERVAL MYSQLI_TYPE_GEOMETRY MYSQLI_TYPE_NEWDECIMAL MYSQLI_TYPE_BIT MYSQLI_SET_CHARSET_NAME MYSQLI_SET_CHARSET_DIR MYSQLI_NO_DATA MYSQLI_DATA_TRUNCATED MYSQLI_REPORT_INDEX MYSQLI_REPORT_ERROR MYSQLI_REPORT_STRICT MYSQLI_REPORT_ALL MYSQLI_REPORT_OFF MYSQLI_DEBUG_TRACE_ENABLED MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED MYSQLI_SERVER_QUERY_NO_INDEX_USED MYSQLI_SERVER_QUERY_WAS_SLOW MYSQLI_SERVER_PS_OUT_PARAMS MYSQLI_REFRESH_GRANT MYSQLI_REFRESH_LOG MYSQLI_REFRESH_TABLES MYSQLI_REFRESH_HOSTS MYSQLI_REFRESH_STATUS MYSQLI_REFRESH_THREADS MYSQLI_REFRESH_SLAVE MYSQLI_REFRESH_MASTER MYSQLI_REFRESH_BACKUP_LOG MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT MYSQLI_TRANS_START_READ_WRITE MYSQLI_TRANS_START_READ_ONLY MYSQLI_TRANS_COR_AND_CHAIN MYSQLI_TRANS_COR_AND_NO_CHAIN MYSQLI_TRANS_COR_RELEASE MYSQLI_TRANS_COR_NO_RELEASE contained +syn keyword phpConstants MYSQLI_READ_DEFAULT_GROUP MYSQLI_READ_DEFAULT_FILE MYSQLI_OPT_CONNECT_TIMEOUT MYSQLI_OPT_LOCAL_INFILE MYSQLI_INIT_COMMAND MYSQLI_OPT_SSL_VERIFY_SERVER_CERT MYSQLI_CLIENT_SSL MYSQLI_CLIENT_COMPRESS MYSQLI_CLIENT_INTERACTIVE MYSQLI_CLIENT_IGNORE_SPACE MYSQLI_CLIENT_NO_SCHEMA MYSQLI_CLIENT_FOUND_ROWS MYSQLI_STORE_RESULT MYSQLI_USE_RESULT MYSQLI_ASSOC MYSQLI_NUM MYSQLI_BOTH MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH MYSQLI_STMT_ATTR_CURSOR_TYPE MYSQLI_CURSOR_TYPE_NO_CURSOR MYSQLI_CURSOR_TYPE_READ_ONLY MYSQLI_CURSOR_TYPE_FOR_UPDATE MYSQLI_CURSOR_TYPE_SCROLLABLE MYSQLI_STMT_ATTR_PREFETCH_ROWS MYSQLI_NOT_NULL_FLAG MYSQLI_PRI_KEY_FLAG MYSQLI_UNIQUE_KEY_FLAG MYSQLI_MULTIPLE_KEY_FLAG MYSQLI_BLOB_FLAG MYSQLI_UNSIGNED_FLAG MYSQLI_ZEROFILL_FLAG MYSQLI_AUTO_INCREMENT_FLAG MYSQLI_TIMESTAMP_FLAG MYSQLI_SET_FLAG MYSQLI_NUM_FLAG MYSQLI_PART_KEY_FLAG MYSQLI_GROUP_FLAG MYSQLI_ENUM_FLAG MYSQLI_BINARY_FLAG MYSQLI_NO_DEFAULT_VALUE_FLAG MYSQLI_TYPE_DECIMAL MYSQLI_TYPE_TINY MYSQLI_TYPE_SHORT MYSQLI_TYPE_LONG MYSQLI_TYPE_FLOAT MYSQLI_TYPE_DOUBLE MYSQLI_TYPE_NULL MYSQLI_TYPE_TIMESTAMP MYSQLI_TYPE_LONGLONG MYSQLI_TYPE_INT24 MYSQLI_TYPE_DATE MYSQLI_TYPE_TIME MYSQLI_TYPE_DATETIME MYSQLI_TYPE_YEAR MYSQLI_TYPE_NEWDATE MYSQLI_TYPE_ENUM MYSQLI_TYPE_SET MYSQLI_TYPE_TINY_BLOB MYSQLI_TYPE_MEDIUM_BLOB MYSQLI_TYPE_LONG_BLOB MYSQLI_TYPE_BLOB MYSQLI_TYPE_VAR_STRING MYSQLI_TYPE_STRING MYSQLI_TYPE_CHAR MYSQLI_TYPE_INTERVAL MYSQLI_TYPE_GEOMETRY MYSQLI_TYPE_NEWDECIMAL MYSQLI_TYPE_BIT MYSQLI_SET_CHARSET_NAME MYSQLI_SET_CHARSET_DIR MYSQLI_NO_DATA MYSQLI_DATA_TRUNCATED MYSQLI_REPORT_INDEX MYSQLI_REPORT_ERROR MYSQLI_REPORT_STRICT MYSQLI_REPORT_ALL MYSQLI_REPORT_OFF MYSQLI_DEBUG_TRACE_ENABLED MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED MYSQLI_SERVER_QUERY_NO_INDEX_USED MYSQLI_SERVER_QUERY_WAS_SLOW MYSQLI_SERVER_PS_OUT_PARAMS MYSQLI_REFRESH_GRANT MYSQLI_REFRESH_LOG MYSQLI_REFRESH_TABLES MYSQLI_REFRESH_HOSTS MYSQLI_REFRESH_STATUS MYSQLI_REFRESH_THREADS MYSQLI_REFRESH_SLAVE MYSQLI_REFRESH_MASTER MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT MYSQLI_TRANS_START_READ_WRITE MYSQLI_TRANS_START_READ_ONLY MYSQLI_TRANS_COR_AND_CHAIN MYSQLI_TRANS_COR_AND_NO_CHAIN MYSQLI_TRANS_COR_RELEASE MYSQLI_TRANS_COR_NO_RELEASE contained " openssl syn keyword phpConstants OPENSSL_VERSION_TEXT OPENSSL_VERSION_NUMBER X509_PURPOSE_SSL_CLIENT X509_PURPOSE_SSL_SERVER X509_PURPOSE_NS_SSL_SERVER X509_PURPOSE_SMIME_SIGN X509_PURPOSE_SMIME_ENCRYPT X509_PURPOSE_CRL_SIGN X509_PURPOSE_ANY OPENSSL_ALGO_SHA1 OPENSSL_ALGO_MD5 OPENSSL_ALGO_MD4 OPENSSL_ALGO_DSS1 OPENSSL_ALGO_SHA224 OPENSSL_ALGO_SHA256 OPENSSL_ALGO_SHA384 OPENSSL_ALGO_SHA512 OPENSSL_ALGO_RMD160 PKCS7_DETACHED PKCS7_TEXT PKCS7_NOINTERN PKCS7_NOVERIFY PKCS7_NOCHAIN PKCS7_NOCERTS PKCS7_NOATTR PKCS7_BINARY PKCS7_NOSIGS OPENSSL_PKCS1_PADDING OPENSSL_SSLV23_PADDING OPENSSL_NO_PADDING OPENSSL_PKCS1_OAEP_PADDING OPENSSL_CIPHER_RC2_40 OPENSSL_CIPHER_RC2_128 OPENSSL_CIPHER_RC2_64 OPENSSL_CIPHER_DES OPENSSL_CIPHER_3DES OPENSSL_CIPHER_AES_128_CBC OPENSSL_CIPHER_AES_192_CBC OPENSSL_CIPHER_AES_256_CBC OPENSSL_KEYTYPE_RSA OPENSSL_KEYTYPE_DSA OPENSSL_KEYTYPE_DH OPENSSL_KEYTYPE_EC OPENSSL_RAW_DATA OPENSSL_ZERO_PADDING OPENSSL_TLSEXT_SERVER_NAME contained @@ -153,7 +164,7 @@ syn keyword phpConstants OPENSSL_VERSION_TEXT OPENSSL_VERSION_NUMBER X509_PURPOS syn keyword phpConstants PREG_PATTERN_ORDER PREG_SET_ORDER PREG_OFFSET_CAPTURE PREG_SPLIT_NO_EMPTY PREG_SPLIT_DELIM_CAPTURE PREG_SPLIT_OFFSET_CAPTURE PREG_GREP_INVERT PREG_NO_ERROR PREG_INTERNAL_ERROR PREG_BACKTRACK_LIMIT_ERROR PREG_RECURSION_LIMIT_ERROR PREG_BAD_UTF8_ERROR PREG_BAD_UTF8_OFFSET_ERROR PCRE_VERSION contained " PDO -syn keyword phpConstants PARAM_BOOL PARAM_NULL PARAM_INT PARAM_STR PARAM_LOB PARAM_STMT PARAM_INPUT_OUTPUT PARAM_EVT_ALLOC PARAM_EVT_FREE PARAM_EVT_EXEC_PRE PARAM_EVT_EXEC_POST PARAM_EVT_FETCH_PRE PARAM_EVT_FETCH_POST PARAM_EVT_NORMALIZE FETCH_LAZY FETCH_ASSOC FETCH_NUM FETCH_BOTH FETCH_OBJ FETCH_BOUND FETCH_COLUMN FETCH_CLASS FETCH_INTO FETCH_FUNC FETCH_GROUP FETCH_UNIQUE FETCH_KEY_PAIR FETCH_CLASSTYPE FETCH_SERIALIZE FETCH_PROPS_LATE FETCH_NAMED ATTR_AUTOCOMMIT ATTR_PREFETCH ATTR_TIMEOUT ATTR_ERRMODE ATTR_SERVER_VERSION ATTR_CLIENT_VERSION ATTR_SERVER_INFO ATTR_CONNECTION_STATUS ATTR_CASE ATTR_CURSOR_NAME ATTR_CURSOR ATTR_ORACLE_NULLS ATTR_PERSISTENT ATTR_STATEMENT_CLASS ATTR_FETCH_TABLE_NAMES ATTR_FETCH_CATALOG_NAMES ATTR_DRIVER_NAME ATTR_STRINGIFY_FETCHES ATTR_MAX_COLUMN_LEN ATTR_EMULATE_PREPARES ATTR_DEFAULT_FETCH_MODE ERRMODE_SILENT ERRMODE_WARNING ERRMODE_EXCEPTION CASE_NATURAL CASE_LOWER CASE_UPPER NULL_NATURAL NULL_EMPTY_STRING NULL_TO_STRING ERR_NONE FETCH_ORI_NEXT FETCH_ORI_PRIOR FETCH_ORI_FIRST FETCH_ORI_LAST FETCH_ORI_ABS FETCH_ORI_REL CURSOR_FWDONLY CURSOR_SCROLL MYSQL_ATTR_USE_BUFFERED_QUERY MYSQL_ATTR_LOCAL_INFILE MYSQL_ATTR_INIT_COMMAND MYSQL_ATTR_COMPRESS MYSQL_ATTR_DIRECT_QUERY MYSQL_ATTR_FOUND_ROWS MYSQL_ATTR_IGNORE_SPACE MYSQL_ATTR_SSL_KEY MYSQL_ATTR_SSL_CERT MYSQL_ATTR_SSL_CA MYSQL_ATTR_SSL_CAPATH MYSQL_ATTR_SSL_CIPHER MYSQL_ATTR_SERVER_PUBLIC_KEY PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT PGSQL_TRANSACTION_IDLE PGSQL_TRANSACTION_ACTIVE PGSQL_TRANSACTION_INTRANS PGSQL_TRANSACTION_INERROR PGSQL_TRANSACTION_UNKNOWN contained +syn keyword phpConstants PARAM_BOOL PARAM_NULL PARAM_INT PARAM_STR PARAM_LOB PARAM_STMT PARAM_INPUT_OUTPUT PARAM_EVT_ALLOC PARAM_EVT_FREE PARAM_EVT_EXEC_PRE PARAM_EVT_EXEC_POST PARAM_EVT_FETCH_PRE PARAM_EVT_FETCH_POST PARAM_EVT_NORMALIZE FETCH_LAZY FETCH_ASSOC FETCH_NUM FETCH_BOTH FETCH_OBJ FETCH_BOUND FETCH_COLUMN FETCH_CLASS FETCH_INTO FETCH_FUNC FETCH_GROUP FETCH_UNIQUE FETCH_KEY_PAIR FETCH_CLASSTYPE FETCH_SERIALIZE FETCH_PROPS_LATE FETCH_NAMED ATTR_AUTOCOMMIT ATTR_PREFETCH ATTR_TIMEOUT ATTR_ERRMODE ATTR_SERVER_VERSION ATTR_CLIENT_VERSION ATTR_SERVER_INFO ATTR_CONNECTION_STATUS ATTR_CASE ATTR_CURSOR_NAME ATTR_CURSOR ATTR_ORACLE_NULLS ATTR_PERSISTENT ATTR_STATEMENT_CLASS ATTR_FETCH_TABLE_NAMES ATTR_FETCH_CATALOG_NAMES ATTR_DRIVER_NAME ATTR_STRINGIFY_FETCHES ATTR_MAX_COLUMN_LEN ATTR_EMULATE_PREPARES ATTR_DEFAULT_FETCH_MODE ERRMODE_SILENT ERRMODE_WARNING ERRMODE_EXCEPTION CASE_NATURAL CASE_LOWER CASE_UPPER NULL_NATURAL NULL_EMPTY_STRING NULL_TO_STRING ERR_NONE FETCH_ORI_NEXT FETCH_ORI_PRIOR FETCH_ORI_FIRST FETCH_ORI_LAST FETCH_ORI_ABS FETCH_ORI_REL CURSOR_FWDONLY CURSOR_SCROLL MYSQL_ATTR_USE_BUFFERED_QUERY MYSQL_ATTR_LOCAL_INFILE MYSQL_ATTR_INIT_COMMAND MYSQL_ATTR_MAX_BUFFER_SIZE MYSQL_ATTR_READ_DEFAULT_FILE MYSQL_ATTR_READ_DEFAULT_GROUP MYSQL_ATTR_COMPRESS MYSQL_ATTR_DIRECT_QUERY MYSQL_ATTR_FOUND_ROWS MYSQL_ATTR_IGNORE_SPACE MYSQL_ATTR_SSL_KEY MYSQL_ATTR_SSL_CERT MYSQL_ATTR_SSL_CA MYSQL_ATTR_SSL_CAPATH MYSQL_ATTR_SSL_CIPHER PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT PGSQL_TRANSACTION_IDLE PGSQL_TRANSACTION_ACTIVE PGSQL_TRANSACTION_INTRANS PGSQL_TRANSACTION_INERROR PGSQL_TRANSACTION_UNKNOWN contained " pgsql syn keyword phpConstants PGSQL_LIBPQ_VERSION PGSQL_LIBPQ_VERSION_STR PGSQL_CONNECT_FORCE_NEW PGSQL_ASSOC PGSQL_NUM PGSQL_BOTH PGSQL_CONNECTION_BAD PGSQL_CONNECTION_OK PGSQL_TRANSACTION_IDLE PGSQL_TRANSACTION_ACTIVE PGSQL_TRANSACTION_INTRANS PGSQL_TRANSACTION_INERROR PGSQL_TRANSACTION_UNKNOWN PGSQL_ERRORS_TERSE PGSQL_ERRORS_DEFAULT PGSQL_ERRORS_VERBOSE PGSQL_SEEK_SET PGSQL_SEEK_CUR PGSQL_SEEK_END PGSQL_STATUS_LONG PGSQL_STATUS_STRING PGSQL_EMPTY_QUERY PGSQL_COMMAND_OK PGSQL_TUPLES_OK PGSQL_COPY_OUT PGSQL_COPY_IN PGSQL_BAD_RESPONSE PGSQL_NONFATAL_ERROR PGSQL_FATAL_ERROR PGSQL_DIAG_SEVERITY PGSQL_DIAG_SQLSTATE PGSQL_DIAG_MESSAGE_PRIMARY PGSQL_DIAG_MESSAGE_DETAIL PGSQL_DIAG_MESSAGE_HINT PGSQL_DIAG_STATEMENT_POSITION PGSQL_DIAG_INTERNAL_POSITION PGSQL_DIAG_INTERNAL_QUERY PGSQL_DIAG_CONTEXT PGSQL_DIAG_SOURCE_FILE PGSQL_DIAG_SOURCE_LINE PGSQL_DIAG_SOURCE_FUNCTION PGSQL_CONV_IGNORE_DEFAULT PGSQL_CONV_FORCE_NULL PGSQL_CONV_IGNORE_NOT_NULL PGSQL_DML_NO_CONV PGSQL_DML_EXEC PGSQL_DML_ASYNC PGSQL_DML_STRING contained @@ -171,7 +182,7 @@ syn keyword phpConstants PHP_SESSION_DISABLED PHP_SESSION_NONE PHP_SESSION_ACTIV syn keyword phpConstants SOAP_1_1 SOAP_1_2 SOAP_PERSISTENCE_SESSION SOAP_PERSISTENCE_REQUEST SOAP_FUNCTIONS_ALL SOAP_ENCODED SOAP_LITERAL SOAP_RPC SOAP_DOCUMENT SOAP_ACTOR_NEXT SOAP_ACTOR_NONE SOAP_ACTOR_UNLIMATERECEIVER SOAP_COMPRESSION_ACCEPT SOAP_COMPRESSION_GZIP SOAP_COMPRESSION_DEFLATE SOAP_AUTHENTICATION_BASIC SOAP_AUTHENTICATION_DIGEST UNKNOWN_TYPE XSD_STRING XSD_BOOLEAN XSD_DECIMAL XSD_FLOAT XSD_DOUBLE XSD_DURATION XSD_DATETIME XSD_TIME XSD_DATE XSD_GYEARMONTH XSD_GYEAR XSD_GMONTHDAY XSD_GDAY XSD_GMONTH XSD_HEXBINARY XSD_BASE64BINARY XSD_ANYURI XSD_QNAME XSD_NOTATION XSD_NORMALIZEDSTRING XSD_TOKEN XSD_LANGUAGE XSD_NMTOKEN XSD_NAME XSD_NCNAME XSD_ID XSD_IDREF XSD_IDREFS XSD_ENTITY XSD_ENTITIES XSD_INTEGER XSD_NONPOSITIVEINTEGER XSD_NEGATIVEINTEGER XSD_LONG XSD_INT XSD_SHORT XSD_BYTE XSD_NONNEGATIVEINTEGER XSD_UNSIGNEDLONG XSD_UNSIGNEDINT XSD_UNSIGNEDSHORT XSD_UNSIGNEDBYTE XSD_POSITIVEINTEGER XSD_NMTOKENS XSD_ANYTYPE XSD_ANYXML APACHE_MAP SOAP_ENC_OBJECT SOAP_ENC_ARRAY XSD_1999_TIMEINSTANT XSD_NAMESPACE XSD_1999_NAMESPACE SOAP_SINGLE_ELEMENT_ARRAYS SOAP_WAIT_ONE_WAY_CALLS SOAP_USE_XSI_ARRAY_TYPE WSDL_CACHE_NONE WSDL_CACHE_DISK WSDL_CACHE_MEMORY WSDL_CACHE_BOTH SOAP_SSL_METHOD_TLS SOAP_SSL_METHOD_SSLv2 SOAP_SSL_METHOD_SSLv3 SOAP_SSL_METHOD_SSLv23 contained " sockets -syn keyword phpConstants AF_UNIX AF_INET AF_INET6 SOCK_STREAM SOCK_DGRAM SOCK_RAW SOCK_SEQPACKET SOCK_RDM MSG_OOB MSG_WAITALL MSG_CTRUNC MSG_TRUNC MSG_PEEK MSG_DONTROUTE MSG_EOR MSG_EOF MSG_CONFIRM MSG_ERRQUEUE MSG_NOSIGNAL MSG_DONTWAIT MSG_MORE MSG_WAITFORONE MSG_CMSG_CLOEXEC SO_DEBUG SO_REUSEADDR SO_KEEPALIVE SO_DONTROUTE SO_LINGER SO_BROADCAST SO_OOBINLINE SO_SNDBUF SO_RCVBUF SO_SNDLOWAT SO_RCVLOWAT SO_SNDTIMEO SO_RCVTIMEO SO_TYPE SO_ERROR SOL_SOCKET SOMAXCONN TCP_NODELAY PHP_NORMAL_READ PHP_BINARY_READ MCAST_JOIN_GROUP MCAST_LEAVE_GROUP MCAST_BLOCK_SOURCE MCAST_UNBLOCK_SOURCE MCAST_JOIN_SOURCE_GROUP MCAST_LEAVE_SOURCE_GROUP IP_MULTICAST_IF IP_MULTICAST_TTL IP_MULTICAST_LOOP IPV6_MULTICAST_IF IPV6_MULTICAST_HOPS IPV6_MULTICAST_LOOP SOCKET_EPERM SOCKET_ENOENT SOCKET_EINTR SOCKET_EIO SOCKET_ENXIO SOCKET_E2BIG SOCKET_EBADF SOCKET_EAGAIN SOCKET_ENOMEM SOCKET_EACCES SOCKET_EFAULT SOCKET_ENOTBLK SOCKET_EBUSY SOCKET_EEXIST SOCKET_EXDEV SOCKET_ENODEV SOCKET_ENOTDIR SOCKET_EISDIR SOCKET_EINVAL SOCKET_ENFILE SOCKET_EMFILE SOCKET_ENOTTY SOCKET_ENOSPC SOCKET_ESPIPE SOCKET_EROFS SOCKET_EMLINK SOCKET_EPIPE SOCKET_ENAMETOOLONG SOCKET_ENOLCK SOCKET_ENOSYS SOCKET_ENOTEMPTY SOCKET_ELOOP SOCKET_EWOULDBLOCK SOCKET_ENOMSG SOCKET_EIDRM SOCKET_ECHRNG SOCKET_EL2NSYNC SOCKET_EL3HLT SOCKET_EL3RST SOCKET_ELNRNG SOCKET_EUNATCH SOCKET_ENOCSI SOCKET_EL2HLT SOCKET_EBADE SOCKET_EBADR SOCKET_EXFULL SOCKET_ENOANO SOCKET_EBADRQC SOCKET_EBADSLT SOCKET_ENOSTR SOCKET_ENODATA SOCKET_ETIME SOCKET_ENOSR SOCKET_ENONET SOCKET_EREMOTE SOCKET_ENOLINK SOCKET_EADV SOCKET_ESRMNT SOCKET_ECOMM SOCKET_EPROTO SOCKET_EMULTIHOP SOCKET_EBADMSG SOCKET_ENOTUNIQ SOCKET_EBADFD SOCKET_EREMCHG SOCKET_ERESTART SOCKET_ESTRPIPE SOCKET_EUSERS SOCKET_ENOTSOCK SOCKET_EDESTADDRREQ SOCKET_EMSGSIZE SOCKET_EPROTOTYPE SOCKET_ENOPROTOOPT SOCKET_EPROTONOSUPPORT SOCKET_ESOCKTNOSUPPORT SOCKET_EOPNOTSUPP SOCKET_EPFNOSUPPORT SOCKET_EAFNOSUPPORT SOCKET_EADDRINUSE SOCKET_EADDRNOTAVAIL SOCKET_ENETDOWN SOCKET_ENETUNREACH SOCKET_ENETRESET SOCKET_ECONNABORTED SOCKET_ECONNRESET SOCKET_ENOBUFS SOCKET_EISCONN SOCKET_ENOTCONN SOCKET_ESHUTDOWN SOCKET_ETOOMANYREFS SOCKET_ETIMEDOUT SOCKET_ECONNREFUSED SOCKET_EHOSTDOWN SOCKET_EHOSTUNREACH SOCKET_EALREADY SOCKET_EINPROGRESS SOCKET_EISNAM SOCKET_EREMOTEIO SOCKET_EDQUOT SOCKET_ENOMEDIUM SOCKET_EMEDIUMTYPE IPPROTO_IP IPPROTO_IPV6 SOL_TCP SOL_UDP IPV6_UNICAST_HOPS IPV6_RECVPKTINFO IPV6_PKTINFO IPV6_RECVHOPLIMIT IPV6_HOPLIMIT IPV6_RECVTCLASS IPV6_TCLASS SCM_RIGHTS SCM_CREDENTIALS SO_PASSCRED contained +syn keyword phpConstants AF_UNIX AF_INET AF_INET6 SOCK_STREAM SOCK_DGRAM SOCK_RAW SOCK_SEQPACKET SOCK_RDM MSG_OOB MSG_WAITALL MSG_CTRUNC MSG_TRUNC MSG_PEEK MSG_DONTROUTE MSG_EOR MSG_EOF MSG_CONFIRM MSG_ERRQUEUE MSG_NOSIGNAL MSG_DONTWAIT MSG_MORE MSG_WAITFORONE MSG_CMSG_CLOEXEC SO_DEBUG SO_REUSEADDR SO_REUSEPORT SO_KEEPALIVE SO_DONTROUTE SO_LINGER SO_BROADCAST SO_OOBINLINE SO_SNDBUF SO_RCVBUF SO_SNDLOWAT SO_RCVLOWAT SO_SNDTIMEO SO_RCVTIMEO SO_TYPE SO_ERROR SO_BINDTODEVICE SOL_SOCKET SOMAXCONN TCP_NODELAY PHP_NORMAL_READ PHP_BINARY_READ MCAST_JOIN_GROUP MCAST_LEAVE_GROUP MCAST_BLOCK_SOURCE MCAST_UNBLOCK_SOURCE MCAST_JOIN_SOURCE_GROUP MCAST_LEAVE_SOURCE_GROUP IP_MULTICAST_IF IP_MULTICAST_TTL IP_MULTICAST_LOOP IPV6_MULTICAST_IF IPV6_MULTICAST_HOPS IPV6_MULTICAST_LOOP SOCKET_EPERM SOCKET_ENOENT SOCKET_EINTR SOCKET_EIO SOCKET_ENXIO SOCKET_E2BIG SOCKET_EBADF SOCKET_EAGAIN SOCKET_ENOMEM SOCKET_EACCES SOCKET_EFAULT SOCKET_ENOTBLK SOCKET_EBUSY SOCKET_EEXIST SOCKET_EXDEV SOCKET_ENODEV SOCKET_ENOTDIR SOCKET_EISDIR SOCKET_EINVAL SOCKET_ENFILE SOCKET_EMFILE SOCKET_ENOTTY SOCKET_ENOSPC SOCKET_ESPIPE SOCKET_EROFS SOCKET_EMLINK SOCKET_EPIPE SOCKET_ENAMETOOLONG SOCKET_ENOLCK SOCKET_ENOSYS SOCKET_ENOTEMPTY SOCKET_ELOOP SOCKET_EWOULDBLOCK SOCKET_ENOMSG SOCKET_EIDRM SOCKET_ECHRNG SOCKET_EL2NSYNC SOCKET_EL3HLT SOCKET_EL3RST SOCKET_ELNRNG SOCKET_EUNATCH SOCKET_ENOCSI SOCKET_EL2HLT SOCKET_EBADE SOCKET_EBADR SOCKET_EXFULL SOCKET_ENOANO SOCKET_EBADRQC SOCKET_EBADSLT SOCKET_ENOSTR SOCKET_ENODATA SOCKET_ETIME SOCKET_ENOSR SOCKET_ENONET SOCKET_EREMOTE SOCKET_ENOLINK SOCKET_EADV SOCKET_ESRMNT SOCKET_ECOMM SOCKET_EPROTO SOCKET_EMULTIHOP SOCKET_EBADMSG SOCKET_ENOTUNIQ SOCKET_EBADFD SOCKET_EREMCHG SOCKET_ERESTART SOCKET_ESTRPIPE SOCKET_EUSERS SOCKET_ENOTSOCK SOCKET_EDESTADDRREQ SOCKET_EMSGSIZE SOCKET_EPROTOTYPE SOCKET_ENOPROTOOPT SOCKET_EPROTONOSUPPORT SOCKET_ESOCKTNOSUPPORT SOCKET_EOPNOTSUPP SOCKET_EPFNOSUPPORT SOCKET_EAFNOSUPPORT SOCKET_EADDRINUSE SOCKET_EADDRNOTAVAIL SOCKET_ENETDOWN SOCKET_ENETUNREACH SOCKET_ENETRESET SOCKET_ECONNABORTED SOCKET_ECONNRESET SOCKET_ENOBUFS SOCKET_EISCONN SOCKET_ENOTCONN SOCKET_ESHUTDOWN SOCKET_ETOOMANYREFS SOCKET_ETIMEDOUT SOCKET_ECONNREFUSED SOCKET_EHOSTDOWN SOCKET_EHOSTUNREACH SOCKET_EALREADY SOCKET_EINPROGRESS SOCKET_EISNAM SOCKET_EREMOTEIO SOCKET_EDQUOT SOCKET_ENOMEDIUM SOCKET_EMEDIUMTYPE IPPROTO_IP IPPROTO_IPV6 SOL_TCP SOL_UDP IPV6_UNICAST_HOPS IPV6_RECVPKTINFO IPV6_PKTINFO IPV6_RECVHOPLIMIT IPV6_HOPLIMIT IPV6_RECVTCLASS IPV6_TCLASS SCM_RIGHTS SCM_CREDENTIALS SO_PASSCRED contained " SPL syn keyword phpConstants LEAVES_ONLY SELF_FIRST CHILD_FIRST CATCH_GET_CHILD CALL_TOSTRING TOSTRING_USE_KEY TOSTRING_USE_CURRENT TOSTRING_USE_INNER FULL_CACHE USE_KEY MATCH GET_MATCH ALL_MATCHES SPLIT REPLACE BYPASS_CURRENT BYPASS_KEY PREFIX_LEFT PREFIX_MID_HAS_NEXT PREFIX_MID_LAST PREFIX_END_HAS_NEXT PREFIX_END_LAST PREFIX_RIGHT STD_PROP_LIST ARRAY_AS_PROPS CHILD_ARRAYS_ONLY CURRENT_MODE_MASK CURRENT_AS_PATHNAME CURRENT_AS_FILEINFO CURRENT_AS_SELF KEY_MODE_MASK KEY_AS_PATHNAME FOLLOW_SYMLINKS KEY_AS_FILENAME NEW_CURRENT_AND_KEY OTHER_MODE_MASK SKIP_DOTS UNIX_PATHS DROP_NEW_LINE READ_AHEAD SKIP_EMPTY READ_CSV IT_MODE_LIFO IT_MODE_FIFO IT_MODE_DELETE IT_MODE_KEEP EXTR_BOTH EXTR_PRIORITY EXTR_DATA MIT_NEED_ANY MIT_NEED_ALL MIT_KEYS_NUMERIC MIT_KEYS_ASSOC contained @@ -222,7 +233,7 @@ syn keyword phpClasses DOMException DOMStringList DOMNameList DOMImplementationL " ereg syn keyword phpFunctions ereg ereg_replace eregi eregi_replace split spliti sql_regcase contained " gd -syn keyword phpFunctions gd_info imagearc imageellipse imagechar imagecharup imagecolorat imagecolorallocate imagepalettecopy imagecreatefromstring imagecolorclosest imagecolorclosesthwb imagecolordeallocate imagecolorresolve imagecolorexact imagecolorset imagecolortransparent imagecolorstotal imagecolorsforindex imagecopy imagecopymerge imagecopymergegray imagecopyresized imagecreate imagecreatetruecolor imageistruecolor imagetruecolortopalette imagepalettetotruecolor imagesetthickness imagefilledarc imagefilledellipse imagealphablending imagesavealpha imagecolorallocatealpha imagecolorresolvealpha imagecolorclosestalpha imagecolorexactalpha imagecopyresampled imagerotate imageflip imageantialias imagecrop imagecropauto imagescale imageaffine imageaffinematrixconcat imageaffinematrixget imagesetinterpolation imagesettile imagesetbrush imagesetstyle imagecreatefrompng imagecreatefromgif imagecreatefromwbmp imagecreatefromxbm imagecreatefromgd imagecreatefromgd2 imagecreatefromgd2part imagepng imagegif imagewbmp imagegd imagegd2 imagedestroy imagegammacorrect imagefill imagefilledpolygon imagefilledrectangle imagefilltoborder imagefontwidth imagefontheight imageinterlace imageline imageloadfont imagepolygon imagerectangle imagesetpixel imagestring imagestringup imagesx imagesy imagedashedline imagetypes png2wbmp image2wbmp imagelayereffect imagexbm imagecolormatch imagefilter imageconvolution contained +syn keyword phpFunctions gd_info imagearc imageellipse imagechar imagecharup imagecolorat imagecolorallocate imagepalettecopy imagecreatefromstring imagecolorclosest imagecolorclosesthwb imagecolordeallocate imagecolorresolve imagecolorexact imagecolorset imagecolortransparent imagecolorstotal imagecolorsforindex imagecopy imagecopymerge imagecopymergegray imagecopyresized imagecreate imagecreatetruecolor imageistruecolor imagetruecolortopalette imagepalettetotruecolor imagesetthickness imagefilledarc imagefilledellipse imagealphablending imagesavealpha imagecolorallocatealpha imagecolorresolvealpha imagecolorclosestalpha imagecolorexactalpha imagecopyresampled imagerotate imageflip imagecrop imagecropauto imagescale imageaffine imageaffinematrixconcat imageaffinematrixget imagesetinterpolation imagesettile imagesetbrush imagesetstyle imagecreatefrompng imagecreatefromwebp imagecreatefromgif imagecreatefromjpeg imagecreatefromwbmp imagecreatefromxbm imagecreatefromxpm imagecreatefromgd imagecreatefromgd2 imagecreatefromgd2part imagepng imagewebp imagegif imagejpeg imagewbmp imagegd imagegd2 imagedestroy imagegammacorrect imagefill imagefilledpolygon imagefilledrectangle imagefilltoborder imagefontwidth imagefontheight imageinterlace imageline imageloadfont imagepolygon imagerectangle imagesetpixel imagestring imagestringup imagesx imagesy imagedashedline imagettfbbox imagettftext imageftbbox imagefttext imagetypes jpeg2wbmp png2wbmp image2wbmp imagelayereffect imagexbm imagecolormatch imagefilter imageconvolution contained " gettext syn keyword phpFunctions textdomain gettext _ dgettext dcgettext bindtextdomain ngettext dngettext dcngettext bind_textdomain_codeset contained " hash @@ -231,7 +242,7 @@ syn keyword phpFunctions hash hash_file hash_hmac hash_hmac_file hash_init hash_ syn keyword phpFunctions iconv iconv_get_encoding iconv_set_encoding iconv_strlen iconv_substr iconv_strpos iconv_strrpos iconv_mime_encode iconv_mime_decode iconv_mime_decode_headers contained " json syn keyword phpFunctions json_encode json_decode json_last_error json_last_error_msg contained -syn keyword phpClasses JsonSerializable contained +syn keyword phpClasses JsonSerializable JsonIncrementalParser contained " libxml syn keyword phpFunctions libxml_set_streams_context libxml_use_internal_errors libxml_get_last_error libxml_clear_errors libxml_get_errors libxml_disable_entity_loader libxml_set_external_entity_loader contained @@ -245,7 +256,7 @@ syn keyword phpFunctions mcrypt_ecb mcrypt_cbc mcrypt_cfb mcrypt_ofb mcrypt_get_ " mysql syn keyword phpFunctions mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_ping mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql_set_charset mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name contained " mysqli -syn keyword phpFunctions mysqli_affected_rows mysqli_autocommit mysqli_begin_transaction mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect mysqli_connect_errno mysqli_connect_error mysqli_data_seek mysqli_dump_debug_info mysqli_debug mysqli_errno mysqli_error mysqli_error_list mysqli_stmt_execute mysqli_execute mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_field_direct mysqli_fetch_lengths mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_connection_stats mysqli_get_client_stats mysqli_get_charset mysqli_get_client_info mysqli_get_client_version mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_get_warnings mysqli_init mysqli_info mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_poll mysqli_prepare mysqli_report mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_release_savepoint mysqli_rollback mysqli_savepoint mysqli_select_db mysqli_set_charset mysqli_stmt_affected_rows mysqli_stmt_attr_get mysqli_stmt_attr_set mysqli_stmt_bind_param mysqli_stmt_bind_result mysqli_stmt_close mysqli_stmt_data_seek mysqli_stmt_errno mysqli_stmt_error mysqli_stmt_error_list mysqli_stmt_fetch mysqli_stmt_field_count mysqli_stmt_free_result mysqli_stmt_get_result mysqli_stmt_get_warnings mysqli_stmt_init mysqli_stmt_insert_id mysqli_stmt_more_results mysqli_stmt_next_result mysqli_stmt_num_rows mysqli_stmt_param_count mysqli_stmt_prepare mysqli_stmt_reset mysqli_stmt_result_metadata mysqli_stmt_send_long_data mysqli_stmt_store_result mysqli_stmt_sqlstate mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count mysqli_refresh mysqli_escape_string mysqli_set_opt contained +syn keyword phpFunctions mysqli_affected_rows mysqli_autocommit mysqli_begin_transaction mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect mysqli_connect_errno mysqli_connect_error mysqli_data_seek mysqli_dump_debug_info mysqli_debug mysqli_errno mysqli_error mysqli_error_list mysqli_stmt_execute mysqli_execute mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_field_direct mysqli_fetch_lengths mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_version mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_get_warnings mysqli_init mysqli_info mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_report mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_release_savepoint mysqli_rollback mysqli_savepoint mysqli_select_db mysqli_set_charset mysqli_stmt_affected_rows mysqli_stmt_attr_get mysqli_stmt_attr_set mysqli_stmt_bind_param mysqli_stmt_bind_result mysqli_stmt_close mysqli_stmt_data_seek mysqli_stmt_errno mysqli_stmt_error mysqli_stmt_error_list mysqli_stmt_fetch mysqli_stmt_field_count mysqli_stmt_free_result mysqli_stmt_get_warnings mysqli_stmt_init mysqli_stmt_insert_id mysqli_stmt_num_rows mysqli_stmt_param_count mysqli_stmt_prepare mysqli_stmt_reset mysqli_stmt_result_metadata mysqli_stmt_send_long_data mysqli_stmt_store_result mysqli_stmt_sqlstate mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count mysqli_refresh mysqli_escape_string mysqli_set_opt contained syn keyword phpClasses mysqli_sql_exception mysqli_driver mysqli mysqli_warning mysqli_result mysqli_stmt contained " openssl @@ -266,7 +277,7 @@ syn keyword phpClasses ReflectionException Reflection Reflector ReflectionFuncti " session syn keyword phpFunctions session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close session_status session_register_shutdown session_commit contained -syn keyword phpClasses SessionHandlerInterface SessionHandler contained +syn keyword phpClasses SessionHandlerInterface SessionIdInterface SessionHandler contained " SimpleXML syn keyword phpFunctions simplexml_load_file simplexml_load_string simplexml_import_dom contained @@ -286,7 +297,7 @@ syn keyword phpClasses LogicException BadFunctionCallException BadMethodCallExce syn keyword phpClasses SQLite3 SQLite3Stmt SQLite3Result contained " standard -syn keyword phpFunctions constant bin2hex hex2bin sleep usleep time_nanosleep time_sleep_until strptime flush wordwrap htmlspecialchars htmlentities html_entity_decode htmlspecialchars_decode get_html_translation_table sha1 sha1_file md5 md5_file crc32 iptcparse iptcembed getimagesize getimagesizefromstring image_type_to_mime_type image_type_to_extension phpinfo phpversion phpcredits php_sapi_name php_uname php_ini_scanned_files php_ini_loaded_file strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos stripos strrpos strripos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count str_split strpbrk substr_compare strcoll money_format substr substr_replace quotemeta ucfirst lcfirst ucwords strtr addslashes addcslashes rtrim str_replace str_ireplace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode join setlocale localeconv nl_langinfo soundex levenshtein chr ord parse_str str_getcsv str_pad chop strchr sprintf printf vprintf vsprintf fprintf vfprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode http_build_query readlink linkinfo symlink link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close proc_terminate proc_get_status proc_nice rand srand getrandmax mt_rand mt_srand mt_getrandmax getservbyname getservbyport getprotobyname getprotobynumber getmyuid getmygid getmypid getmyinode getlastmod base64_decode base64_encode password_hash password_get_info password_needs_rehash password_verify convert_uuencode convert_uudecode abs ceil floor round sin cos tan asin acos atan atanh atan2 sinh cosh tanh asinh acosh expm1 log1p pi is_finite is_nan is_infinite pow exp log log10 sqrt hypot deg2rad rad2deg bindec hexdec octdec decbin decoct dechex base_convert number_format fmod inet_ntop inet_pton ip2long long2ip getenv putenv getopt sys_getloadavg microtime gettimeofday getrusage uniqid quoted_printable_decode quoted_printable_encode convert_cyr_string get_current_user set_time_limit header_register_callback get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime error_log error_get_last call_user_func call_user_func_array call_user_method call_user_method_array forward_static_call forward_static_call_array serialize unserialize var_dump var_export debug_zval_dump print_r memory_get_usage memory_get_peak_usage register_shutdown_function register_tick_function unregister_tick_function highlight_file show_source highlight_string php_strip_whitespace ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie setrawcookie header header_remove headers_sent headers_list http_response_code connection_aborted connection_status ignore_user_abort parse_ini_file parse_ini_string is_uploaded_file move_uploaded_file gethostbyaddr gethostbyname gethostbynamel gethostname dns_check_record checkdnsrr dns_get_mx getmxrr dns_get_record intval floatval doubleval strval boolval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar is_callable pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_get_params stream_context_set_option stream_context_get_options stream_context_get_default stream_context_set_default stream_filter_prepend stream_filter_append stream_filter_remove stream_socket_client stream_socket_server stream_socket_accept stream_socket_get_name stream_socket_recvfrom stream_socket_sendto stream_socket_enable_crypto stream_socket_shutdown stream_socket_pair stream_copy_to_stream stream_get_contents stream_supports_lock fgetcsv fputcsv flock get_meta_tags stream_set_read_buffer stream_set_write_buffer set_file_buffer stream_set_chunk_size set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_get_line stream_wrapper_register stream_register_wrapper stream_wrapper_unregister stream_wrapper_restore stream_get_wrappers stream_get_transports stream_resolve_include_path stream_is_local get_headers stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir scandir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown chgrp lchown lchgrp chmod touch clearstatcache disk_total_space disk_free_space diskfreespace realpath_cache_size realpath_cache_get mail ezmlm_hash openlog syslog closelog lcg_value metaphone ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk array_walk_recursive count end prev next reset current key min max in_array array_search extract compact array_fill array_fill_keys range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_replace array_replace_recursive array_keys array_values array_count_values array_column array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_key array_intersect_ukey array_uintersect array_intersect_assoc array_uintersect_assoc array_intersect_uassoc array_uintersect_uassoc array_diff array_diff_key array_diff_ukey array_udiff array_diff_assoc array_udiff_assoc array_diff_uassoc array_udiff_uassoc array_sum array_product array_filter array_map array_chunk array_combine array_key_exists pos sizeof key_exists assert assert_options version_compare ftok str_rot13 stream_get_filters stream_filter_register stream_bucket_make_writeable stream_bucket_prepend stream_bucket_append stream_bucket_new output_add_rewrite_var output_reset_rewrite_vars sys_get_temp_dir contained +syn keyword phpFunctions constant bin2hex hex2bin sleep usleep time_nanosleep time_sleep_until strptime flush wordwrap htmlspecialchars htmlentities html_entity_decode htmlspecialchars_decode get_html_translation_table sha1 sha1_file md5 md5_file crc32 iptcparse iptcembed getimagesize getimagesizefromstring image_type_to_mime_type image_type_to_extension phpinfo phpversion phpcredits php_sapi_name php_uname php_ini_scanned_files php_ini_loaded_file strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos stripos strrpos strripos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count str_split strpbrk substr_compare strcoll money_format substr substr_replace quotemeta ucfirst lcfirst ucwords strtr addslashes addcslashes rtrim str_replace str_ireplace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode join setlocale localeconv nl_langinfo soundex levenshtein chr ord parse_str str_getcsv str_pad chop strchr sprintf printf vprintf vsprintf fprintf vfprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode http_build_query readlink linkinfo symlink link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close proc_terminate proc_get_status proc_nice rand srand getrandmax mt_rand mt_srand mt_getrandmax getservbyname getservbyport getprotobyname getprotobynumber getmyuid getmygid getmypid getmyinode getlastmod base64_decode base64_encode password_hash password_get_info password_needs_rehash password_verify convert_uuencode convert_uudecode abs ceil floor round sin cos tan asin acos atan atanh atan2 sinh cosh tanh asinh acosh expm1 log1p pi is_finite is_nan is_infinite pow exp log log10 sqrt hypot deg2rad rad2deg bindec hexdec octdec decbin decoct dechex base_convert number_format fmod inet_ntop inet_pton ip2long long2ip getenv putenv getopt sys_getloadavg microtime gettimeofday getrusage uniqid quoted_printable_decode quoted_printable_encode convert_cyr_string get_current_user set_time_limit header_register_callback get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime error_log error_get_last call_user_func call_user_func_array call_user_method call_user_method_array forward_static_call forward_static_call_array serialize unserialize var_dump var_export debug_zval_dump print_r memory_get_usage memory_get_peak_usage register_shutdown_function register_tick_function unregister_tick_function highlight_file show_source highlight_string php_strip_whitespace ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie setrawcookie header header_remove headers_sent headers_list http_response_code connection_aborted connection_status ignore_user_abort parse_ini_file parse_ini_string is_uploaded_file move_uploaded_file gethostbyaddr gethostbyname gethostbynamel gethostname dns_check_record checkdnsrr dns_get_mx getmxrr dns_get_record intval floatval doubleval strval boolval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar is_callable pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_get_params stream_context_set_option stream_context_get_options stream_context_get_default stream_context_set_default stream_filter_prepend stream_filter_append stream_filter_remove stream_socket_client stream_socket_server stream_socket_accept stream_socket_get_name stream_socket_recvfrom stream_socket_sendto stream_socket_enable_crypto stream_socket_shutdown stream_socket_pair stream_copy_to_stream stream_get_contents stream_supports_lock fgetcsv fputcsv flock get_meta_tags stream_set_read_buffer stream_set_write_buffer set_file_buffer stream_set_chunk_size set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_get_line stream_wrapper_register stream_register_wrapper stream_wrapper_unregister stream_wrapper_restore stream_get_wrappers stream_get_transports stream_resolve_include_path stream_is_local get_headers stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir chroot getcwd rewinddir readdir dir scandir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown chgrp lchown lchgrp chmod touch clearstatcache disk_total_space disk_free_space diskfreespace realpath_cache_size realpath_cache_get mail ezmlm_hash openlog syslog closelog lcg_value metaphone ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk array_walk_recursive count end prev next reset current key min max in_array array_search extract compact array_fill array_fill_keys range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_replace array_replace_recursive array_keys array_values array_count_values array_column array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_key array_intersect_ukey array_uintersect array_intersect_assoc array_uintersect_assoc array_intersect_uassoc array_uintersect_uassoc array_diff array_diff_key array_diff_ukey array_udiff array_diff_assoc array_udiff_assoc array_diff_uassoc array_udiff_uassoc array_sum array_product array_filter array_map array_chunk array_combine array_key_exists pos sizeof key_exists assert assert_options version_compare ftok str_rot13 stream_get_filters stream_filter_register stream_bucket_make_writeable stream_bucket_prepend stream_bucket_append stream_bucket_new output_add_rewrite_var output_reset_rewrite_vars sys_get_temp_dir contained syn keyword phpClasses __PHP_Incomplete_Class php_user_filter Directory contained " tokenizer @@ -313,10 +324,13 @@ syn keyword phpFunctions readgzfile gzrewind gzclose gzeof gzgetc gzgets gzgetss " === END BUILTIN FUNCTIONS, CLASSES, AND CONSTANTS ===================================== " The following is needed afterall it seems. -syntax keyword phpClasses containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle,phpIdentifier,phpMethodsVar +syntax keyword phpClasses containedin=ALLBUT,phpComment,phpDocComment,phpStringDouble,phpStringSingle,phpIdentifier,phpMethodsVar " Control Structures -syn keyword phpStatement if else elseif while do for foreach break switch case default continue return goto as endif endwhile endfor endforeach endswitch declare endeclare contained +syn keyword phpKeyword if echo else elseif while do for foreach function break switch case default continue return goto as endif endwhile endfor endforeach endswitch declare endeclare print new clone yield contained + +" Exception Keywords +syn keyword phpKeyword try catch finally throw contained " Class Keywords syn keyword phpType class abstract extends interface implements static final var public private protected const trait contained @@ -324,14 +338,8 @@ syn keyword phpType class abstract extends interface implements static final var " Magic Methods syn keyword phpStatement __construct __destruct __call __callStatic __get __set __isset __unset __sleep __wakeup __toString __invoke __set_state __clone contained -" Exception Keywords -syn keyword phpStatement try catch throw contained - " Language Constructs -syn keyword phpStatement die exit eval empty isset unset list instanceof insteadof contained - -" These special keywords have traditionally received special colors -syn keyword phpSpecial function echo print new clone contained +syn keyword phpKeyword die exit eval empty isset unset list instanceof insteadof contained " Include & friends syn keyword phpInclude include include_once require require_once namespace use contained @@ -354,7 +362,7 @@ syn match phpVarSelector "\$" contained display syn match phpMethodsVar "->\h\w*" contained contains=phpMethods,phpMemberSelector display containedin=phpStringDouble " Identifier -syn match phpIdentifier "$\h\w*" contained contains=phpEnvVar,phpIntVar,phpVarSelector display +syn match phpIdentifier "$\h\w*" contained contains=phpSuperglobals,phpVarSelector display syn match phpIdentifierSimply "${\h\w*}" contains=phpOperator,phpParent contained display syn region phpIdentifierComplex matchgroup=phpParent start="{\$"rs=e-1 end="}" contains=phpIdentifier,phpMemberSelector,phpVarSelector,phpIdentifierArray contained extend syn region phpIdentifierArray matchgroup=phpParent start="\[" end="]" contains=@phpClInside contained @@ -380,6 +388,11 @@ syn match phpSpecialChar +\\"+ contained display syn match phpStrEsc "\\\\" contained display syn match phpStrEsc "\\'" contained display +" Format specifiers (printf) +" See https://github.com/aantonello/php.vim/commit/9d24eab4ea4b3752a54aebf14d3491b6d8edb6d8 +syn match phpSpecialChar display contained /%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([aAbBdiouxXDOUfFeEgGcCsSpnmMyYhH]\|\[\^\=.[^]]*\]\)/ containedin=phpStringSingle,phpStringDouble,phpHereDoc +syn match phpSpecialChar display contained /%%/ containedin=phpStringSingle,phpStringDouble,phpHereDoc + " Error syn match phpOctalError "[89]" contained display if exists("php_parent_error_close") @@ -395,6 +408,25 @@ if exists("php_parent_error_open") else syn region phpComment start="/\*" end="\*/" contained contains=phpTodo,@Spell extend endif + +syn match phpCommentStar contained "^\s*\*[^/]"me=e-1 +syn match phpCommentStar contained "^\s*\*$" + +if !exists("php_ignore_phpdoc") + syn case ignore + + syn region phpDocComment start="/\*\*" end="\*/" keepend contains=phpCommentTitle,phpDocTags,phpTodo + syn region phpCommentTitle contained matchgroup=phpDocComment start="/\*\*" matchgroup=phpCommmentTitle keepend end="\.$" end="\.[ \t\r<&]"me=e-1 end="[^{]@"me=s-2,he=s-1 end="\*/"me=s-1,he=s-1 contains=phpCommentStar,phpTodo,phpDocTags containedin=phpComment + + syn region phpDocTags start="{@\(example\|id\|internal\|inheritdoc\|link\|source\|toc\|tutorial\)" end="}" containedin=phpComment + syn match phpDocTags "@\(abstract\|access\|author\|category\|copyright\|deprecated\|example\|final\|global\|ignore\|internal\|license\|link\|method\|name\|package\|param\|property\|return\|see\|since\|static\|staticvar\|subpackage\|todo\|tutorial\|uses\|var\|version\)\s\+\S\+.*" contains=phpDocParam containedin=phpComment + syn match phpDocParam "\s\S\+" contained contains=phpDocIdentifier + syn match phpDocIdentifier contained "$\h\w*" + syn match phpDocTags "@filesource" containedin=phpComment + + syn case match +endif + if version >= 600 syn match phpComment "#.\{-}\(?>\|$\)\@=" contained contains=phpTodo,@Spell syn match phpComment "//.\{-}\(?>\|$\)\@=" contained contains=phpTodo,@Spell @@ -407,13 +439,13 @@ endif " String if exists("php_parent_error_open") - syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell,@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpStrEsc contained keepend - syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@Spell,@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpStrEsc contained keepend - syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@Spell,@phpAddStrings,phpStrEsc contained keepend + syn region phpStringDouble matchgroup=phpStringDelimiter start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell,@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpStrEsc contained keepend + syn region phpBacktick matchgroup=phpStringDelimiter start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@Spell,@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpStrEsc contained keepend + syn region phpStringSingle matchgroup=phpStringDelimiter start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@Spell,@phpAddStrings,phpStrEsc contained keepend else - syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell,@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpStrEsc contained extend keepend - syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@Spell,@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpStrEsc contained extend keepend - syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@Spell,@phpAddStrings,phpStrEsc contained keepend extend + syn region phpStringDouble matchgroup=phpStringDelimiter start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell,@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpStrEsc contained extend keepend + syn region phpBacktick matchgroup=phpStringDelimiter start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@Spell,@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpStrEsc contained extend keepend + syn region phpStringSingle matchgroup=phpStringDelimiter start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@Spell,@phpAddStrings,phpStrEsc contained keepend extend endif " HereDoc @@ -432,7 +464,7 @@ endif " Parent if exists("php_parent_error_close") || exists("php_parent_error_open") syn match phpParent "[{}]" contained - syn region phpParent matchgroup=Delimiter start="(" end=")" contained contains=@phpClInside transparent + syn region phpParent matchgroup=Delimiter start="(" end=")" contained contains=@phpClFunction transparent syn region phpParent matchgroup=Delimiter start="\[" end="\]" contained contains=@phpClInside transparent if !exists("php_parent_error_close") syn match phpParent "[\])]" contained @@ -442,9 +474,9 @@ else endif " Clusters -syn cluster phpClConst contains=phpFunctions,phpClasses,phpIdentifier,phpStatement,phpOperator,phpStringSingle,phpStringDouble,phpBacktick,phpNumber,phpType,phpBoolean,phpStructure,phpMethodsVar,phpConstants,phpException,phpSuperglobals,phpMagicConstants,phpServerVars -syn cluster phpClInside contains=@phpClConst,phpComment,phpParent,phpParentError,phpInclude,phpHereDoc,phpNowDoc -syn cluster phpClFunction contains=@phpClInside,phpDefine,phpParentError,phpStorageClass,phpSpecial +syn cluster phpClConst contains=phpFunctions,phpClasses,phpIdentifier,phpStatement,phpKeyword,phpOperator,phpStringSingle,phpStringDouble,phpBacktick,phpNumber,phpType,phpBoolean,phpStructure,phpMethodsVar,phpConstants,phpException,phpSuperglobals,phpMagicConstants,phpServerVars +syn cluster phpClInside contains=@phpClConst,phpComment,phpDocComment,phpParent,phpParentError,phpInclude,phpHereDoc,phpNowDoc +syn cluster phpClFunction contains=@phpClInside,phpDefine,phpParentError,phpStorageClass,phpKeyword syn cluster phpClTop contains=@phpClFunction,phpFoldFunction,phpFoldClass,phpFoldInterface,phpFoldTry,phpFoldCatch " Php Region @@ -495,38 +527,45 @@ endif " For version 5.8 and later: only when an item doesn't have highlighting yet if !exists("did_php_syn_inits") + hi def link phpCommentTitle SpecialComment hi def link phpComment Comment - hi def link phpSuperglobals Constant + hi def link phpDocComment Comment + hi def link phpCommentStar Comment hi def link phpMagicConstants Constant hi def link phpServerVars Constant hi def link phpConstants Constant - hi def link phpBoolean Constant - hi def link phpNumber Constant + hi def link phpBoolean Boolean + hi def link phpNumber Number hi def link phpStringSingle String hi def link phpStringDouble String hi def link phpBacktick String + hi def link phpStringDelimiter String hi def link phpHereDoc String hi def link phpNowDoc String - hi def link phpFunctions Identifier - hi def link phpClasses Identifier - hi def link phpMethods Identifier + hi def link phpFunctions Function + hi def link phpMethods Function + hi def link phpClasses StorageClass + hi def link phpException StorageClass hi def link phpIdentifier Identifier hi def link phpIdentifierSimply Identifier + hi def link phpDocIdentifier Identifier hi def link phpStatement Statement hi def link phpStructure Statement - hi def link phpException Statement hi def link phpOperator Operator hi def link phpVarSelector Operator hi def link phpInclude PreProc hi def link phpDefine PreProc - hi def link phpSpecial PreProc - hi def link phpFCKeyword PreProc + hi def link phpKeyword Keyword + hi def link phpFCKeyword Keyword + hi def link phpSCKeyword Keyword + hi def link phpSuperglobals Type hi def link phpType Type - hi def link phpSCKeyword Type - hi def link phpMemberSelector Type - hi def link phpSpecialChar Special - hi def link phpStrEsc Special + hi def link phpDocParam Type + hi def link phpMemberSelector Operator + hi def link phpDocTags Special hi def link phpParent Special + hi def link phpSpecialChar SpecialChar + hi def link phpStrEsc SpecialChar hi def link phpParentError Error hi def link phpOctalError Error hi def link phpTodo Todo diff --git a/syntax/rust.vim b/syntax/rust.vim index aa0549a..88e4189 100644 --- a/syntax/rust.vim +++ b/syntax/rust.vim @@ -78,7 +78,7 @@ syn keyword rustTrait Default syn keyword rustTrait Hash syn keyword rustTrait FromStr syn keyword rustTrait FromIterator Extendable -syn keyword rustTrait Iterator DoubleEndedIterator RandomAccessIterator ClonableIterator +syn keyword rustTrait Iterator DoubleEndedIterator RandomAccessIterator CloneableIterator syn keyword rustTrait OrdIterator MutableDoubleEndedIterator ExactSize syn keyword rustTrait Times diff --git a/syntax/scala.vim b/syntax/scala.vim index a3f567a..1ee8747 100644 --- a/syntax/scala.vim +++ b/syntax/scala.vim @@ -12,12 +12,14 @@ syn sync minlines=200 maxlines=1000 syn keyword scalaKeyword catch do else final finally for forSome if syn keyword scalaKeyword match return throw try while yield syn keyword scalaKeyword class trait object extends with nextgroup=scalaInstanceDeclaration skipwhite -syn keyword scalaKeyword type nextgroup=scalaTypeTypeDeclaration skipwhite syn keyword scalaKeyword case nextgroup=scalaKeyword,scalaCaseFollowing skipwhite syn keyword scalaKeyword val nextgroup=scalaNameDefinition,scalaQuasiQuotes skipwhite syn keyword scalaKeyword def var nextgroup=scalaNameDefinition skipwhite hi link scalaKeyword Keyword +syn keyword scalaAkkaSpecialWord when goto using startWith initialize onTransition stay become unbecome +hi link scalaAkkaSpecialWord PreProc + syn match scalaSymbol /'[_A-Za-z0-9$]\+/ hi link scalaSymbol Number @@ -28,14 +30,26 @@ hi link scalaChar Character hi link scalaEscapedChar Function hi link scalaUnicodeChar Special +syn match scalaOperator "||" +syn match scalaOperator "&&" +hi link scalaOperator Special + syn match scalaNameDefinition /\<[_A-Za-z0-9$]\+\>/ contained nextgroup=scalaPostNameDefinition syn match scalaNameDefinition /`[^`]\+`/ contained nextgroup=scalaPostNameDefinition syn match scalaPostNameDefinition /\_s*:\_s*/ contained nextgroup=scalaTypeDeclaration hi link scalaNameDefinition Function -syn match scalaInstanceDeclaration /\<[_\.A-Za-z0-9$]\+\>/ contained +syn match scalaInstanceDeclaration /\<[_\.A-Za-z0-9$]\+\>/ contained nextgroup=scalaInstanceHash syn match scalaInstanceDeclaration /`[^`]\+`/ contained +syn match scalaInstanceHash /#/ contained nextgroup=scalaInstanceDeclaration hi link scalaInstanceDeclaration Special +hi link scalaInstanceHash Type + +syn match scalaCapitalWord /\<[A-Z][A-Za-z0-9$]*\>/ +hi link scalaCapitalWord Special + +" Handle type declarations specially +syn region scalaTypeStatement matchgroup=Keyword start=/\\)\ze/ contained nextgroup=scalaTypeTypeDeclaration contains=scalaTypeTypeExtension skipwhite syn match scalaTypeTypeDeclaration /\<[_\.A-Za-z0-9$]\+\>/ contained nextgroup=scalaTypeTypeExtension,scalaTypeTypeEquals skipwhite syn match scalaTypeTypeEquals /=\ze[^>]/ contained nextgroup=scalaTypeTypePostDeclaration skipwhite -syn match scalaTypeTypeExtension /)\?\_s*\zs\%(⇒\|=>\|<:\|:>\|=:=\|::\)/ contained nextgroup=scalaTypeTypeDeclaration skipwhite -syn match scalaTypeTypePostDeclaration /\<[_A-Za-z0-9$]\+\>/ contained nextgroup=scalaTypeTypePostExtension contains=ALLBUT,scalaParamAnnotationValue skipwhite +syn match scalaTypeTypeExtension /)\?\_s*\zs\%(⇒\|=>\|<:\|:>\|=:=\|::\|#\)/ contained nextgroup=scalaTypeTypeDeclaration skipwhite +syn match scalaTypeTypePostDeclaration /\<[_\.A-Za-z0-9$]\+\>/ contained nextgroup=scalaTypeTypePostExtension skipwhite syn match scalaTypeTypePostExtension /\%(⇒\|=>\|<:\|:>\|=:=\|::\)/ contained nextgroup=scalaTypeTypePostDeclaration skipwhite hi link scalaTypeTypeDeclaration Type hi link scalaTypeTypeExtension Keyword hi link scalaTypeTypePostDeclaration Special hi link scalaTypeTypePostExtension Keyword -syn match scalaTypeDeclaration /(/ contained nextgroup=scalaTypeExtension,scalaTypeEquals contains=scalaRoundBrackets skipwhite +syn match scalaTypeDeclaration /(/ contained nextgroup=scalaTypeExtension contains=scalaRoundBrackets skipwhite syn match scalaTypeDeclaration /\%(⇒\|=>\)\ze/ contained nextgroup=scalaTypeDeclaration contains=scalaTypeExtension skipwhite -syn match scalaTypeDeclaration /\<[_\.A-Za-z0-9$]\+\>/ contained nextgroup=scalaTypeExtension,scalaTypeEquals skipwhite -syn match scalaTypeExtension /)\?\_s*\zs\%(⇒\|=>\|<:\|:>\|=:=\|::\)/ contained nextgroup=scalaTypeDeclaration skipwhite +syn match scalaTypeDeclaration /\<[_\.A-Za-z0-9$]\+\>/ contained nextgroup=scalaTypeExtension skipwhite +syn match scalaTypeExtension /)\?\_s*\zs\%(⇒\|=>\|<:\|:>\|=:=\|::\|#\)/ contained nextgroup=scalaTypeDeclaration skipwhite hi link scalaTypeDeclaration Type hi link scalaTypeExtension Keyword hi link scalaTypePostExtension Keyword @@ -63,14 +77,14 @@ syn match scalaTypeAnnotation /\%([_a-zA-Z0-9$\s]:\_s*\)\ze[_=(\.A-Za-z0-9$]\+/ syn match scalaTypeAnnotation /)\_s*:\_s*\ze[_=(\.A-Za-z0-9$]\+/ skipwhite nextgroup=scalaTypeDeclaration hi link scalaTypeAnnotation Normal -syn match scalaCaseFollowing /\<[_\.A-Za-z0-9$]*\>/ contained +syn match scalaCaseFollowing /\<[_\.A-Za-z0-9$]\+\>/ contained syn match scalaCaseFollowing /`[^`]\+`/ contained hi link scalaCaseFollowing Special -syn keyword scalaKeywordModifier abstract override final lazy implicit private protected sealed null require super +syn keyword scalaKeywordModifier abstract override final lazy implicit implicitly private protected sealed null require super hi link scalaKeywordModifier Function -syn keyword scalaSpecial this true false package import +syn keyword scalaSpecial this true false package import ne eq syn keyword scalaSpecial new nextgroup=scalaInstanceDeclaration skipwhite syn match scalaSpecial "\%(=>\|⇒\|<-\|←\|->\|→\)" syn match scalaSpecial /`[^`]*`/ " Backtick literals @@ -97,23 +111,23 @@ syn region scalaQuasiQuotes matchgroup=Type start=/\/ -syn match scalaNumber /\<[1-9]\d*[dDfFlL]\?\>/ -syn match scalaNumber /\<0[xX][0-9a-fA-F]\+[dDfFlL]\?\>/ -syn match scalaNumber "\%(\<\d\+\.\d*\|\.\d\+\)\%([eE][-+]\=\d\+\)\=[fFdD]\=" -syn match scalaNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" -syn match scalaNumber "\<\d\+\%([eE][-+]\=\d\+\)\=[fFdD]\>" +syn match scalaNumber /\<0[dDfFlL]\?\>/ " Just a bare 0 +syn match scalaNumber /\<[1-9]\d*[dDfFlL]\?\>/ " A multi-digit number - octal numbers with leading 0's are deprecated in Scala +syn match scalaNumber /\<0[xX][0-9a-fA-F]\+[dDfFlL]\?\>/ " Hex number +syn match scalaNumber /\%(\<\d\+\.\d*\|\.\d\+\)\%([eE][-+]\=\d\+\)\=[fFdD]\=/ " exponential notation 1 +syn match scalaNumber /\<\d\+[eE][-+]\=\d\+[fFdD]\=\>/ " exponential notation 2 +syn match scalaNumber /\<\d\+\%([eE][-+]\=\d\+\)\=[fFdD]\>/ " exponential notation 3 hi link scalaNumber Number syn region scalaRoundBrackets start="(" end=")" skipwhite contained contains=scalaTypeDeclaration,scalaSquareBrackets,scalaRoundBrackets @@ -142,3 +156,17 @@ hi link scalaAnnotation PreProc syn match scalaTrailingComment "//.*$" hi link scalaTrailingComment Comment + +syn match scalaAkkaFSM /goto([^)]*)\_s\+\/ contains=scalaAkkaFSMGotoUsing +syn match scalaAkkaFSM /stay\_s\+using/ +syn match scalaAkkaFSM /^\s*stay\s*$/ +syn match scalaAkkaFSM /when\ze([^)]*)/ +syn match scalaAkkaFSM /startWith\ze([^)]*)/ +syn match scalaAkkaFSM /initialize\ze()/ +syn match scalaAkkaFSM /onTransition/ +syn match scalaAkkaFSM /onTermination/ +syn match scalaAkkaFSM /whenUnhandled/ +syn match scalaAkkaFSMGotoUsing /\/ +syn match scalaAkkaFSMGotoUsing /\/ +hi link scalaAkkaFSM PreProc +hi link scalaAkkaFSMGotoUsing PreProc diff --git a/syntax/slim.vim b/syntax/slim.vim index c4371b1..efd31b9 100644 --- a/syntax/slim.vim +++ b/syntax/slim.vim @@ -61,6 +61,7 @@ syn region slimInnerAttrString start=+\s*"+ skip=+\%(\\\\\)*\\"+ end=+"\s*+ cont syn region slimInnerAttrString start=+\s*'+ skip=+\%(\\\\\)*\\"+ end=+'\s*+ contained contains=slimInterpolation,slimInterpolationEscape nextgroup=slimAttr syn region slimInterpolation matchgroup=slimInterpolationDelimiter start="#{" end="}" contains=@hamlRubyTop containedin=javascriptStringS,javascriptStringD,slimWrappedAttrs +syn region slimInterpolation matchgroup=slimInterpolationDelimiter start="#{{" end="}}" contains=@hamlRubyTop containedin=javascriptStringS,javascriptStringD,slimWrappedAttrs syn match slimInterpolationEscape "\\\@