diff --git a/README.md b/README.md index dfe470d..4a21520 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ If you need full functionality of any plugin, please use it directly with your p - [haxe](https://github.com/yaymukund/vim-haxe) (syntax, ftdetect) - [html5](https://github.com/othree/html5.vim) (syntax, indent, autoload, ftplugin) - [jasmine](https://github.com/glanotte/vim-jasmine) (syntax, ftdetect) -- [javascript](https://github.com/pangloss/vim-javascript) (syntax, indent, ftdetect, ftplugin, extras) +- [javascript](https://github.com/pangloss/vim-javascript) (syntax, indent, compiler, ftdetect, ftplugin, extras) - [json](https://github.com/elzr/vim-json) (syntax, indent, ftplugin, ftdetect) - [jst](https://github.com/briancollins/vim-jst) (syntax, indent, ftdetect) - [jsx](https://github.com/mxw/vim-jsx) (ftdetect, after) @@ -74,7 +74,7 @@ If you need full functionality of any plugin, please use it directly with your p - [lua](https://github.com/tbastos/vim-lua) (syntax, indent) - [mako](https://github.com/sophacles/vim-bundle-mako) (syntax, indent, ftplugin, ftdetect) - [markdown](https://github.com/plasticboy/vim-markdown) (syntax, ftdetect) -- [nginx](https://github.com/othree/nginx-contrib-vim) (syntax, indent, ftdetect) +- [nginx](https://github.com/othree/nginx-contrib-vim) (syntax, indent, ftplugin, ftdetect) - [nim](https://github.com/zah/nim.vim) (syntax, compiler, indent, ftdetect) - [nix](https://github.com/spwhitt/vim-nix) (syntax, ftplugin, ftdetect) - [objc](https://github.com/b4winckler/vim-objc) (ftplugin, syntax, indent) diff --git a/after/indent/html.vim b/after/indent/html.vim index a711351..47da18f 100644 --- a/after/indent/html.vim +++ b/after/indent/html.vim @@ -20,7 +20,7 @@ setlocal indentexpr=GetCoffeeHtmlIndent(v:lnum) function! GetCoffeeHtmlIndent(curlinenum) " See if we're inside a coffeescript block. - let scriptlnum = searchpair('', 'bWn') let prevlnum = prevnonblank(a:curlinenum) diff --git a/after/syntax/html.vim b/after/syntax/html.vim index 5979f11..ab99117 100644 --- a/after/syntax/html.vim +++ b/after/syntax/html.vim @@ -11,7 +11,7 @@ endif " Syntax highlighting for text/coffeescript script tags syn include @htmlCoffeeScript syntax/coffee.vim -syn region coffeeScript start=##me=s-1 keepend \ contains=@htmlCoffeeScript,htmlScriptTag,@htmlPreproc \ containedin=htmlHead diff --git a/after/syntax/yaml.vim b/after/syntax/yaml.vim index 57d9a23..7f4808d 100644 --- a/after/syntax/yaml.vim +++ b/after/syntax/yaml.vim @@ -40,7 +40,7 @@ syn keyword yamlConstant NULL Null null NONE None none NIL Nil nil syn keyword yamlConstant TRUE True true YES Yes yes ON On on syn keyword yamlConstant FALSE False false NO No no OFF Off off -syn match yamlKey "\w\+\ze\s*:" +syn match yamlKey "^\s*\zs\S\+\ze\s*:" syn match yamlAnchor "&\S\+" syn match yamlAlias "*\S\+" diff --git a/autoload/elixir/indent.vim b/autoload/elixir/indent.vim index 8e0c609..b6df3b5 100644 --- a/autoload/elixir/indent.vim +++ b/autoload/elixir/indent.vim @@ -3,7 +3,6 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elixir') == -1 let s:NO_COLON_BEFORE = ':\@' let s:END_WITH_ARROW = s:ARROW.'$' let s:SKIP_SYNTAX = '\%(Comment\|String\)$' @@ -16,28 +15,31 @@ let s:MULTILINE_BLOCK = '\%(\'.s:NO_COLON_AFTER.'\|'.s:MULTILINE_FN.'\)' let s:BLOCK_MIDDLE = '\<\%(else\|match\|elsif\|catch\|after\|rescue\)\>' let s:BLOCK_END = 'end' let s:STARTS_WITH_PIPELINE = '^\s*|>.*$' +let s:QUERY_FROM = '^\s*\.*\.*,' let s:ENDING_WITH_ASSIGNMENT = '=\s*$' let s:INDENT_KEYWORDS = s:NO_COLON_BEFORE.'\%('.s:MULTILINE_BLOCK.'\|'.s:BLOCK_MIDDLE.'\)' let s:DEINDENT_KEYWORDS = '^\s*\<\%('.s:BLOCK_END.'\|'.s:BLOCK_MIDDLE.'\)\>' let s:PAIR_START = '\<\%('.s:NO_COLON_BEFORE.s:BLOCK_START.'\)\>'.s:NO_COLON_AFTER let s:PAIR_MIDDLE = '^\s*\%('.s:BLOCK_MIDDLE.'\)\>'.s:NO_COLON_AFTER.'\zs' let s:PAIR_END = '\<\%('.s:NO_COLON_BEFORE.s:BLOCK_END.'\)\>\zs' +let s:LINE_COMMENT = '^\s*#' +let s:MATCH_OPERATOR = '[^!><=]=[^~=>]' function! s:pending_parenthesis(line) - if a:line.last.text !~ s:ARROW - return elixir#util#count_indentable_symbol_diff(a:line.last, '(', '\%(end\s*\)\@' + if a:line.last_non_blank.text =~ s:END_WITH_ARROW && a:line.last_non_blank.text !~ '\' let b:old_ind.arrow = a:ind return a:ind + &sw else @@ -134,7 +144,7 @@ function! elixir#indent#indent_case_arrow(ind, line) endfunction function! elixir#indent#indent_ending_symbols(ind, line) - if a:line.last.text =~ '^\s*\('.s:ENDING_SYMBOLS.'\)\s*$' + if a:line.last_non_blank.text =~ '^\s*\('.s:ENDING_SYMBOLS.'\)\s*$' return a:ind + &sw else return a:ind @@ -142,7 +152,7 @@ function! elixir#indent#indent_ending_symbols(ind, line) endfunction function! elixir#indent#indent_keywords(ind, line) - if a:line.last.text =~ s:INDENT_KEYWORDS + if a:line.last_non_blank.text =~ s:INDENT_KEYWORDS && a:line.last_non_blank.text !~ s:LINE_COMMENT return a:ind + &sw else return a:ind @@ -151,10 +161,10 @@ endfunction function! elixir#indent#indent_parenthesis(ind, line) if s:pending_parenthesis(a:line) > 0 - \ && a:line.last.text !~ s:DEF - \ && a:line.last.text !~ s:END_WITH_ARROW + \ && a:line.last_non_blank.text !~ s:DEF + \ && a:line.last_non_blank.text !~ s:END_WITH_ARROW let b:old_ind.symbol = a:ind - return matchend(a:line.last.text, '(') + return matchend(a:line.last_non_blank.text, '(') else return a:ind end @@ -162,21 +172,22 @@ endfunction function! elixir#indent#indent_pipeline_assignment(ind, line) if a:line.current.text =~ s:STARTS_WITH_PIPELINE - \ && a:line.last.text =~ '^[^=]\+=.\+$' - let b:old_ind.pipeline = indent(a:line.last.num) + \ && a:line.last_non_blank.text =~ s:MATCH_OPERATOR + let b:old_ind.pipeline = indent(a:line.last_non_blank.num) " if line starts with pipeline - " and last line is an attribution + " and last_non_blank line is an attribution " indents pipeline in same level as attribution - return match(a:line.last.text, '=\s*\zs[^ ]') + let assign_pos = match(a:line.last_non_blank.text, '=\s*\zs[^ ]') + return (elixir#util#is_indentable_at(a:line.last_non_blank.num, assign_pos) ? assign_pos : a:ind) else return a:ind end endfunction function! elixir#indent#indent_pipeline_continuation(ind, line) - if a:line.last.text =~ s:STARTS_WITH_PIPELINE + if a:line.last_non_blank.text =~ s:STARTS_WITH_PIPELINE \ && a:line.current.text =~ s:STARTS_WITH_PIPELINE - return indent(a:line.last.num) + return indent(a:line.last_non_blank.num) else return a:ind end @@ -184,26 +195,22 @@ endfunction function! elixir#indent#indent_square_brackets(ind, line) if s:pending_square_brackets(a:line) > 0 - if a:line.last.text =~ '[\s*$' + if a:line.last_non_blank.text =~ '[\s*$' return a:ind + &sw else " if start symbol is followed by a character, indent based on the " whitespace after the symbol, otherwise use the default shiftwidth " Avoid negative indentation index - return matchend(a:line.last.text, '[\s*') + return matchend(a:line.last_non_blank.text, '[\s*') end else return a:ind end endfunction -function! elixir#indent#deindent_case_arrow(ind, line) - if get(b:old_ind, 'arrow', 0) > 0 - \ && (a:line.current.text =~ s:ARROW - \ || a:line.current.text =~ s:BLOCK_END) - let ind = b:old_ind.arrow - let b:old_ind.arrow = 0 - return ind +function! elixir#indent#indent_ecto_queries(ind, line) + if a:line.last_non_blank.text =~ s:QUERY_FROM + return a:ind + &sw else return a:ind end diff --git a/autoload/elixir/util.vim b/autoload/elixir/util.vim index 3139d77..fbbd62a 100644 --- a/autoload/elixir/util.vim +++ b/autoload/elixir/util.vim @@ -1,7 +1,6 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elixir') == -1 let s:SKIP_SYNTAX = '\%(Comment\|String\)$' -let s:BLOCK_SKIP = "synIDattr(synID(line('.'),col('.'),1),'name') =~? '".s:SKIP_SYNTAX."'" function! elixir#util#is_indentable_at(line, col) if a:col == -1 " skip synID lookup for not found match @@ -20,31 +19,24 @@ function! elixir#util#is_indentable_at(line, col) \ !~ s:SKIP_SYNTAX endfunction -function! elixir#util#is_indentable_match(line, pattern) - return elixir#util#is_indentable_at(a:line.num, match(a:line.text, a:pattern)) -endfunction - function! elixir#util#count_indentable_symbol_diff(line, open, close) - if elixir#util#is_indentable_match(a:line, a:open) - \ && elixir#util#is_indentable_match(a:line, a:close) - return - \ s:match_count(a:line.text, a:open) - \ - s:match_count(a:line.text, a:close) - else - return 0 - end + return + \ s:match_count(a:line, a:open) + \ - s:match_count(a:line, a:close) endfunction -function! s:match_count(string, pattern) - let size = strlen(a:string) +function! s:match_count(line, pattern) + let size = strlen(a:line.text) let index = 0 let counter = 0 while index < size - let index = match(a:string, a:pattern, index) + let index = match(a:line.text, a:pattern, index) if index >= 0 let index += 1 - let counter +=1 + if elixir#util#is_indentable_at(a:line.num, index) + let counter +=1 + end else break end @@ -53,4 +45,8 @@ function! s:match_count(string, pattern) return counter endfunction +function elixir#util#is_blank(string) + return a:string =~ '^\s*$' +endfunction + endif diff --git a/autoload/xml/aria.vim b/autoload/xml/aria.vim index 4f9b1d7..8974526 100644 --- a/autoload/xml/aria.vim +++ b/autoload/xml/aria.vim @@ -18,8 +18,10 @@ let default_role = {} let widget_role = ['alert', 'alertdialog', 'button', 'checkbox', 'combobox', 'dialog', 'gridcell', 'link', 'log', 'marquee', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'progressbar', 'radio', 'radiogroup', 'scrollbar', 'slider', 'spinbutton', 'status', 'tab', 'tabpanel', 'textbox', 'timer', 'tooltip', 'treeitem', 'combobox', 'grid', 'listbox', 'menu', 'menubar', 'radiogroup', 'tablist', 'tree', 'treegrid'] let document_structure = ['article', 'columnheader', 'definition', 'directory', 'document', 'group', 'heading', 'img', 'list', 'listitem', 'math', 'note', 'presentation', 'region', 'row', 'rowheader', 'separator'] let landmark_role = ['application', 'banner', 'complementary', 'contentinfo', 'form', 'main', 'navigation', 'search'] +let dpub_role = ['dpub-abstract', 'dpub-afterword', 'dpub-appendix', 'dpub-biblioentry', 'dpub-bibliography', 'dpub-biblioref', 'dpub-chapter', 'dpub-cover', 'dpub-epilogue', 'dpub-footnote', 'dpub-footnotes', 'dpub-foreword', 'dpub-glossary', 'dpub-glossdef', 'dpub-glossref', 'dpub-glossterm', 'dpub-index', 'dpub-locator', 'dpub-noteref', 'dpub-notice', 'dpub-pagebreak', 'dpub-pagelist', 'dpub-part', 'dpub-preface', 'dpub-prologue', 'dpub-pullquote', 'dpub-qna', 'dpub-subtitle', 'dpub-tip', 'dpub-title', 'dpub-toc'] let role = extend(widget_role, document_structure) let role = extend(role, landmark_role) +let role = extend(role, dpub_role) " http://www.w3.org/TR/wai-aria/states_and_properties#state_prop_taxonomy "let global_states_and_properties = {'aria-atomic': ['true', 'false'], 'aria-busy': ['true', 'false'], 'aria-controls': [], 'aria-describedby': [], 'aria-disabled': ['true', 'false'], 'aria-dropeffect': ['copy', 'move', 'link', 'execute', 'popup', 'none'], 'aria-flowto': [], 'aria-grabbed': ['true', 'false', 'undefined'], 'aria-haspopup': ['true', 'false'], 'aria-hidden': ['true', 'false'], 'aria-invalid': ['grammar', 'spelling', 'true', 'false'], 'aria-label': [], 'aria-labelledby': [], 'aria-live': ['off', 'polite', 'assertive'], 'aria-owns': [], 'aria-relevant': ['additions', 'removals', 'text', 'all']} diff --git a/autoload/xml/html5.vim b/autoload/xml/html5.vim index cf60cd6..12c6136 100644 --- a/autoload/xml/html5.vim +++ b/autoload/xml/html5.vim @@ -320,8 +320,10 @@ if g:html5_aria_attributes_complete == 1 let widget_role = ['alert', 'alertdialog', 'button', 'checkbox', 'combobox', 'dialog', 'gridcell', 'link', 'log', 'marquee', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'progressbar', 'radio', 'radiogroup', 'scrollbar', 'slider', 'spinbutton', 'status', 'tab', 'tabpanel', 'textbox', 'timer', 'tooltip', 'treeitem', 'combobox', 'grid', 'listbox', 'menu', 'menubar', 'radiogroup', 'tablist', 'tree', 'treegrid'] let document_structure = ['article', 'columnheader', 'definition', 'directory', 'document', 'group', 'heading', 'img', 'list', 'listitem', 'math', 'note', 'presentation', 'region', 'row', 'rowheader', 'separator'] let landmark_role = ['application', 'banner', 'complementary', 'contentinfo', 'form', 'main', 'navigation', 'search'] + let dpub_role = ['dpub-abstract', 'dpub-afterword', 'dpub-appendix', 'dpub-biblioentry', 'dpub-bibliography', 'dpub-biblioref', 'dpub-chapter', 'dpub-cover', 'dpub-epilogue', 'dpub-footnote', 'dpub-footnotes', 'dpub-foreword', 'dpub-glossary', 'dpub-glossdef', 'dpub-glossref', 'dpub-glossterm', 'dpub-index', 'dpub-locator', 'dpub-noteref', 'dpub-notice', 'dpub-pagebreak', 'dpub-pagelist', 'dpub-part', 'dpub-preface', 'dpub-prologue', 'dpub-pullquote', 'dpub-qna', 'dpub-subtitle', 'dpub-tip', 'dpub-title', 'dpub-toc'] let role = extend(widget_role, document_structure) let role = extend(role, landmark_role) + let role = extend(role, dpub_role) let global_attributes = extend(global_attributes, {'role': role}) endif " }}} diff --git a/compiler/eslint.vim b/compiler/eslint.vim new file mode 100644 index 0000000..95e3953 --- /dev/null +++ b/compiler/eslint.vim @@ -0,0 +1,15 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == -1 + +if exists("current_compiler") + finish +endif +let current_compiler = "eslint" + +if exists(":CompilerSet") != 2 + command! -nargs=* CompilerSet setlocal +endif + +CompilerSet makeprg=eslint\ -f\ compact\ % +CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m + +endif diff --git a/extras/flow.vim b/extras/flow.vim index b12ab61..6f9ef7f 100644 --- a/extras/flow.vim +++ b/extras/flow.vim @@ -6,16 +6,17 @@ syntax region jsFlowArray contained matchgroup=jsFlowNoise start=/\[/ syntax region jsFlowObject contained matchgroup=jsFlowNoise start=/{/ end=/}/ contains=@jsFlowCluster syntax region jsFlowParens contained matchgroup=jsFlowNoise start=/(/ end=/)/ contains=@jsFlowCluster syntax match jsFlowNoise contained /[:;,<>]/ -syntax keyword jsFlowType contained boolean number string null void any mixed JSON array function object array bool class +syntax keyword jsFlowType contained boolean number string null void any mixed JSON array Function object array bool class syntax keyword jsFlowTypeof contained typeof skipempty skipempty nextgroup=jsFlowTypeCustom,jsFlowType syntax match jsFlowTypeCustom contained /[0-9a-zA-Z_.]*/ skipwhite skipempty nextgroup=jsFlowGroup syntax region jsFlowGroup contained matchgroup=jsFlowNoise start=// contains=@jsFlowCluster syntax region jsFlowArrowArguments contained matchgroup=jsFlowNoise start=/(/ end=/)\%(\s*=>\)\@=/ oneline skipwhite skipempty nextgroup=jsFlowArrow contains=@jsFlowCluster syntax match jsFlowArrow contained /=>/ skipwhite skipempty nextgroup=jsFlowType,jsFlowTypeCustom,jsFlowParens -syntax match jsFlowMaybe contained /?/ skipwhite skipempty nextgroup=jsFlowType,jsFlowTypeCustom,jsFlowParens,jsFlowArrowArguments +syntax match jsFlowMaybe contained /?/ skipwhite skipempty nextgroup=jsFlowType,jsFlowTypeCustom,jsFlowParens,jsFlowArrowArguments,jsFlowObject,jsFlowReturnObject syntax match jsFlowObjectKey contained /[0-9a-zA-Z_$?]*\(\s*:\)\@=/ contains=jsFunctionKey,jsFlowMaybe skipwhite skipempty nextgroup=jsObjectValue containedin=jsObject syntax match jsFlowOrOperator contained /|/ skipwhite skipempty nextgroup=@jsFlowCluster syntax keyword jsFlowImportType contained type skipwhite skipempty nextgroup=jsModuleAsterisk,jsModuleKeyword,jsModuleGroup +syntax match jsFlowWildcard contained /*/ syntax match jsFlowReturn contained /:\s*/ contains=jsFlowNoise skipwhite skipempty nextgroup=@jsFlowReturnCluster syntax region jsFlowReturnObject contained matchgroup=jsFlowNoise start=/{/ end=/}/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncBlock,jsFlowReturnOrOp @@ -25,11 +26,12 @@ syntax match jsFlowReturnKeyword contained /\k\+/ contains=jsFlowType,jsFlowT syntax match jsFlowReturnMaybe contained /?/ skipwhite skipempty nextgroup=jsFlowReturnKeyword syntax region jsFlowReturnGroup contained matchgroup=jsFlowNoise start=// contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncBlock,jsFlowReturnOrOp syntax match jsFlowReturnOrOp contained /\s*|\s*/ skipwhite skipempty nextgroup=@jsFlowReturnCluster +syntax match jsFlowWildcardReturn contained /*/ skipwhite skipempty nextgroup=jsFuncBlock syntax region jsFlowFunctionGroup contained matchgroup=jsFlowNoise start=// contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncArgs syntax region jsFlowClassGroup contained matchgroup=jsFlowNoise start=// contains=@jsFlowCluster skipwhite skipempty nextgroup=jsClassBlock -syntax region jsFlowTypeStatement start=/type/ end=/=\@=/ contains=jsFlowTypeOperator oneline skipwhite skipempty nextgroup=jsFlowTypeValue keepend +syntax region jsFlowTypeStatement start=/type\%(\s\+\k\)\@=/ end=/=\@=/ contains=jsFlowTypeOperator oneline skipwhite skipempty nextgroup=jsFlowTypeValue keepend syntax region jsFlowTypeValue contained start=/=/ end=/[;\n]/ contains=@jsExpression,jsFlowGroup,jsFlowMaybe syntax match jsFlowTypeOperator contained /=/ syntax keyword jsFlowTypeKeyword contained type @@ -44,8 +46,8 @@ syntax region jsFlowDeclareBlock contained matchgroup=jsFlowNoise start=/{/ e syntax region jsFlowInterfaceBlock contained matchgroup=jsFlowNoise start=/{/ end=/}/ contains=jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsObjectMethodType,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression,jsFlowNoise keepend -syntax cluster jsFlowReturnCluster contains=jsFlowNoise,jsFlowReturnObject,jsFlowReturnArray,jsFlowReturnKeyword,jsFlowReturnGroup,jsFlowReturnMaybe,jsFlowReturnOrOp -syntax cluster jsFlowCluster contains=jsFlowArray,jsFlowObject,jsFlowNoise,jsFlowTypeof,jsFlowType,jsFlowGroup,jsFlowArrowArguments,jsFlowMaybe,jsFlowParens,jsFlowOrOperator +syntax cluster jsFlowReturnCluster contains=jsFlowNoise,jsFlowReturnObject,jsFlowReturnArray,jsFlowReturnKeyword,jsFlowReturnGroup,jsFlowReturnMaybe,jsFlowReturnOrOp,jsFlowWildcardReturn +syntax cluster jsFlowCluster contains=jsFlowArray,jsFlowObject,jsFlowNoise,jsFlowTypeof,jsFlowType,jsFlowGroup,jsFlowArrowArguments,jsFlowMaybe,jsFlowParens,jsFlowOrOperator,jsFlowWildcard if version >= 508 || !exists("did_javascript_syn_inits") if version < 508 @@ -86,6 +88,8 @@ if version >= 508 || !exists("did_javascript_syn_inits") HiLink jsFlowObjectKey jsObjectKey HiLink jsFlowOrOperator PreProc HiLink jsFlowReturnOrOp jsFlowOrOperator + HiLink jsFlowWildcard PreProc + HiLink jsFlowWildcardReturn PreProc delcommand HiLink endif diff --git a/extras/jsdoc.vim b/extras/jsdoc.vim index 6e62225..c4ed718 100644 --- a/extras/jsdoc.vim +++ b/extras/jsdoc.vim @@ -6,9 +6,9 @@ syntax region jsComment matchgroup=jsComment start="/\*\s*" end="\*/" contai " tags containing a param syntax match jsDocTags contained "@\(alias\|api\|augments\|borrows\|class\|constructs\|default\|defaultvalue\|emits\|exception\|exports\|extends\|fires\|kind\|link\|listens\|member\|member[oO]f\|mixes\|module\|name\|namespace\|requires\|template\|throws\|var\|variation\|version\)\>" skipwhite nextgroup=jsDocParam " tags containing type and param -syntax match jsDocTags contained "@\(arg\|argument\|cfg\|param\|property\|prop\)\>" skipwhite nextgroup=jsDocType +syntax match jsDocTags contained "@\(arg\|argument\|cfg\|param\|property\|prop\|typedef\)\>" skipwhite nextgroup=jsDocType " tags containing type but no param -syntax match jsDocTags contained "@\(callback\|define\|enum\|external\|implements\|this\|type\|typedef\|return\|returns\)\>" skipwhite nextgroup=jsDocTypeNoParam +syntax match jsDocTags contained "@\(callback\|define\|enum\|external\|implements\|this\|type\|return\|returns\)\>" skipwhite nextgroup=jsDocTypeNoParam " tags containing references syntax match jsDocTags contained "@\(lends\|see\|tutorial\)\>" skipwhite nextgroup=jsDocSeeTag " other tags (no extra syntax) diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim index f6f18c6..02e8832 100644 --- a/ftdetect/polyglot.vim +++ b/ftdetect/polyglot.vim @@ -334,6 +334,8 @@ endif if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haskell') == -1 au BufRead,BufNewFile *.hsc set filetype=haskell +au BufRead,BufNewFile *.bpk set filetype=haskell +au BufRead,BufNewFile *.hsig set filetype=haskell endif @@ -613,7 +615,6 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'plantuml') == - " Vim ftdetect file " Language: PlantUML " Maintainer: Aaron C. Meadows < language name at shadowguarddev dot com> -" Last Change: 19-Jun-2012 " Version: 0.1 if did_filetype() @@ -955,10 +956,8 @@ endif " ftdetect/toml.vim if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'toml') == -1 -autocmd BufNewFile,BufRead *.toml set filetype=toml - -" Rust uses Cargo.toml and Cargo.lock (both are toml files). -autocmd BufNewFile,BufRead Cargo.lock set filetype=toml +" Rust uses several TOML config files that are not named with .toml. +autocmd BufNewFile,BufRead *.toml,Cargo.lock,.cargo/config set filetype=toml endif diff --git a/ftplugin/crystal.vim b/ftplugin/crystal.vim index 29aac72..57ceb97 100644 --- a/ftplugin/crystal.vim +++ b/ftplugin/crystal.vim @@ -12,7 +12,7 @@ if exists('loaded_matchit') && !exists('b:match_words') let b:match_ignorecase = 0 let b:match_words = - \ '\<\%(if\|unless\|case\|while\|until\|for\|do\|class\|module\|struct\|lib\|macro\|ifdef\|def\|fun\|begin\)\>=\@!' . + \ '\<\%(if\|unless\|case\|while\|until\|for\|do\|class\|module\|struct\|lib\|macro\|ifdef\|def\|fun\|begin\|enum\)\>=\@!' . \ ':' . \ '\<\%(else\|elsif\|ensure\|when\|rescue\|break\|redo\|next\|retry\)\>' . \ ':' . diff --git a/ftplugin/nginx.vim b/ftplugin/nginx.vim new file mode 100644 index 0000000..efcccbd --- /dev/null +++ b/ftplugin/nginx.vim @@ -0,0 +1,5 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 + +setlocal commentstring=#\ %s + +endif diff --git a/ftplugin/plantuml.vim b/ftplugin/plantuml.vim index 1d15b06..fe5496f 100644 --- a/ftplugin/plantuml.vim +++ b/ftplugin/plantuml.vim @@ -3,13 +3,14 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'plantuml') == - " Vim plugin file " Language: PlantUML " Maintainer: Aaron C. Meadows < language name at shadowguarddev dot com> -" Last Change: 19-Jun-2012 " Version: 0.1 if exists("b:loaded_plantuml_plugin") finish endif let b:loaded_plantuml_plugin = 1 +let s:cpo_save = &cpo +set cpo&vim if !exists("g:plantuml_executable_script") let g:plantuml_executable_script="plantuml" @@ -35,4 +36,7 @@ let b:endwise_words = 'loop,group,alt,note,legend' let b:endwise_pattern = '^\s*\zs\<\(loop\|group\|alt\|note\ze[^:]*$\|legend\)\>.*$' let b:endwise_syngroups = 'plantumlKeyword' +let &cpo = s:cpo_save +unlet s:cpo_save + endif diff --git a/indent/elixir.vim b/indent/elixir.vim index c5ce4f4..d1ea4ad 100644 --- a/indent/elixir.vim +++ b/indent/elixir.vim @@ -16,7 +16,7 @@ set cpo&vim function! elixir#indent() " initiates the `old_ind` dictionary let b:old_ind = get(b:, 'old_ind', {}) - " initialtes the `line` dictionary + " initiates the `line` dictionary let line = s:build_line(v:lnum) if s:is_beginning_of_file(line) @@ -27,31 +27,48 @@ function! elixir#indent() elseif !s:is_indentable_line(line) " Keep last line indentation if the current line does not have an " indentable syntax - return indent(line.last.num) + return indent(line.last_non_blank.num) else " Calculates the indenation level based on the rules - " All the rules are defined in `autoload/indent.vim` - let ind = indent(line.last.num) - let ind = elixir#indent#deindent_case_arrow(ind, line) - let ind = elixir#indent#indent_parenthesis(ind, line) - let ind = elixir#indent#indent_square_brackets(ind, line) - let ind = elixir#indent#indent_brackets(ind, line) - let ind = elixir#indent#deindent_opened_symbols(ind, line) - let ind = elixir#indent#indent_pipeline_assignment(ind, line) - let ind = elixir#indent#indent_pipeline_continuation(ind, line) - let ind = elixir#indent#indent_after_pipeline(ind, line) - let ind = elixir#indent#indent_assignment(ind, line) - let ind = elixir#indent#indent_ending_symbols(ind, line) - let ind = elixir#indent#indent_keywords(ind, line) - let ind = elixir#indent#deindent_keywords(ind, line) - let ind = elixir#indent#deindent_ending_symbols(ind, line) - let ind = elixir#indent#indent_case_arrow(ind, line) + " All the rules are defined in `autoload/elixir/indent.vim` + let ind = indent(line.last_non_blank.num) + call s:debug('>>> line = ' . string(line.current)) + call s:debug('>>> ind = ' . ind) + let ind = s:indent('deindent_case_arrow', ind, line) + let ind = s:indent('indent_parenthesis', ind, line) + let ind = s:indent('indent_square_brackets', ind, line) + let ind = s:indent('indent_brackets', ind, line) + let ind = s:indent('deindent_opened_symbols', ind, line) + let ind = s:indent('indent_pipeline_assignment', ind, line) + let ind = s:indent('indent_pipeline_continuation', ind, line) + let ind = s:indent('indent_after_pipeline', ind, line) + let ind = s:indent('indent_assignment', ind, line) + let ind = s:indent('indent_ending_symbols', ind, line) + let ind = s:indent('indent_keywords', ind, line) + let ind = s:indent('deindent_keywords', ind, line) + let ind = s:indent('deindent_ending_symbols', ind, line) + let ind = s:indent('indent_case_arrow', ind, line) + let ind = s:indent('indent_ecto_queries', ind, line) + call s:debug('<<< final = ' . ind) return ind end endfunction +function s:indent(rule, ind, line) + let Fn = function('elixir#indent#'.a:rule) + let ind = Fn(a:ind, a:line) + call s:debug(a:rule . ' = ' . ind) + return ind +endfunction + +function s:debug(message) + if get(g:, 'elixir_indent_debug', 0) + echom a:message + end +endfunction + function! s:is_beginning_of_file(line) - return a:line.last.num == 0 + return a:line.last_non_blank.num == 0 endfunction function! s:is_indentable_line(line) @@ -59,15 +76,21 @@ function! s:is_indentable_line(line) endfunction function! s:build_line(line) - let line = { 'current': {}, 'last': {} } - let line.current.num = a:line - let line.current.text = getline(line.current.num) - let line.last.num = prevnonblank(line.current.num - 1) - let line.last.text = getline(line.last.num) + let line = { 'current': {}, 'last': {}, 'last_non_blank': {} } + let line.current = s:new_line(a:line) + let line.last = s:new_line(line.current.num - 1) + let line.last_non_blank = s:new_line(prevnonblank(line.current.num - 1)) return line endfunction +function! s:new_line(num) + return { + \ "num": a:num, + \ "text": getline(a:num) + \ } +endfunction + let &cpo = s:cpo_save unlet s:cpo_save diff --git a/indent/haskell.vim b/indent/haskell.vim index fa2ee7c..b1e1bdc 100644 --- a/indent/haskell.vim +++ b/indent/haskell.vim @@ -476,11 +476,6 @@ function! GetHaskellIndent() if l:line =~ '^\s*]' return s:indentMatching(']') endif - " - " indent import - if l:line =~ '\C^\s*import' - return 0 - endif " do not reindent indented lines if match(l:prevline, '\S') < match(l:line, '\S') diff --git a/indent/javascript.vim b/indent/javascript.vim index ea6b551..e5fc7c9 100644 --- a/indent/javascript.vim +++ b/indent/javascript.vim @@ -4,7 +4,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == " Language: Javascript " Maintainer: Chris Paul ( https://github.com/bounceme ) " URL: https://github.com/pangloss/vim-javascript -" Last Change: December 14, 2016 +" Last Change: January 24, 2017 " Only load this indent file when no other was loaded. if exists('b:did_indent') @@ -41,37 +41,39 @@ endif " searchpair() wrapper if has('reltime') function s:GetPair(start,end,flags,skip,time,...) - return searchpair(a:start,'',a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 2000,0] + a:000),a:time) + return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 2000,0] + a:000),a:time) endfunction else function s:GetPair(start,end,flags,skip,...) - return searchpair(a:start,'',a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 1000,get(a:000,1)])) + return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 1000,get(a:000,1)])) endfunction endif " Regex of syntax group names that are or delimit string or are comments. -let s:syng_strcom = 'string\|comment\|regex\|special\|doc\|template' +let s:syng_strcom = 'string\|comment\|regex\|special\|doc\|template\%(braces\)\@!' let s:syng_str = 'string\|template' let s:syng_com = 'comment\|doc' " Expression used to check whether we should skip a match with searchpair(). let s:skip_expr = "synIDattr(synID(line('.'),col('.'),0),'name') =~? '".s:syng_strcom."'" function s:skip_func() - if !s:free || search('`\|\*\/','nW',s:looksyn) + if !s:free || search('\m`\|\${\|\*\/','nW',s:looksyn) let s:free = !eval(s:skip_expr) - let s:looksyn = s:free ? line('.') : s:looksyn + let s:looksyn = line('.') return !s:free endif let s:looksyn = line('.') - return (search('\/','nbW',s:looksyn) || search('[''"\\]','nW',s:looksyn)) && eval(s:skip_expr) + return getline('.') =~ '\%<'.col('.').'c\/.\{-}\/\|\%>'.col('.').'c[''"]\|\\$' && + \ eval(s:skip_expr) endfunction function s:alternatePair(stop) - while search('[][(){}]','bW',a:stop) + let pos = getpos('.')[1:2] + while search('\m[][(){}]','bW',a:stop) if !s:skip_func() let idx = stridx('])}',s:looking_at()) if idx + 1 - if !s:GetPair(['\[','(','{'][idx], '])}'[idx],'bW','s:skip_func()',2000,a:stop) + if s:GetPair(['\[','(','{'][idx], '])}'[idx],'bW','s:skip_func()',2000,a:stop) <= 0 break endif else @@ -79,7 +81,14 @@ function s:alternatePair(stop) endif endif endwhile - call cursor(v:lnum,1) + call call('cursor',pos) +endfunction + +function s:save_pos(f,...) + let l:pos = getpos('.')[1:2] + let ret = call(a:f,a:000) + call call('cursor',l:pos) + return ret endfunction function s:syn_at(l,c) @@ -94,57 +103,89 @@ function s:token() return s:looking_at() =~ '\k' ? expand('') : s:looking_at() endfunction -" NOTE: Moves the cursor, unless a arg is supplied. -function s:previous_token(...) - let l:pos = getpos('.')[1:2] - return [search('.\>\|[^[:alnum:][:space:]_$]','bW') ? - \ (s:looking_at() == '/' || line('.') != l:pos[0] && getline('.') =~ '\/\/') && - \ s:syn_at(line('.'),col('.')) =~? s:syng_com ? - \ search('\_[^/]\zs\/[/*]','bW') ? s:previous_token() : '' - \ : s:token() - \ : ''][a:0 && call('cursor',l:pos)] +function s:previous_token() + let l:n = line('.') + if (s:looking_at() !~ '\k' || search('\m\<','cbW')) && search('\m\S','bW') + if (getline('.')[col('.')-2:col('.')-1] == '*/' || line('.') != l:n && + \ getline('.') =~ '\%<'.col('.').'c\/\/') && s:syn_at(line('.'),col('.')) =~? s:syng_com + while search('\m\/\ze[/*]','cbW') + if !search('\m\S','bW') + break + elseif s:syn_at(line('.'),col('.')) !~? s:syng_com + return s:token() + endif + endwhile + else + return s:token() + endif + endif + return '' endfunction -" switch case label pattern -let s:case_stmt = '\<\%(case\>\s*[^ \t:].*\|default\s*\):\C' +function s:others(p) + return "((line2byte(line('.')) + col('.')) <= ".(line2byte(a:p[0]) + a:p[1]).") || ".s:skip_expr +endfunction -function s:label_end(ln,con) - return !cursor(a:ln,match(' '.a:con, '.*\zs' . s:case_stmt . '$')) && - \ (expand('') !=# 'default' || s:previous_token(1) !~ '[{,.]') +function s:tern_skip(p) + return s:GetPair('{','}','nbW',s:others(a:p),200,a:p[0]) > 0 +endfunction + +function s:tern_col(p) + return s:GetPair('?',':\@ 0 +endfunction + +function s:label_col() + let pos = getpos('.')[1:2] + let [s:looksyn,s:free] = pos + call s:alternatePair(0) + if s:save_pos('s:IsBlock') + let poss = getpos('.')[1:2] + return call('cursor',pos) || !s:tern_col(poss) + elseif s:looking_at() == ':' + return !s:tern_col([0,0]) + endif endfunction " configurable regexes that define continuation lines, not including (, {, or [. let s:opfirst = '^' . get(g:,'javascript_opfirst', \ '\%([<>=,?^%|*/&]\|\([-.:+]\)\1\@!\|!=\|in\%(stanceof\)\=\>\)') let s:continuation = get(g:,'javascript_continuation', - \ '\%([<=,.~!?/*^%|&:]\|+\@\|\<\%(typeof\|delete\|void\|in\|instanceof\)\)') . '$' + \ '\%([-+<>=,.~!?/*^%|&:]\|\<\%(typeof\|delete\|void\|in\|instanceof\)\)') . '$' function s:continues(ln,con) return !cursor(a:ln, match(' '.a:con,s:continuation)) && - \ eval((['s:syn_at(line("."),col(".")) !~? "regex"'] + + \ eval( (['s:syn_at(line("."),col(".")) !~? "regex"'] + + \ repeat(['getline(".")[col(".")-2] != tr(s:looking_at(),">","=")'],3) + \ repeat(['s:previous_token() != "."'],5) + [1])[ - \ index(split('/ typeof in instanceof void delete'),s:token())]) + \ index(split('/ > - + typeof in instanceof void delete'),s:token())]) endfunction -" get the line of code stripped of comments. if called with two args, leave -" cursor at the last non-comment char. -function s:Trim(ln,...) - let pline = substitute(getline(a:ln),'\s*$','','') - let l:max = max([match(pline,'.*[^/]\zs\/[/*]'),0]) - while l:max && s:syn_at(a:ln, strlen(pline)) =~? s:syng_com - let pline = substitute(strpart(pline, 0, l:max),'\s*$','','') - let l:max = max([match(pline,'.*[^/]\zs\/[/*]'),0]) - endwhile - return !a:0 || cursor(a:ln,strlen(pline)) ? pline : pline +" get the line of code stripped of comments and move cursor to the last +" non-comment char. +function s:Trim(ln) + call cursor(a:ln+1,1) + call s:previous_token() + return strpart(getline('.'),0,col('.')) endfunction " Find line above 'lnum' that isn't empty or in a comment function s:PrevCodeLine(lnum) let l:n = prevnonblank(a:lnum) - while getline(l:n) =~ '^\s*\/[/*]' || s:syn_at(l:n,1) =~? s:syng_com - let l:n = prevnonblank(l:n-1) + while l:n + if getline(l:n) =~ '^\s*\/[/*]' + if (stridx(getline(l:n),'`') > 0 || getline(l:n-1)[-1:] == '\') && + \ s:syn_at(l:n,1) =~? s:syng_str + return l:n + endif + let l:n = prevnonblank(l:n-1) + elseif s:syn_at(l:n,1) =~? s:syng_com + let l:n = s:save_pos('eval', + \ 'cursor('.l:n.',1) + search(''\m\/\*'',"bW")') + else + return l:n + endif endwhile - return l:n endfunction " Check if line 'lnum' has a balanced amount of parentheses. @@ -165,17 +206,18 @@ function s:Balanced(lnum) endfunction function s:OneScope(lnum) - let pline = s:Trim(a:lnum,1) + let pline = s:Trim(a:lnum) + let kw = 'else do' if pline[-1:] == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0 - let token = s:previous_token() - if index(split('await each'),token) + 1 - return s:previous_token() ==# 'for' + call s:previous_token() + let kw = 'for if let while with' + if index(split('await each'),s:token()) + 1 + call s:previous_token() + let kw = 'for' endif - return index(split('for if let while with'),token) + 1 endif - return eval((['getline(".")[col(".")-2] == "="'] + - \ repeat(['s:previous_token(1) != "."'],2) + [0])[ - \ index(split('> else do'),s:token())]) + return pline[-2:] == '=>' || index(split(kw),s:token()) + 1 && + \ s:save_pos('s:previous_token') != '.' endfunction " returns braceless levels started by 'i' and above lines * &sw. 'num' is the @@ -200,26 +242,30 @@ endfunction " https://github.com/sweet-js/sweet.js/wiki/design#give-lookbehind-to-the-reader function s:IsBlock() - let l:ln = line('.') - let char = s:previous_token() - let syn = char =~ '[{>/]' ? s:syn_at(line('.'),col('.')-(char == '{')) : '' - if syn =~? 'xml\|jsx' - return char != '{' - elseif char =~ '\k' - return index(split('return const let import export yield default delete var void typeof throw new in instanceof') - \ ,char) < (0 + (line('.') != l:ln)) || s:previous_token() == '.' - elseif char == '>' - return getline('.')[col('.')-2] == '=' || syn =~? '^jsflow' - elseif char == ':' - return s:label_end(0,strpart(getline('.'),0,col('.'))) + if s:looking_at() == '{' + let l:n = line('.') + let char = s:previous_token() + let syn = char =~ '[{>/]' ? s:syn_at(line('.'),col('.')-(char == '{')) : '' + if syn =~? 'xml\|jsx' + return char != '{' + elseif char =~ '\k' + return index(split('return const let import export yield default delete var await void typeof throw case new in instanceof') + \ ,char) < (line('.') != l:n) || s:previous_token() == '.' + elseif char == '>' + return getline('.')[col('.')-2] == '=' || syn =~? '^jsflow' + elseif char == ':' + return getline('.')[col('.')-2] != ':' && s:label_col() + endif + return syn =~? 'regex' || char !~ '[=~!<*,/?^%|&([]' && + \ (char !~ '[-+]' || l:n != line('.') && getline('.')[col('.')-2] == char) endif - return syn =~? 'regex' || char !~ '[-=~!<*+,/?^%|&([]' endfunction function GetJavascriptIndent() let b:js_cache = get(b:,'js_cache',[0,0,0]) " Get the current line. - let l:line = getline(v:lnum) + call cursor(v:lnum,1) + let l:line = getline('.') let syns = s:syn_at(v:lnum, 1) " start with strings,comments,etc. @@ -249,8 +295,7 @@ function GetJavascriptIndent() endif " the containing paren, bracket, or curly. Many hacks for performance - call cursor(v:lnum,1) - let idx = strlen(l:line) ? stridx('])}',l:line[0]) : -1 + let idx = index([']',')','}'],l:line[0]) if b:js_cache[0] >= l:lnum && b:js_cache[0] < v:lnum && \ (b:js_cache[0] > l:lnum || s:Balanced(l:lnum)) call call('cursor',b:js_cache[1:]) @@ -266,50 +311,48 @@ function GetJavascriptIndent() endif endif - if idx + 1 - if idx == 2 && search('\S','bW',line('.')) && s:looking_at() == ')' - call s:GetPair('(',')','bW',s:skip_expr,200) - endif - return indent('.') - endif - let b:js_cache = [v:lnum] + (line('.') == v:lnum ? [0,0] : getpos('.')[1:2]) let num = b:js_cache[1] let [s:W, isOp, bL, switch_offset] = [s:sw(),0,0,0] - if !num || s:looking_at() == '{' && s:IsBlock() - let pline = s:Trim(l:lnum) + if !num || s:IsBlock() + let ilnum = line('.') + let pline = s:save_pos('s:Trim',l:lnum) if num && s:looking_at() == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0 - let num = line('.') - if s:previous_token() ==# 'switch' - if &cino !~ ':' || !has('float') + let num = ilnum == num ? line('.') : num + if idx < 0 && s:previous_token() ==# 'switch' && s:previous_token() != '.' + if &cino !~ ':' let switch_offset = s:W else - let cinc = matchlist(&cino,'.*:\(-\)\=\([0-9.]*\)\(s\)\=\C') - let switch_offset = float2nr(str2float(cinc[1].(strlen(cinc[2]) ? cinc[2] : strlen(cinc[3]))) - \ * (strlen(cinc[3]) ? s:W : 1)) + let cinc = matchlist(&cino,'.*:\zs\(-\)\=\(\d*\)\(\.\d\+\)\=\(s\)\=\C') + let switch_offset = max([cinc[0] is '' ? 0 : (cinc[1].1) * + \ ((strlen(cinc[2].cinc[3]) ? str2nr(cinc[2].str2nr(cinc[3][1])) : 10) * + \ (cinc[4] is '' ? 1 : s:W)) / 10, -indent(num)]) endif - if pline[-1:] != '.' && l:line =~# '^' . s:case_stmt + if pline[-1:] != '.' && l:line =~# '^\%(default\|case\)\>' return indent(num) + switch_offset - elseif s:label_end(l:lnum,pline) - return indent(l:lnum) + s:W endif endif endif - if pline[-1:] !~ '[{;]' - let isOp = l:line =~# s:opfirst || s:continues(l:lnum,pline) - let bL = s:iscontOne(l:lnum,num,isOp) + if idx < 0 && pline !~ '[{;]$' + if pline =~# ':\@\%(\%("[^"]*" \\)\@![^:]\)*$\|' . \ '^\s*title\s*$\|' . \ '^\s*skinparam\>.*{\s*$\|' . - \ '^\s*\%(state\|class\|partition\|rectangle\)\>.*{' + \ '^\s*\%(state\|class\|partition\|rectangle\|enum\|interface\|namespace\)\>.*{' let s:decIndent = '^\s*\%(end\|else\|}\)' diff --git a/syntax/elixir.vim b/syntax/elixir.vim index cd24cba..8fe0bf1 100644 --- a/syntax/elixir.vim +++ b/syntax/elixir.vim @@ -10,7 +10,7 @@ set cpo&vim " syncing starts 2000 lines before top line so docstrings don't screw things up syn sync minlines=2000 -syn cluster elixirNotTop contains=@elixirRegexSpecial,@elixirStringContained,@elixirDeclaration,elixirTodo,elixirArguments,elixirBlockDefinition,elixirUnusedVariable +syn cluster elixirNotTop contains=@elixirRegexSpecial,@elixirStringContained,@elixirDeclaration,elixirTodo,elixirArguments,elixirBlockDefinition,elixirUnusedVariable,elixirStructDelimiter syn cluster elixirRegexSpecial contains=elixirRegexEscape,elixirRegexCharClass,elixirRegexQuantifier,elixirRegexEscapePunctuation syn cluster elixirStringContained contains=elixirInterpolation,elixirRegexEscape,elixirRegexCharClass syn cluster elixirDeclaration contains=elixirFunctionDeclaration,elixirModuleDeclaration,elixirProtocolDeclaration,elixirImplDeclaration,elixirRecordDeclaration,elixirMacroDeclaration,elixirDelegateDeclaration,elixirOverridableDeclaration,elixirExceptionDeclaration,elixirCallbackDeclaration,elixirStructDeclaration @@ -56,7 +56,7 @@ syn match elixirAtom "\%([a-zA-Z_]\w*[?!]\?\):\(:\)\@!" syn match elixirBlockInline "\<\(do\|else\)\>:\@=" -syn match elixirAlias '\<[!]\?[A-Z]\w*\(\.[A-Z]\w*\)*\>' +syn match elixirAlias '\([a-z]\)\@:\@!" end="\" contains=ALLBUT,elixirKernelFunction,@elixirNotTop fold syn region elixirAnonymousFunction matchgroup=elixirBlockDefinition start="\" end="\" contains=ALLBUT,elixirKernelFunction,@elixirNotTop fold -syn region elixirArguments start="(" end=")" contained contains=elixirOperator,elixirAtom,elixirPseudoVariable,elixirAlias,elixirBoolean,elixirVariable,elixirUnusedVariable,elixirNumber,elixirDocString,elixirAtomInterpolated,elixirRegex,elixirString,elixirStringDelimiter,elixirRegexDelimiter,elixirInterpolationDelimiter,elixirSigilDelimiter +syn region elixirArguments start="(" end=")" contained contains=elixirOperator,elixirAtom,elixirPseudoVariable,elixirAlias,elixirBoolean,elixirVariable,elixirUnusedVariable,elixirNumber,elixirDocString,elixirAtomInterpolated,elixirRegex,elixirString,elixirStringDelimiter,elixirRegexDelimiter,elixirInterpolationDelimiter,elixirSigilDelimiter,elixirAnonymousFunction syn match elixirDelimEscape "\\[(<{\[)>}\]/\"'|]" transparent display contained contains=NONE diff --git a/syntax/go.vim b/syntax/go.vim index 0beaf54..3ea8731 100644 --- a/syntax/go.vim +++ b/syntax/go.vim @@ -12,9 +12,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'go') == -1 " let OPTION_NAME = 0 " in your ~/.vimrc file to disable particular options. You can also write: " let OPTION_NAME = 1 -" to enable particular options. -" At present, all options default to on, except highlight of: -" functions, methods, structs, operators, build constraints and interfaces. +" to enable particular options. At present, all options default to off: " " - go_highlight_array_whitespace_error " Highlights white space after "[]". @@ -38,23 +36,23 @@ if exists("b:current_syntax") endif if !exists("g:go_highlight_array_whitespace_error") - let g:go_highlight_array_whitespace_error = 1 + let g:go_highlight_array_whitespace_error = 0 endif if !exists("g:go_highlight_chan_whitespace_error") - let g:go_highlight_chan_whitespace_error = 1 + let g:go_highlight_chan_whitespace_error = 0 endif if !exists("g:go_highlight_extra_types") - let g:go_highlight_extra_types = 1 + let g:go_highlight_extra_types = 0 endif if !exists("g:go_highlight_space_tab_error") - let g:go_highlight_space_tab_error = 1 + let g:go_highlight_space_tab_error = 0 endif if !exists("g:go_highlight_trailing_whitespace_error") - let g:go_highlight_trailing_whitespace_error = 1 + let g:go_highlight_trailing_whitespace_error = 0 endif if !exists("g:go_highlight_operators") diff --git a/syntax/haskell.vim b/syntax/haskell.vim index 1f0f905..bc86fbe 100644 --- a/syntax/haskell.vim +++ b/syntax/haskell.vim @@ -17,6 +17,11 @@ if !exists('g:haskell_disable_TH') let g:haskell_disable_TH = 0 endif +if exists('g:haskell_backpack') && g:haskell_backpack == 1 + syn keyword haskellBackpackStructure unit signature + syn keyword haskellBackpackDependency dependency +endif + syn spell notoplevel syn match haskellRecordField contained containedin=haskellBlock \ "[_a-z][a-zA-Z0-9_']*\(,\s*[_a-z][a-zA-Z0-9_']*\)*\(\s*::\|\n\s\+::\)" @@ -48,7 +53,7 @@ syn region haskellForeignImport start="\" end="::" keepend \ haskellOperators, \ haskellForeignKeywords, \ haskellIdentifier -syn match haskellImport "^\\s\+\(\\s\+\)\?\(\\s\+\)\?.\+\(\s\+\\s\+.\+\)\?\(\s\+\\)\?" +syn match haskellImport "^\s*\\s\+\(\\s\+\)\?\(\\s\+\)\?.\+\(\s\+\\s\+.\+\)\?\(\s\+\\)\?" \ contains= \ haskellParens, \ haskellOperators, @@ -196,6 +201,10 @@ else endif endif +if exists('g:haskell_backpack') && g:haskell_backpack == 1 + highlight def link haskellBackpackStructure Structure + highlight def link haskellBackpackDependency Include +endif let b:current_syntax = "haskell" endif diff --git a/syntax/html.vim b/syntax/html.vim index 0c03fa2..da9117d 100644 --- a/syntax/html.vim +++ b/syntax/html.vim @@ -68,7 +68,7 @@ syn keyword htmlTagName contained span subset sum tan tanh tendsto times transpo syn keyword htmlTagName contained uplimit variance vector vectorproduct xor " Custom Element -syn match htmlTagName contained "\<[a-z_]\([a-z0-9_.]\+\)\?\(\-[a-z0-9_.]\+\)\+\>" +syn match htmlTagName contained "\<[a-z][-.0-9_a-z]*-[-.0-9_a-z]*\>" " HTML 5 arguments " Core Attributes diff --git a/syntax/javascript.vim b/syntax/javascript.vim index ac7a4b2..5742bdc 100644 --- a/syntax/javascript.vim +++ b/syntax/javascript.vim @@ -26,15 +26,17 @@ syntax sync fromstart " syntax case ignore syntax case match -syntax match jsNoise /[:,\;\.]\{1}/ +syntax match jsNoise /[:,\;]\{1}/ +syntax match jsNoise /[\.]\{1}/ skipwhite skipempty nextgroup=jsObjectProp syntax match jsFuncCall /\k\+\%(\s*(\)\@=/ syntax match jsParensError /[)}\]]/ " Program Keywords syntax keyword jsStorageClass const var let skipwhite skipempty nextgroup=jsDestructuringBlock,jsDestructuringArray,jsVariableDef -syntax match jsVariableDef contained /\k\+/ nextgroup=jsFlowDefinition -syntax keyword jsOperator delete instanceof typeof void new in of -syntax match jsOperator /[\!\|\&\+\-\<\>\=\%\/\*\~\^]\{1}/ +syntax match jsVariableDef contained /\k\+/ skipwhite skipempty nextgroup=jsFlowDefinition +syntax keyword jsOperator delete instanceof typeof void new in of skipwhite skipempty nextgroup=@jsExpression +syntax match jsOperator /[\!\|\&\+\-\<\>\=\%\/\*\~\^]\{1}/ skipwhite skipempty nextgroup=@jsExpression +syntax match jsOperator /::/ skipwhite skipempty nextgroup=@jsExpression syntax keyword jsBooleanTrue true syntax keyword jsBooleanFalse false @@ -52,22 +54,22 @@ syntax match jsModuleComma contained /,/ skipwhite skipempty nextgroup= " Strings, Templates, Numbers syntax region jsString start=+"+ skip=+\\\("\|$\)+ end=+"\|$+ contains=jsSpecial,@Spell extend syntax region jsString start=+'+ skip=+\\\('\|$\)+ end=+'\|$+ contains=jsSpecial,@Spell extend -syntax region jsTemplateString start=+`+ skip=+\\\(`\|$\)+ end=+`+ contains=jsTemplateVar,jsSpecial extend +syntax region jsTemplateString start=+`+ skip=+\\\(`\|$\)+ end=+`+ contains=jsTemplateExpression,jsSpecial extend syntax match jsTaggedTemplate /\k\+\%(`\)\@=/ nextgroup=jsTemplateString syntax match jsNumber /\<\d\+\%([eE][+-]\=\d\+\)\=\>\|\<0[bB][01]\+\>\|\<0[oO]\o\+\>\|\<0[xX]\x\+\>/ syntax keyword jsNumber Infinity syntax match jsFloat /\<\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\>/ " Regular Expressions -syntax match jsSpecial contained "\v\\%(0|\\x\x\{2\}\|\\u\x\{4\}\|\c[A-Z]|.)" -syntax region jsTemplateVar contained matchgroup=jsTemplateBraces start=+${+ end=+}+ contains=@jsExpression -syntax region jsRegexpCharClass contained start=+\[+ skip=+\\.+ end=+\]+ -syntax match jsRegexpBoundary contained "\v%(\<@![\^$]|\\[bB])" -syntax match jsRegexpBackRef contained "\v\\[1-9][0-9]*" -syntax match jsRegexpQuantifier contained "\v\\@]" -syntax region jsRegexpGroup contained start="\\\@]" +syntax region jsRegexpGroup contained start="\\\@ 703 || v:version == 603 && has("patch1088") syntax region jsRegexpString start=+\%(\%(\%(return\|case\)\s\+\)\@50<=\|\%(\%([)\]"']\|\d\|\w\)\s*\)\@50[\r\n\t ]*(\@=/ skipwhite skipempty nextgroup=jsFuncArgs syntax match jsFunctionKey contained /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s*:\s*function\s*\)\@=/ -syntax match jsObjectMethodType contained /\%(get\|set\|static\|async\)\%( \k\+\)\@=/ skipwhite skipempty nextgroup=jsObjectFuncName +syntax match jsObjectMethodType contained /\%(get\|set\)\%( \k\+\)\@=/ skipwhite skipempty nextgroup=jsObjectFuncName syntax region jsObjectStringKey contained start=+"+ skip=+\\\("\|$\)+ end=+"\|$+ contains=jsSpecial,@Spell extend skipwhite skipempty nextgroup=jsFuncArgs,jsObjectValue syntax region jsObjectStringKey contained start=+'+ skip=+\\\('\|$\)+ end=+'\|$+ contains=jsSpecial,@Spell extend skipwhite skipempty nextgroup=jsFuncArgs,jsObjectValue exe 'syntax keyword jsNull null '.(exists('g:javascript_conceal_null') ? 'conceal cchar='.g:javascript_conceal_null : '') -exe 'syntax keyword jsReturn return contained '.(exists('g:javascript_conceal_return') ? 'conceal cchar='.g:javascript_conceal_return : '') +exe 'syntax keyword jsReturn return contained '.(exists('g:javascript_conceal_return') ? 'conceal cchar='.g:javascript_conceal_return : '').' skipwhite skipempty nextgroup=@jsExpression' exe 'syntax keyword jsUndefined undefined '.(exists('g:javascript_conceal_undefined') ? 'conceal cchar='.g:javascript_conceal_undefined : '') exe 'syntax keyword jsNan NaN '.(exists('g:javascript_conceal_NaN') ? 'conceal cchar='.g:javascript_conceal_NaN : '') exe 'syntax keyword jsPrototype prototype '.(exists('g:javascript_conceal_prototype') ? 'conceal cchar='.g:javascript_conceal_prototype : '') @@ -98,24 +100,27 @@ exe 'syntax keyword jsThis this '.(exists('g:javascript_conceal exe 'syntax keyword jsSuper super contained '.(exists('g:javascript_conceal_super') ? 'conceal cchar='.g:javascript_conceal_super : '') " Statement Keywords -syntax keyword jsStatement contained break continue with yield debugger -syntax keyword jsConditional if skipwhite skipempty nextgroup=jsParenIfElse -syntax keyword jsConditional else skipwhite skipempty nextgroup=jsCommentMisc,jsIfElseBlock -syntax keyword jsConditional switch skipwhite skipempty nextgroup=jsParenSwitch -syntax keyword jsRepeat while for skipwhite skipempty nextgroup=jsParenRepeat,jsForAwait -syntax keyword jsDo do skipwhite skipempty nextgroup=jsRepeatBlock -syntax keyword jsLabel contained case default -syntax keyword jsTry try skipwhite skipempty nextgroup=jsTryCatchBlock -syntax keyword jsFinally contained finally skipwhite skipempty nextgroup=jsFinallyBlock -syntax keyword jsCatch contained catch skipwhite skipempty nextgroup=jsParenCatch +syntax match jsBlockLabel /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>\s*::\@!/ contains=jsNoise skipwhite skipempty nextgroup=jsBlock +syntax match jsBlockLabelKey contained /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>\%(\s*\%(;\|\n\)\)\@=/ +syntax keyword jsStatement contained with yield debugger +syntax keyword jsStatement contained break continue skipwhite skipempty nextgroup=jsBlockLabelKey +syntax keyword jsConditional if skipwhite skipempty nextgroup=jsParenIfElse +syntax keyword jsConditional else skipwhite skipempty nextgroup=jsCommentMisc,jsIfElseBlock +syntax keyword jsConditional switch skipwhite skipempty nextgroup=jsParenSwitch +syntax keyword jsRepeat while for skipwhite skipempty nextgroup=jsParenRepeat,jsForAwait +syntax keyword jsDo do skipwhite skipempty nextgroup=jsRepeatBlock +syntax region jsSwitchCase contained matchgroup=jsLabel start=/\<\%(case\|default\)\>/ end=/:\@=/ contains=@jsExpression,jsLabel skipwhite skipempty nextgroup=jsSwitchColon keepend +syntax keyword jsTry try skipwhite skipempty nextgroup=jsTryCatchBlock +syntax keyword jsFinally contained finally skipwhite skipempty nextgroup=jsFinallyBlock +syntax keyword jsCatch contained catch skipwhite skipempty nextgroup=jsParenCatch syntax keyword jsException throw syntax keyword jsAsyncKeyword async await -syntax match jsSwitchColon contained /:/ skipwhite skipempty nextgroup=jsSwitchBlock +syntax match jsSwitchColon contained /::\@!/ skipwhite skipempty nextgroup=jsSwitchBlock " Keywords syntax keyword jsGlobalObjects Array Boolean Date Function Iterator Number Object Symbol Map WeakMap Set RegExp String Proxy Promise Buffer ParallelArray ArrayBuffer DataView Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray JSON Math console document window Intl Collator DateTimeFormat NumberFormat fetch -syntax keyword jsGlobalNodeObjects module exports global process -syntax match jsGlobalNodeObjects /require/ containedin=jsFuncCall +syntax keyword jsGlobalNodeObjects module exports global process __dirname __filename +syntax match jsGlobalNodeObjects /\/ containedin=jsFuncCall syntax keyword jsExceptions Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError syntax keyword jsBuiltins decodeURI decodeURIComponent encodeURI encodeURIComponent eval isFinite isNaN parseFloat parseInt uneval " DISCUSS: How imporant is this, really? Perhaps it should be linked to an error because I assume the keywords are reserved? @@ -144,22 +149,21 @@ syntax region jsParenRepeat contained matchgroup=jsParensRepeat s syntax region jsParenSwitch contained matchgroup=jsParensSwitch start=/(/ end=/)/ contains=@jsAll skipwhite skipempty nextgroup=jsSwitchBlock extend fold syntax region jsParenCatch contained matchgroup=jsParensCatch start=/(/ end=/)/ skipwhite skipempty nextgroup=jsTryCatchBlock extend fold syntax region jsFuncArgs contained matchgroup=jsFuncParens start=/(/ end=/)/ contains=jsFuncArgCommas,jsComment,jsFuncArgExpression,jsDestructuringBlock,jsDestructuringArray,jsRestExpression,jsFlowArgumentDef skipwhite skipempty nextgroup=jsCommentFunction,jsFuncBlock,jsFlowReturn extend fold -syntax region jsClassBlock contained matchgroup=jsClassBraces start=/{/ end=/}/ contains=jsClassFuncName,jsClassMethodType,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator,jsClassProperty,jsClassPropertyComputed,jsClassStringKey,jsNoise extend fold -syntax region jsFuncBlock contained matchgroup=jsFuncBraces start=/{/ end=/}/ contains=@jsAll extend fold -syntax region jsIfElseBlock contained matchgroup=jsIfElseBraces start=/{/ end=/}/ contains=@jsAll extend fold -syntax region jsBlock contained matchgroup=jsBraces start=/{/ end=/}/ contains=@jsAll extend fold -syntax region jsTryCatchBlock contained matchgroup=jsTryCatchBraces start=/{/ end=/}/ contains=@jsAll skipwhite skipempty nextgroup=jsCatch,jsFinally extend fold -syntax region jsFinallyBlock contained matchgroup=jsFinallyBraces start=/{/ end=/}/ contains=@jsAll extend fold -syntax region jsSwitchBlock contained matchgroup=jsSwitchBraces start=/{/ end=/}/ contains=@jsAll,jsLabel,jsSwitchColon extend fold -syntax region jsRepeatBlock contained matchgroup=jsRepeatBraces start=/{/ end=/}/ contains=@jsAll extend fold -syntax region jsDestructuringBlock contained matchgroup=jsDestructuringBraces start=/{/ end=/}/ contains=jsDestructuringProperty,jsDestructuringAssignment,jsDestructuringNoise,jsDestructuringPropertyComputed,jsSpreadExpression extend fold -syntax region jsDestructuringArray contained matchgroup=jsDestructuringBraces start=/\[/ end=/\]/ contains=jsDestructuringPropertyValue,jsNoise,jsDestructuringProperty,jsSpreadExpression extend fold -syntax region jsObject matchgroup=jsObjectBraces start=/{/ end=/}/ contains=jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsObjectMethodType,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression,jsDecorator extend fold +syntax region jsClassBlock contained matchgroup=jsClassBraces start=/{/ end=/}/ contains=jsClassFuncName,jsClassMethodType,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator,jsClassProperty,jsClassPropertyComputed,jsClassStringKey,jsAsyncKeyword,jsNoise extend fold +syntax region jsFuncBlock contained matchgroup=jsFuncBraces start=/{/ end=/}/ contains=@jsAll,jsBlock extend fold +syntax region jsIfElseBlock contained matchgroup=jsIfElseBraces start=/{/ end=/}/ contains=@jsAll,jsBlock extend fold +syntax region jsTryCatchBlock contained matchgroup=jsTryCatchBraces start=/{/ end=/}/ contains=@jsAll,jsBlock skipwhite skipempty nextgroup=jsCatch,jsFinally extend fold +syntax region jsFinallyBlock contained matchgroup=jsFinallyBraces start=/{/ end=/}/ contains=@jsAll,jsBlock extend fold +syntax region jsSwitchBlock contained matchgroup=jsSwitchBraces start=/{/ end=/}/ contains=@jsAll,jsBlock,jsSwitchCase extend fold +syntax region jsRepeatBlock contained matchgroup=jsRepeatBraces start=/{/ end=/}/ contains=@jsAll,jsBlock extend fold +syntax region jsDestructuringBlock contained matchgroup=jsDestructuringBraces start=/{/ end=/}/ contains=jsDestructuringProperty,jsDestructuringAssignment,jsDestructuringNoise,jsDestructuringPropertyComputed,jsSpreadExpression,jsComment extend fold +syntax region jsDestructuringArray contained matchgroup=jsDestructuringBraces start=/\[/ end=/\]/ contains=jsDestructuringPropertyValue,jsNoise,jsDestructuringProperty,jsSpreadExpression,jsComment extend fold +syntax region jsObject contained matchgroup=jsObjectBraces start=/{/ end=/}/ contains=jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsObjectMethodType,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression,jsDecorator,jsAsyncKeyword extend fold +syntax region jsBlock matchgroup=jsBraces start=/{/ end=/}/ contains=@jsAll,jsSpreadExpression extend fold syntax region jsModuleGroup contained matchgroup=jsModuleBraces start=/{/ end=/}/ contains=jsModuleKeyword,jsModuleComma,jsModuleAs,jsComment skipwhite skipempty nextgroup=jsFrom -syntax region jsTernaryIf matchgroup=jsTernaryIfOperator start=/?/ end=/\%(:\|[\}]\@=\)/ contains=@jsExpression syntax region jsSpreadExpression contained matchgroup=jsSpreadOperator start=/\.\.\./ end=/[,}\]]\@=/ contains=@jsExpression syntax region jsRestExpression contained matchgroup=jsRestOperator start=/\.\.\./ end=/[,)]\@=/ -syntax region jsTernaryIf matchgroup=jsTernaryIfOperator start=/?/ end=/\%(:\|[\}]\@=\)/ contains=@jsExpression +syntax region jsTernaryIf matchgroup=jsTernaryIfOperator start=/?/ end=/\%(:\|[\}]\@=\)/ contains=@jsExpression extend skipwhite skipempty nextgroup=@jsExpression syntax match jsGenerator contained /\*/ skipwhite skipempty nextgroup=jsFuncName,jsFuncArgs syntax match jsFuncName contained /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>/ skipwhite skipempty nextgroup=jsFuncArgs,jsFlowFunctionGroup @@ -175,14 +179,14 @@ syntax match jsArrowFuncArgs /([^()]*)\s*\(=>\)\@=/ contains=jsFuncArgs skipe exe 'syntax match jsFunction /\/ skipwhite skipempty nextgroup=jsGenerator,jsFuncName,jsFuncArgs skipwhite '.(exists('g:javascript_conceal_function') ? 'conceal cchar='.g:javascript_conceal_function : '') exe 'syntax match jsArrowFunction /=>/ skipwhite skipempty nextgroup=jsFuncBlock,jsCommentFunction '.(exists('g:javascript_conceal_arrow_function') ? 'conceal cchar='.g:javascript_conceal_arrow_function : '') -exe 'syntax match jsArrowFunction /()\s*\(=>\)\@=/ skipwhite skipempty nextgroup=jsArrowFunction '.(exists('g:javascript_conceal_noarg_arrow_function') ? 'conceal cchar='.g:javascript_conceal_noarg_arrow_function : '') +exe 'syntax match jsArrowFunction /()\s*\(=>\)\@=/ skipwhite skipempty nextgroup=jsArrowFunction '.(exists('g:javascript_conceal_noarg_arrow_function') ? 'conceal cchar='.g:javascript_conceal_noarg_arrow_function : '').(' contains=jsArrowFuncArgs') exe 'syntax match jsArrowFunction /_\s*\(=>\)\@=/ skipwhite skipempty nextgroup=jsArrowFunction '.(exists('g:javascript_conceal_underscore_arrow_function') ? 'conceal cchar='.g:javascript_conceal_underscore_arrow_function : '') " Classes syntax keyword jsClassKeyword contained class syntax keyword jsExtendsKeyword contained extends skipwhite skipempty nextgroup=@jsExpression syntax match jsClassNoise contained /\./ -syntax match jsClassMethodType contained /\%(get\|set\|static\|async\)\%( \k\+\)\@=/ skipwhite skipempty nextgroup=jsFuncName,jsClassProperty +syntax match jsClassMethodType contained /\%(get\|set\|static\)\%( \k\+\)\@=/ skipwhite skipempty nextgroup=jsAsyncKeyword,jsFuncName,jsClassProperty syntax region jsClassDefinition start=/\/ end=/\(\\s\+\)\@\(\s*=\)\@=/ skipwhite skipempty nextgroup=jsClassValue syntax region jsClassValue contained start=/=/ end=/\%(;\|}\|\n\)\@=/ contains=@jsExpression @@ -219,6 +223,7 @@ syntax region jsCommentMisc contained start=/\/\*/ end=/\*\// contains=j " Decorators syntax match jsDecorator /^\s*@/ nextgroup=jsDecoratorFunction syntax match jsDecoratorFunction contained /[a-zA-Z_][a-zA-Z0-9_.]*/ nextgroup=jsParenDecorator +syntax match jsObjectProp contained /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>/ if exists("javascript_plugin_jsdoc") runtime extras/jsdoc.vim @@ -232,8 +237,8 @@ if exists("javascript_plugin_flow") runtime extras/flow.vim endif -syntax cluster jsExpression contains=jsBracket,jsParen,jsObject,jsBlock,jsTernaryIf,jsTaggedTemplate,jsTemplateString,jsString,jsRegexpString,jsNumber,jsFloat,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsFuncCall,jsUndefined,jsNan,jsPrototype,jsBuiltins,jsNoise,jsClassDefinition,jsArrowFunction,jsArrowFuncArgs,jsParensError,jsComment,jsArguments,jsThis,jsSuper,jsDo -syntax cluster jsAll contains=@jsExpression,jsStorageClass,jsConditional,jsRepeat,jsReturn,jsStatement,jsException,jsTry,jsAsyncKeyword +syntax cluster jsExpression contains=jsBracket,jsParen,jsObject,jsTernaryIf,jsTaggedTemplate,jsTemplateString,jsString,jsRegexpString,jsNumber,jsFloat,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsFuncCall,jsUndefined,jsNan,jsPrototype,jsBuiltins,jsNoise,jsClassDefinition,jsArrowFunction,jsArrowFuncArgs,jsParensError,jsComment,jsArguments,jsThis,jsSuper,jsDo +syntax cluster jsAll contains=@jsExpression,jsStorageClass,jsConditional,jsRepeat,jsReturn,jsStatement,jsException,jsTry,jsAsyncKeyword,jsNoise,,jsBlockLabel " Define the default highlighting. " For version 5.7 and earlier: only when not done already @@ -315,17 +320,16 @@ if version >= 508 || !exists("did_javascript_syn_inits") HiLink jsFuncParens Noise HiLink jsClassBraces Noise HiLink jsClassNoise Noise - HiLink jsIfElseBraces jsBraces - HiLink jsTryCatchBraces jsBraces - HiLink jsModuleBraces jsBraces + HiLink jsIfElseBraces Noise + HiLink jsTryCatchBraces Noise + HiLink jsModuleBraces Noise HiLink jsObjectBraces Noise HiLink jsObjectSeparator Noise - HiLink jsFinallyBraces jsBraces - HiLink jsRepeatBraces jsBraces - HiLink jsSwitchBraces jsBraces + HiLink jsFinallyBraces Noise + HiLink jsRepeatBraces Noise + HiLink jsSwitchBraces Noise HiLink jsSpecial Special - HiLink jsTemplateVar Special - HiLink jsTemplateBraces jsBraces + HiLink jsTemplateBraces Noise HiLink jsGlobalObjects Constant HiLink jsGlobalNodeObjects Constant HiLink jsExceptions Constant @@ -350,6 +354,8 @@ if version >= 508 || !exists("did_javascript_syn_inits") HiLink jsClassMethodType Type HiLink jsObjectMethodType Type HiLink jsClassDefinition jsFuncName + HiLink jsBlockLabel Identifier + HiLink jsBlockLabelKey jsBlockLabel HiLink jsDestructuringBraces Noise HiLink jsDestructuringProperty jsFuncArgs diff --git a/syntax/kotlin.vim b/syntax/kotlin.vim index 946a8f2..f17c88b 100644 --- a/syntax/kotlin.vim +++ b/syntax/kotlin.vim @@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'kotlin') == -1 " Vim syntax file " Language: Kotlin " Maintainer: Alexander Udalov -" Latest Revision: 4 July 2016 +" Latest Revision: 29 December 2016 if exists("b:current_syntax") finish @@ -21,7 +21,7 @@ syn keyword ktException try catch finally throw syn keyword ktInclude import package syn keyword ktType Any Boolean Byte Char Double Float Int Long Nothing Short Unit -syn keyword ktModifier annotation companion enum inner internal private protected public abstract final open override sealed vararg dynamic +syn keyword ktModifier annotation companion enum inner internal private protected public abstract final open override sealed vararg dynamic header impl syn keyword ktStructure class object interface typealias fun val var constructor init syn keyword ktReservedKeyword typeof @@ -29,7 +29,7 @@ syn keyword ktReservedKeyword typeof syn keyword ktBoolean true false syn keyword ktConstant null -syn keyword ktModifier data tailrec lateinit reified external inline noinline crossinline const operator infix coroutine suspend +syn keyword ktModifier data tailrec lateinit reified external inline noinline crossinline const operator infix suspend syn keyword ktTodo TODO FIXME XXX contained syn match ktShebang "\v^#!.*$" diff --git a/syntax/layout/footer.vim b/syntax/layout/footer.vim deleted file mode 100644 index 7f887b6..0000000 --- a/syntax/layout/footer.vim +++ /dev/null @@ -1,25 +0,0 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 - -" highlight - -hi link ngxComment Comment -hi link ngxVariable Identifier -hi link ngxVariableString PreProc -hi link ngxString String -hi link ngxLocationPath String -hi link ngxLocationNamedLoc Identifier - -hi link ngxBoolean Boolean -hi link ngxRewriteFlag Boolean -hi link ngxDirectiveBlock Statement -hi link ngxDirectiveImportant Type -hi link ngxDirectiveControl Keyword -hi link ngxDirectiveError Constant -hi link ngxDirectiveDeprecated Error -hi link ngxDirective Identifier -hi link ngxDirectiveThirdParty Special - -let b:current_syntax = "nginx" - - -endif diff --git a/syntax/layout/header.vim b/syntax/layout/nginx.vim similarity index 82% rename from syntax/layout/header.vim rename to syntax/layout/nginx.vim index 9a75252..daff064 100644 --- a/syntax/layout/header.vim +++ b/syntax/layout/nginx.vim @@ -7,9 +7,17 @@ if exists("b:current_syntax") finish end -setlocal iskeyword+=. -setlocal iskeyword+=/ -setlocal iskeyword+=: +if has("patch-7.4-1142") + if has("win32") + syn iskeyword @,48-57,_,128-167,224-235,.,/,: + else + syn iskeyword @,48-57,_,192-255,.,/,: + endif +else + setlocal iskeyword+=. + setlocal iskeyword+=/ + setlocal iskeyword+=: +endif syn match ngxVariable '\$\(\w\+\|{\w\+}\)' syn match ngxVariableString '\$\(\w\+\|{\w\+}\)' contained @@ -27,6 +35,7 @@ syn keyword ngxDirectiveBlock http syn keyword ngxDirectiveBlock mail syn keyword ngxDirectiveBlock events syn keyword ngxDirectiveBlock server +syn keyword ngxDirectiveBlock stream syn keyword ngxDirectiveBlock types syn match ngxLocationOperator /\(=\|\~\*\|\^\~\|\~\)/ contained nextgroup=ngxLocationPath,ngxString skipwhite syn match ngxLocationNamedLoc /@\w\+/ @@ -57,7 +66,10 @@ syn keyword ngxDirectiveControl return syn keyword ngxDirectiveControl rewrite nextgroup=ngxRewriteURI skipwhite syn keyword ngxDirectiveControl set -syn keyword ngxRewriteFlag last break redirect permanent +syn keyword ngxRewriteFlag last +syn keyword ngxRewriteFlag break +syn keyword ngxRewriteFlag redirect +syn keyword ngxRewriteFlag permanent syn keyword ngxDirectiveError error_page syn keyword ngxDirectiveError post_action @@ -70,7 +82,16 @@ syn keyword ngxDirectiveDeprecated open_file_cache_retest syn keyword ngxDirectiveDeprecated optimize_server_names syn keyword ngxDirectiveDeprecated satisfy_any syn keyword ngxDirectiveDeprecated so_keepalive +syn keyword ngxDirectiveDeprecated spdy_chunk_size +syn keyword ngxDirectiveDeprecated spdy_headers_comp +syn keyword ngxDirectiveDeprecated spdy_keepalive_timeout +syn keyword ngxDirectiveDeprecated spdy_max_concurrent_streams +syn keyword ngxDirectiveDeprecated spdy_pool_size +syn keyword ngxDirectiveDeprecated spdy_recv_buffer_size +syn keyword ngxDirectiveDeprecated spdy_recv_timeout +syn keyword ngxDirectiveDeprecated spdy_streams_index_size +syn keyword ngxDirective absolute_redirect syn keyword ngxDirective accept_mutex syn keyword ngxDirective accept_mutex_delay syn keyword ngxDirective acceptex_read @@ -80,6 +101,7 @@ syn keyword ngxDirective add_before_body syn keyword ngxDirective add_header syn keyword ngxDirective addition_types syn keyword ngxDirective aio +syn keyword ngxDirective aio_write syn keyword ngxDirective alias syn keyword ngxDirective allow syn keyword ngxDirective ancient_browser @@ -88,13 +110,18 @@ syn keyword ngxDirective auth_basic syn keyword ngxDirective auth_basic_user_file syn keyword ngxDirective auth_http syn keyword ngxDirective auth_http_header +syn keyword ngxDirective auth_http_pass_client_cert syn keyword ngxDirective auth_http_timeout +syn keyword ngxDirective auth_jwt +syn keyword ngxDirective auth_jwt_key_file syn keyword ngxDirective auth_request syn keyword ngxDirective auth_request_set syn keyword ngxDirective autoindex syn keyword ngxDirective autoindex_exact_size +syn keyword ngxDirective autoindex_format syn keyword ngxDirective autoindex_localtime syn keyword ngxDirective charset +syn keyword ngxDirective charset_map syn keyword ngxDirective charset_types syn keyword ngxDirective chunked_transfer_encoding syn keyword ngxDirective client_body_buffer_size @@ -128,6 +155,8 @@ syn keyword ngxDirective error_log syn keyword ngxDirective etag syn keyword ngxDirective eventport_events syn keyword ngxDirective expires +syn keyword ngxDirective f4f +syn keyword ngxDirective f4f_buffer_size syn keyword ngxDirective fastcgi_bind syn keyword ngxDirective fastcgi_buffer_size syn keyword ngxDirective fastcgi_buffering @@ -139,6 +168,7 @@ syn keyword ngxDirective fastcgi_cache_key syn keyword ngxDirective fastcgi_cache_lock syn keyword ngxDirective fastcgi_cache_lock_age syn keyword ngxDirective fastcgi_cache_lock_timeout +syn keyword ngxDirective fastcgi_cache_max_range_offset syn keyword ngxDirective fastcgi_cache_methods syn keyword ngxDirective fastcgi_cache_min_uses syn keyword ngxDirective fastcgi_cache_path @@ -197,7 +227,24 @@ syn keyword ngxDirective gzip_types syn keyword ngxDirective gzip_vary syn keyword ngxDirective gzip_window syn keyword ngxDirective hash +syn keyword ngxDirective health_check +syn keyword ngxDirective health_check_timeout +syn keyword ngxDirective hls +syn keyword ngxDirective hls_buffers +syn keyword ngxDirective hls_forward_args +syn keyword ngxDirective hls_fragment +syn keyword ngxDirective hls_mp4_buffer_size +syn keyword ngxDirective hls_mp4_max_buffer_size syn keyword ngxDirective http2 " Not a real directive +syn keyword ngxDirective http2_chunk_size +syn keyword ngxDirective http2_body_preread_size +syn keyword ngxDirective http2_idle_timeout +syn keyword ngxDirective http2_max_concurrent_streams +syn keyword ngxDirective http2_max_field_size +syn keyword ngxDirective http2_max_header_size +syn keyword ngxDirective http2_max_requests +syn keyword ngxDirective http2_recv_buffer_size +syn keyword ngxDirective http2_recv_timeout syn keyword ngxDirective if_modified_since syn keyword ngxDirective ignore_invalid_headers syn keyword ngxDirective image_filter @@ -206,13 +253,18 @@ syn keyword ngxDirective image_filter_interlace syn keyword ngxDirective image_filter_jpeg_quality syn keyword ngxDirective image_filter_sharpen syn keyword ngxDirective image_filter_transparency +syn keyword ngxDirective image_filter_webp_quality syn keyword ngxDirective imap_auth syn keyword ngxDirective imap_capabilities syn keyword ngxDirective imap_client_buffer syn keyword ngxDirective index syn keyword ngxDirective iocp_threads syn keyword ngxDirective ip_hash -syn keyword ngxDirective js_run +syn keyword ngxDirective js_access +syn keyword ngxDirective js_content +syn keyword ngxDirective js_filter +syn keyword ngxDirective js_include +syn keyword ngxDirective js_preread syn keyword ngxDirective js_set syn keyword ngxDirective keepalive syn keyword ngxDirective keepalive_disable @@ -222,6 +274,7 @@ syn keyword ngxDirective kqueue_changes syn keyword ngxDirective kqueue_events syn keyword ngxDirective large_client_header_buffers syn keyword ngxDirective least_conn +syn keyword ngxDirective least_time syn keyword ngxDirective limit_conn syn keyword ngxDirective limit_conn_log_level syn keyword ngxDirective limit_conn_status @@ -242,11 +295,13 @@ syn keyword ngxDirective log_not_found syn keyword ngxDirective log_subrequest syn keyword ngxDirective map_hash_bucket_size syn keyword ngxDirective map_hash_max_size +syn keyword ngxDirective match syn keyword ngxDirective master_process syn keyword ngxDirective max_ranges syn keyword ngxDirective memcached_bind syn keyword ngxDirective memcached_buffer_size syn keyword ngxDirective memcached_connect_timeout +syn keyword ngxDirective memcached_force_ranges syn keyword ngxDirective memcached_gzip_flag syn keyword ngxDirective memcached_next_upstream syn keyword ngxDirective memcached_next_upstream_timeout @@ -265,6 +320,7 @@ syn keyword ngxDirective mp4_limit_rate_after syn keyword ngxDirective msie_padding syn keyword ngxDirective msie_refresh syn keyword ngxDirective multi_accept +syn keyword ngxDirective ntlm syn keyword ngxDirective open_file_cache syn keyword ngxDirective open_file_cache_errors syn keyword ngxDirective open_file_cache_events @@ -285,6 +341,8 @@ syn keyword ngxDirective port_in_redirect syn keyword ngxDirective post_acceptex syn keyword ngxDirective postpone_gzipping syn keyword ngxDirective postpone_output +syn keyword ngxDirective preread_buffer_size +syn keyword ngxDirective preread_timeout syn keyword ngxDirective protocol nextgroup=ngxMailProtocol skipwhite syn keyword ngxMailProtocol imap pop3 smtp syn keyword ngxDirective proxy @@ -296,18 +354,23 @@ syn keyword ngxDirective proxy_buffers syn keyword ngxDirective proxy_busy_buffers_size syn keyword ngxDirective proxy_cache syn keyword ngxDirective proxy_cache_bypass +syn keyword ngxDirective proxy_cache_convert_head syn keyword ngxDirective proxy_cache_key syn keyword ngxDirective proxy_cache_lock +syn keyword ngxDirective proxy_cache_lock_age syn keyword ngxDirective proxy_cache_lock_timeout +syn keyword ngxDirective proxy_cache_max_range_offset syn keyword ngxDirective proxy_cache_methods syn keyword ngxDirective proxy_cache_min_uses syn keyword ngxDirective proxy_cache_path +syn keyword ngxDirective proxy_cache_purge syn keyword ngxDirective proxy_cache_revalidate syn keyword ngxDirective proxy_cache_use_stale syn keyword ngxDirective proxy_cache_valid syn keyword ngxDirective proxy_connect_timeout syn keyword ngxDirective proxy_cookie_domain syn keyword ngxDirective proxy_cookie_path +syn keyword ngxDirective proxy_download_rate syn keyword ngxDirective proxy_force_ranges syn keyword ngxDirective proxy_headers_hash_bucket_size syn keyword ngxDirective proxy_headers_hash_max_size @@ -316,6 +379,7 @@ syn keyword ngxDirective proxy_http_version syn keyword ngxDirective proxy_ignore_client_abort syn keyword ngxDirective proxy_ignore_headers syn keyword ngxDirective proxy_intercept_errors +syn keyword ngxDirective proxy_limit_rate syn keyword ngxDirective proxy_max_temp_file_size syn keyword ngxDirective proxy_method syn keyword ngxDirective proxy_next_upstream @@ -326,16 +390,23 @@ syn keyword ngxDirective proxy_pass_error_message syn keyword ngxDirective proxy_pass_header syn keyword ngxDirective proxy_pass_request_body syn keyword ngxDirective proxy_pass_request_headers +syn keyword ngxDirective proxy_protocol +syn keyword ngxDirective proxy_protocol_timeout syn keyword ngxDirective proxy_read_timeout syn keyword ngxDirective proxy_redirect +syn keyword ngxDirective proxy_request_buffering +syn keyword ngxDirective proxy_responses syn keyword ngxDirective proxy_send_lowat syn keyword ngxDirective proxy_send_timeout syn keyword ngxDirective proxy_set_body syn keyword ngxDirective proxy_set_header +syn keyword ngxDirective proxy_ssl_certificate +syn keyword ngxDirective proxy_ssl_certificate_key syn keyword ngxDirective proxy_ssl_ciphers syn keyword ngxDirective proxy_ssl_crl syn keyword ngxDirective proxy_ssl_name -syn keyword ngxDirective proxy_ssl_protocols +syn keyword ngxDirective proxy_ssl_password_file +syn keyword ngxDirective proxy_ssl_protocols nextgroup=ngxSSLProtocol skipwhite syn keyword ngxDirective proxy_ssl_server_name syn keyword ngxDirective proxy_ssl_session_reuse syn keyword ngxDirective proxy_ssl_trusted_certificate @@ -346,6 +417,8 @@ syn keyword ngxDirective proxy_store_access syn keyword ngxDirective proxy_temp_file_write_size syn keyword ngxDirective proxy_temp_path syn keyword ngxDirective proxy_timeout +syn keyword ngxDirective proxy_upload_rate +syn keyword ngxDirective queue syn keyword ngxDirective random_index syn keyword ngxDirective read_ahead syn keyword ngxDirective real_ip_header @@ -372,10 +445,13 @@ syn keyword ngxDirective scgi_cache syn keyword ngxDirective scgi_cache_bypass syn keyword ngxDirective scgi_cache_key syn keyword ngxDirective scgi_cache_lock +syn keyword ngxDirective scgi_cache_lock_age syn keyword ngxDirective scgi_cache_lock_timeout +syn keyword ngxDirective scgi_cache_max_range_offset syn keyword ngxDirective scgi_cache_methods syn keyword ngxDirective scgi_cache_min_uses syn keyword ngxDirective scgi_cache_path +syn keyword ngxDirective scgi_cache_purge syn keyword ngxDirective scgi_cache_revalidate syn keyword ngxDirective scgi_cache_use_stale syn keyword ngxDirective scgi_cache_valid @@ -385,6 +461,7 @@ syn keyword ngxDirective scgi_hide_header syn keyword ngxDirective scgi_ignore_client_abort syn keyword ngxDirective scgi_ignore_headers syn keyword ngxDirective scgi_intercept_errors +syn keyword ngxDirective scgi_limit_rate syn keyword ngxDirective scgi_max_temp_file_size syn keyword ngxDirective scgi_next_upstream syn keyword ngxDirective scgi_next_upstream_timeout @@ -395,6 +472,7 @@ syn keyword ngxDirective scgi_pass_header syn keyword ngxDirective scgi_pass_request_body syn keyword ngxDirective scgi_pass_request_headers syn keyword ngxDirective scgi_read_timeout +syn keyword ngxDirective scgi_request_buffering syn keyword ngxDirective scgi_send_timeout syn keyword ngxDirective scgi_store syn keyword ngxDirective scgi_store_access @@ -411,20 +489,16 @@ syn keyword ngxDirective server_name_in_redirect syn keyword ngxDirective server_names_hash_bucket_size syn keyword ngxDirective server_names_hash_max_size syn keyword ngxDirective server_tokens +syn keyword ngxDirective session_log +syn keyword ngxDirective session_log_format +syn keyword ngxDirective session_log_zone syn keyword ngxDirective set_real_ip_from +syn keyword ngxDirective slice syn keyword ngxDirective smtp_auth syn keyword ngxDirective smtp_capabilities syn keyword ngxDirective smtp_client_buffer syn keyword ngxDirective smtp_greeting_delay syn keyword ngxDirective source_charset -syn keyword ngxDirective spdy_chunk_size -syn keyword ngxDirective spdy_headers_comp -syn keyword ngxDirective spdy_keepalive_timeout -syn keyword ngxDirective spdy_max_concurrent_streams -syn keyword ngxDirective spdy_pool_size -syn keyword ngxDirective spdy_recv_buffer_size -syn keyword ngxDirective spdy_recv_timeout -syn keyword ngxDirective spdy_streams_index_size syn keyword ngxDirective ssi syn keyword ngxDirective ssi_ignore_recycled_buffers syn keyword ngxDirective ssi_last_modified @@ -442,9 +516,12 @@ syn keyword ngxDirective ssl_crl syn keyword ngxDirective ssl_dhparam syn keyword ngxDirective ssl_ecdh_curve syn keyword ngxDirective ssl_engine +syn keyword ngxDirective ssl_handshake_timeout syn keyword ngxDirective ssl_password_file syn keyword ngxDirective ssl_prefer_server_ciphers -syn keyword ngxDirective ssl_protocols +syn keyword ngxDirective ssl_preread +syn keyword ngxDirective ssl_protocols nextgroup=ngxSSLProtocol skipwhite +syn keyword ngxSSLProtocol SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2 syn keyword ngxDirective ssl_session_cache syn keyword ngxDirective ssl_session_ticket_key syn keyword ngxDirective ssl_session_tickets @@ -457,6 +534,12 @@ syn keyword ngxDirective ssl_trusted_certificate syn keyword ngxDirective ssl_verify_client syn keyword ngxDirective ssl_verify_depth syn keyword ngxDirective starttls +syn keyword ngxDirective state +syn keyword ngxDirective status +syn keyword ngxDirective status_format +syn keyword ngxDirective status_zone +syn keyword ngxDirective sticky +syn keyword ngxDirective sticky_cookie_insert syn keyword ngxDirective stub_status syn keyword ngxDirective sub_filter syn keyword ngxDirective sub_filter_last_modified @@ -472,6 +555,7 @@ syn keyword ngxDirective types_hash_bucket_size syn keyword ngxDirective types_hash_max_size syn keyword ngxDirective underscores_in_headers syn keyword ngxDirective uninitialized_variable_warn +syn keyword ngxDirective upstream_conf syn keyword ngxDirective use syn keyword ngxDirective user syn keyword ngxDirective userid @@ -496,6 +580,7 @@ syn keyword ngxDirective uwsgi_cache_lock_timeout syn keyword ngxDirective uwsgi_cache_methods syn keyword ngxDirective uwsgi_cache_min_uses syn keyword ngxDirective uwsgi_cache_path +syn keyword ngxDirective uwsgi_cache_purge syn keyword ngxDirective uwsgi_cache_revalidate syn keyword ngxDirective uwsgi_cache_use_stale syn keyword ngxDirective uwsgi_cache_valid @@ -505,6 +590,7 @@ syn keyword ngxDirective uwsgi_hide_header syn keyword ngxDirective uwsgi_ignore_client_abort syn keyword ngxDirective uwsgi_ignore_headers syn keyword ngxDirective uwsgi_intercept_errors +syn keyword ngxDirective uwsgi_limit_rate syn keyword ngxDirective uwsgi_max_temp_file_size syn keyword ngxDirective uwsgi_modifier1 syn keyword ngxDirective uwsgi_modifier2 @@ -526,7 +612,7 @@ syn keyword ngxDirective uwsgi_ssl_ciphers syn keyword ngxDirective uwsgi_ssl_crl syn keyword ngxDirective uwsgi_ssl_name syn keyword ngxDirective uwsgi_ssl_password_file -syn keyword ngxDirective uwsgi_ssl_protocols +syn keyword ngxDirective uwsgi_ssl_protocols nextgroup=ngxSSLProtocol skipwhite syn keyword ngxDirective uwsgi_ssl_server_name syn keyword ngxDirective uwsgi_ssl_session_reuse syn keyword ngxDirective uwsgi_ssl_trusted_certificate @@ -557,10 +643,33 @@ syn keyword ngxDirective xslt_param syn keyword ngxDirective xslt_string_param syn keyword ngxDirective xslt_stylesheet syn keyword ngxDirective xslt_types +syn keyword ngxDirective zone " 3rd party module list: " https://www.nginx.com/resources/wiki/modules/ +" @3PARTY + +" highlight + +hi link ngxComment Comment +hi link ngxVariable Identifier +hi link ngxVariableString PreProc +hi link ngxString String +hi link ngxLocationPath String +hi link ngxLocationNamedLoc Identifier + +hi link ngxBoolean Boolean +hi link ngxRewriteFlag Boolean +hi link ngxDirectiveBlock Statement +hi link ngxDirectiveImportant Type +hi link ngxDirectiveControl Keyword +hi link ngxDirectiveError Constant +hi link ngxDirectiveDeprecated Error +hi link ngxDirective Identifier +hi link ngxDirectiveThirdParty Special + +let b:current_syntax = "nginx" endif diff --git a/syntax/markdown.vim b/syntax/markdown.vim index e731764..0545156 100644 --- a/syntax/markdown.vim +++ b/syntax/markdown.vim @@ -49,12 +49,15 @@ if get(g:, 'vim_markdown_emphasis_multiline', 1) else let s:oneline = ' oneline' endif -execute 'syn region htmlItalic start="\%(^\|\s\)\zs\*\ze[^\\\*\t ]\%(\%([^*]\|\\\*\|\n\)*[^\\\*\t ]\)\?\*\_W" end="[^\\\*\t ]\zs\*\ze\_W" keepend' . s:oneline -execute 'syn region htmlItalic start="\%(^\|\s\)\zs_\ze[^\\_\t ]" end="[^\\_\t ]\zs_\ze\_W" keepend' . s:oneline -execute 'syn region htmlBold start="\%(^\|\s\)\*\*\ze\S" end="\S\zs\*\*" keepend' . s:oneline -execute 'syn region htmlBold start="\%(^\|\s\)\zs__\ze\S" end="\S\zs__" keepend' . s:oneline -execute 'syn region htmlBoldItalic start="\%(^\|\s\)\zs\*\*\*\ze\S" end="\S\zs\*\*\*" keepend' . s:oneline -execute 'syn region htmlBoldItalic start="\%(^\|\s\)\zs___\ze\S" end="\S\zs___" keepend' . s:oneline +syn region mkdItalic matchgroup=mkdItalic start="\%(\*\|_\)" end="\%(\*\|_\)" +syn region mkdBold matchgroup=mkdBold start="\%(\*\*\|__\)" end="\%(\*\*\|__\)" +syn region mkdBoldItalic matchgroup=mkdBoldItalic start="\%(\*\*\*\|___\)" end="\%(\*\*\*\|___\)" +execute 'syn region htmlItalic matchgroup=mkdItalic start="\%(^\|\s\)\zs\*\ze[^\\\*\t ]\%(\%([^*]\|\\\*\|\n\)*[^\\\*\t ]\)\?\*\_W" end="[^\\\*\t ]\zs\*\ze\_W" keepend contains=@Spell' . s:oneline . s:concealends +execute 'syn region htmlItalic matchgroup=mkdItalic start="\%(^\|\s\)\zs_\ze[^\\_\t ]" end="[^\\_\t ]\zs_\ze\_W" keepend contains=@Spell' . s:oneline . s:concealends +execute 'syn region htmlBold matchgroup=mkdBold start="\%(^\|\s\)\zs\*\*\ze\S" end="\S\zs\*\*" keepend contains=@Spell' . s:oneline . s:concealends +execute 'syn region htmlBold matchgroup=mkdBold start="\%(^\|\s\)\zs__\ze\S" end="\S\zs__" keepend contains=@Spell' . s:oneline . s:concealends +execute 'syn region htmlBoldItalic matchgroup=mkdBoldItalic start="\%(^\|\s\)\zs\*\*\*\ze\S" end="\S\zs\*\*\*" keepend contains=@Spell' . s:oneline . s:concealends +execute 'syn region htmlBoldItalic matchgroup=mkdBoldItalic start="\%(^\|\s\)\zs___\ze\S" end="\S\zs___" keepend contains=@Spell' . s:oneline . s:concealends " [link](URL) | [link][id] | [link][] | ![image](URL) syn region mkdFootnotes matchgroup=mkdDelimiter start="\[^" end="\]" @@ -104,7 +107,7 @@ syn region mkdFootnote start="\[^" end="\]" syn match mkdCode /^\s*\n\(\(\s\{8,}[^ ]\|\t\t\+[^\t]\).*\n\)\+/ syn match mkdCode /\%^\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ syn match mkdCode /^\s*\n\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ contained -syn match mkdListItem /^\s*\%([-*+]\|\d\+\.\)\s\+/ contained +syn match mkdListItem /^\s*\%([-*+]\|\d\+\.\)\ze\s\+/ contained syn region mkdListItemLine start="^\s*\%([-*+]\|\d\+\.\)\s\+" end="$" oneline contains=@mkdNonListItem,mkdListItem,@Spell syn region mkdNonListItemBlock start="\(\%^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@!\|\n\(\_^\_$\|\s\{4,}[^ ]\|\t+[^\t]\)\@!\)" end="^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@=" contains=@mkdNonListItem,@Spell syn match mkdRule /^\s*\*\s\{0,1}\*\s\{0,1}\*$/ diff --git a/syntax/modules/access-key.vim b/syntax/modules/access-key.vim index 71b2c4c..7f23d68 100644 --- a/syntax/modules/access-key.vim +++ b/syntax/modules/access-key.vim @@ -2,10 +2,10 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Access Key Module (DEPRECATED) " Denies access unless the request URL contains an access key. -syn keyword ngxDirectiveThirdParty accesskey -syn keyword ngxDirectiveThirdParty accesskey_arg -syn keyword ngxDirectiveThirdParty accesskey_hashmethod -syn keyword ngxDirectiveThirdParty accesskey_signature +syn keyword ngxDirectiveDeprecated accesskey +syn keyword ngxDirectiveDeprecated accesskey_arg +syn keyword ngxDirectiveDeprecated accesskey_hashmethod +syn keyword ngxDirectiveDeprecated accesskey_signature endif diff --git a/syntax/modules/akamai-g2o.vim b/syntax/modules/akamai-g2o.vim index 36a29b4..5cb86c1 100644 --- a/syntax/modules/akamai-g2o.vim +++ b/syntax/modules/akamai-g2o.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Akamai G2O Module -" Nginx Module for Authenticating Akamai G2O requests +" Nginx Module for Authenticating Akamai G2O requests syn keyword ngxDirectiveThirdParty g2o syn keyword ngxDirectiveThirdParty g2o_nonce syn keyword ngxDirectiveThirdParty g2o_key diff --git a/syntax/modules/alacner-lua.vim b/syntax/modules/alacner-lua.vim index 1772422..e884c4b 100644 --- a/syntax/modules/alacner-lua.vim +++ b/syntax/modules/alacner-lua.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Lua Module -" You can be very simple to execute lua code for nginx +" You can be very simple to execute lua code for nginx syn keyword ngxDirectiveThirdParty lua_file diff --git a/syntax/modules/aws-auth.vim b/syntax/modules/aws-auth.vim index f98e960..8066346 100644 --- a/syntax/modules/aws-auth.vim +++ b/syntax/modules/aws-auth.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " AWS Proxy Module -" Nginx module to proxy to authenticated AWS services +" Nginx module to proxy to authenticated AWS services syn keyword ngxDirectiveThirdParty aws_access_key syn keyword ngxDirectiveThirdParty aws_key_scope syn keyword ngxDirectiveThirdParty aws_signing_key diff --git a/syntax/modules/brotli.vim b/syntax/modules/brotli.vim index b6103d4..077dc56 100644 --- a/syntax/modules/brotli.vim +++ b/syntax/modules/brotli.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Brotli Module -" Nginx module for Brotli compression +" Nginx module for Brotli compression syn keyword ngxDirectiveThirdParty brotli_static syn keyword ngxDirectiveThirdParty brotli syn keyword ngxDirectiveThirdParty brotli_types diff --git a/syntax/modules/cache-purge.vim b/syntax/modules/cache-purge.vim index 2b57226..a41d13d 100644 --- a/syntax/modules/cache-purge.vim +++ b/syntax/modules/cache-purge.vim @@ -1,9 +1,11 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Cache Purge Module -" Module adding ability to purge content from FastCGI and proxy caches. +" Adds ability to purge content from FastCGI, proxy, SCGI and uWSGI caches. syn keyword ngxDirectiveThirdParty fastcgi_cache_purge syn keyword ngxDirectiveThirdParty proxy_cache_purge +" syn keyword ngxDirectiveThirdParty scgi_cache_purge +" syn keyword ngxDirectiveThirdParty uwsgi_cache_purge endif diff --git a/syntax/modules/chunkin.vim b/syntax/modules/chunkin.vim index 8375598..9908ef8 100644 --- a/syntax/modules/chunkin.vim +++ b/syntax/modules/chunkin.vim @@ -2,10 +2,10 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Chunkin Module (DEPRECATED) " HTTP 1.1 chunked-encoding request body support for Nginx. -syn keyword ngxDirectiveThirdParty chunkin -syn keyword ngxDirectiveThirdParty chunkin_keepalive -syn keyword ngxDirectiveThirdParty chunkin_max_chunks_per_buf -syn keyword ngxDirectiveThirdParty chunkin_resume +syn keyword ngxDirectiveDeprecated chunkin +syn keyword ngxDirectiveDeprecated chunkin_keepalive +syn keyword ngxDirectiveDeprecated chunkin_max_chunks_per_buf +syn keyword ngxDirectiveDeprecated chunkin_resume endif diff --git a/syntax/modules/clojure.vim b/syntax/modules/clojure.vim index e5a6c8d..ca49ac3 100644 --- a/syntax/modules/clojure.vim +++ b/syntax/modules/clojure.vim @@ -1,6 +1,6 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 -" Nginx-Clojure Module http://nginx-clojure.github.io/index.html<> +" Nginx-Clojure Module " Parses the Accept-Language header and gives the most suitable locale from a list of supported locales. syn keyword ngxDirectiveThirdParty jvm_path syn keyword ngxDirectiveThirdParty jvm_var diff --git a/syntax/modules/consistent-hash.vim b/syntax/modules/consistent-hash.vim index b066b2b..1ebbe4e 100644 --- a/syntax/modules/consistent-hash.vim +++ b/syntax/modules/consistent-hash.vim @@ -1,6 +1,6 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 -" Upstream Consistent Hash +" Upstream Consistent Hash " A load balancer that uses an internal consistent hash ring to select the right backend node. syn keyword ngxDirectiveThirdParty consistent_hash diff --git a/syntax/modules/drizzle.vim b/syntax/modules/drizzle.vim index 507977e..5bfff69 100644 --- a/syntax/modules/drizzle.vim +++ b/syntax/modules/drizzle.vim @@ -1,17 +1,18 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 -" Drizzle Module -" Make nginx talk directly to mysql, drizzle, and sqlite3 by libdrizzle. -syn keyword ngxDirectiveThirdParty drizzle_connect_timeout -syn keyword ngxDirectiveThirdParty drizzle_dbname +" Drizzle Module +" Upstream module for talking to MySQL and Drizzle directly +syn keyword ngxDirectiveThirdParty drizzle_server syn keyword ngxDirectiveThirdParty drizzle_keepalive -syn keyword ngxDirectiveThirdParty drizzle_module_header -syn keyword ngxDirectiveThirdParty drizzle_pass syn keyword ngxDirectiveThirdParty drizzle_query +syn keyword ngxDirectiveThirdParty drizzle_pass +syn keyword ngxDirectiveThirdParty drizzle_connect_timeout +syn keyword ngxDirectiveThirdParty drizzle_send_query_timeout syn keyword ngxDirectiveThirdParty drizzle_recv_cols_timeout syn keyword ngxDirectiveThirdParty drizzle_recv_rows_timeout -syn keyword ngxDirectiveThirdParty drizzle_send_query_timeout -syn keyword ngxDirectiveThirdParty drizzle_server +syn keyword ngxDirectiveThirdParty drizzle_buffer_size +syn keyword ngxDirectiveThirdParty drizzle_module_header +syn keyword ngxDirectiveThirdParty drizzle_status endif diff --git a/syntax/modules/dynamic-etags.vim b/syntax/modules/dynamic-etags.vim index 9655fd6..cf6ba85 100644 --- a/syntax/modules/dynamic-etags.vim +++ b/syntax/modules/dynamic-etags.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Dynamic ETags Module -" Attempt at handling ETag / If-None-Match on proxied content. +" Attempt at handling ETag / If-None-Match on proxied content. syn keyword ngxDirectiveThirdParty dynamic_etags diff --git a/syntax/modules/echo.vim b/syntax/modules/echo.vim index 062a856..317e65e 100644 --- a/syntax/modules/echo.vim +++ b/syntax/modules/echo.vim @@ -1,24 +1,25 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 -" Echo Module -" Brings 'echo', 'sleep', 'time', 'exec' and more shell-style goodies to Nginx config file. +" Echo Module +" Bringing the power of "echo", "sleep", "time" and more to Nginx's config file syn keyword ngxDirectiveThirdParty echo -syn keyword ngxDirectiveThirdParty echo_after_body -syn keyword ngxDirectiveThirdParty echo_before_body -syn keyword ngxDirectiveThirdParty echo_blocking_sleep syn keyword ngxDirectiveThirdParty echo_duplicate -syn keyword ngxDirectiveThirdParty echo_end -syn keyword ngxDirectiveThirdParty echo_exec syn keyword ngxDirectiveThirdParty echo_flush -syn keyword ngxDirectiveThirdParty echo_foreach_split -syn keyword ngxDirectiveThirdParty echo_location -syn keyword ngxDirectiveThirdParty echo_location_async -syn keyword ngxDirectiveThirdParty echo_read_request_body -syn keyword ngxDirectiveThirdParty echo_request_body -syn keyword ngxDirectiveThirdParty echo_reset_timer syn keyword ngxDirectiveThirdParty echo_sleep -syn keyword ngxDirectiveThirdParty echo_subrequest +syn keyword ngxDirectiveThirdParty echo_blocking_sleep +syn keyword ngxDirectiveThirdParty echo_reset_timer +syn keyword ngxDirectiveThirdParty echo_read_request_body +syn keyword ngxDirectiveThirdParty echo_location_async +syn keyword ngxDirectiveThirdParty echo_location syn keyword ngxDirectiveThirdParty echo_subrequest_async +syn keyword ngxDirectiveThirdParty echo_subrequest +syn keyword ngxDirectiveThirdParty echo_foreach_split +syn keyword ngxDirectiveThirdParty echo_end +syn keyword ngxDirectiveThirdParty echo_request_body +syn keyword ngxDirectiveThirdParty echo_exec +syn keyword ngxDirectiveThirdParty echo_status +syn keyword ngxDirectiveThirdParty echo_before_body +syn keyword ngxDirectiveThirdParty echo_after_body endif diff --git a/syntax/modules/encrypted-session.vim b/syntax/modules/encrypted-session.vim index 1450ec1..17e98d9 100644 --- a/syntax/modules/encrypted-session.vim +++ b/syntax/modules/encrypted-session.vim @@ -9,5 +9,4 @@ syn keyword ngxDirectiveThirdParty set_encrypt_session syn keyword ngxDirectiveThirdParty set_decrypt_session - endif diff --git a/syntax/modules/events.vim b/syntax/modules/events.vim index 5657840..d6d1ca9 100644 --- a/syntax/modules/events.vim +++ b/syntax/modules/events.vim @@ -2,8 +2,8 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Events Module (DEPRECATED) " Provides options for start/stop events. -syn keyword ngxDirectiveThirdParty on_start -syn keyword ngxDirectiveThirdParty on_stop +syn keyword ngxDirectiveDeprecated on_start +syn keyword ngxDirectiveDeprecated on_stop endif diff --git a/syntax/modules/fancyindex.vim b/syntax/modules/fancyindex.vim index 423b552..0e66717 100644 --- a/syntax/modules/fancyindex.vim +++ b/syntax/modules/fancyindex.vim @@ -3,12 +3,18 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Fancy Indexes Module " Like the built-in autoindex module, but fancier. syn keyword ngxDirectiveThirdParty fancyindex +syn keyword ngxDirectiveThirdParty fancyindex_default_sort +syn keyword ngxDirectiveThirdParty fancyindex_directories_first +syn keyword ngxDirectiveThirdParty fancyindex_css_href syn keyword ngxDirectiveThirdParty fancyindex_exact_size +syn keyword ngxDirectiveThirdParty fancyindex_name_length syn keyword ngxDirectiveThirdParty fancyindex_footer syn keyword ngxDirectiveThirdParty fancyindex_header +syn keyword ngxDirectiveThirdParty fancyindex_show_path +syn keyword ngxDirectiveThirdParty fancyindex_ignore +syn keyword ngxDirectiveThirdParty fancyindex_hide_symlinks syn keyword ngxDirectiveThirdParty fancyindex_localtime -syn keyword ngxDirectiveThirdParty fancyindex_readme -syn keyword ngxDirectiveThirdParty fancyindex_readme_mode +syn keyword ngxDirectiveThirdParty fancyindex_time_format endif diff --git a/syntax/modules/geoip.vim b/syntax/modules/geoip.vim index 4f7409c..3b9569b 100644 --- a/syntax/modules/geoip.vim +++ b/syntax/modules/geoip.vim @@ -2,7 +2,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " GeoIP Module (DEPRECATED) " Country code lookups via the MaxMind GeoIP API. -syn keyword ngxDirectiveThirdParty geoip_country_file +syn keyword ngxDirectiveDeprecated geoip_country_file endif diff --git a/syntax/modules/geoip2.vim b/syntax/modules/geoip2.vim new file mode 100644 index 0000000..c6d7822 --- /dev/null +++ b/syntax/modules/geoip2.vim @@ -0,0 +1,8 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 + +" GeoIP 2 Module +" Creates variables with values from the maxmind geoip2 databases based on the client IP +syn keyword ngxDirectiveThirdParty geoip2 + + +endif diff --git a/syntax/modules/gridfs.vim b/syntax/modules/gridfs.vim index b65ec1d..100f6ab 100644 --- a/syntax/modules/gridfs.vim +++ b/syntax/modules/gridfs.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " GridFS Module -" Nginx module for serving files from MongoDB's GridFS +" Nginx module for serving files from MongoDB's GridFS syn keyword ngxDirectiveThirdParty gridfs diff --git a/syntax/modules/http-accounting.vim b/syntax/modules/http-accounting.vim index fbe2def..3348480 100644 --- a/syntax/modules/http-accounting.vim +++ b/syntax/modules/http-accounting.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " HTTP Accounting Module -" Add traffic stat function to nginx. Useful for http accounting based on nginx configuration logic +" Add traffic stat function to nginx. Useful for http accounting based on nginx configuration logic syn keyword ngxDirectiveThirdParty http_accounting syn keyword ngxDirectiveThirdParty http_accounting_log syn keyword ngxDirectiveThirdParty http_accounting_id diff --git a/syntax/modules/http-auth-digest.vim b/syntax/modules/http-auth-digest.vim index ff850a6..000d0d5 100644 --- a/syntax/modules/http-auth-digest.vim +++ b/syntax/modules/http-auth-digest.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Nginx Digest Authentication module -" Digest Authentication for Nginx +" Digest Authentication for Nginx syn keyword ngxDirectiveThirdParty auth_digest syn keyword ngxDirectiveThirdParty auth_digest_user_file syn keyword ngxDirectiveThirdParty auth_digest_timeout diff --git a/syntax/modules/http-auth-request.vim b/syntax/modules/http-auth-request.vim index 9238cd5..9d6d697 100644 --- a/syntax/modules/http-auth-request.vim +++ b/syntax/modules/http-auth-request.vim @@ -2,8 +2,8 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " HTTP Auth Request Module " Implements client authorization based on the result of a subrequest -syn keyword ngxDirectiveThirdParty auth_request -syn keyword ngxDirectiveThirdParty auth_request_set +" syn keyword ngxDirectiveThirdParty auth_request +" syn keyword ngxDirectiveThirdParty auth_request_set endif diff --git a/syntax/modules/http-concat.vim b/syntax/modules/http-concat.vim index fbd4d82..cc3dfef 100644 --- a/syntax/modules/http-concat.vim +++ b/syntax/modules/http-concat.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " HTTP Concatenation module for Nginx -" A Nginx module for concatenating files in a given context: CSS and JS files usually +" A Nginx module for concatenating files in a given context: CSS and JS files usually syn keyword ngxDirectiveThirdParty concat syn keyword ngxDirectiveThirdParty concat_types syn keyword ngxDirectiveThirdParty concat_unique diff --git a/syntax/modules/http-internal-redirect.vim b/syntax/modules/http-internal-redirect.vim index 2484dc8..2f67aa8 100644 --- a/syntax/modules/http-internal-redirect.vim +++ b/syntax/modules/http-internal-redirect.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " HTTP Internal Redirect Module -" Make an internal redirect to the uri specified according to the condition specified. +" Make an internal redirect to the uri specified according to the condition specified. syn keyword ngxDirectiveThirdParty internal_redirect_if syn keyword ngxDirectiveThirdParty internal_redirect_if_no_postponed diff --git a/syntax/modules/http-push.vim b/syntax/modules/http-push.vim index d53ad5e..f9f5062 100644 --- a/syntax/modules/http-push.vim +++ b/syntax/modules/http-push.vim @@ -2,11 +2,11 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " HTTP Push Module (DEPRECATED) " Turn Nginx into an adept long-polling HTTP Push (Comet) server. -syn keyword ngxDirectiveThirdParty push_buffer_size -syn keyword ngxDirectiveThirdParty push_listener -syn keyword ngxDirectiveThirdParty push_message_timeout -syn keyword ngxDirectiveThirdParty push_queue_messages -syn keyword ngxDirectiveThirdParty push_sender +syn keyword ngxDirectiveDeprecated push_buffer_size +syn keyword ngxDirectiveDeprecated push_listener +syn keyword ngxDirectiveDeprecated push_message_timeout +syn keyword ngxDirectiveDeprecated push_queue_messages +syn keyword ngxDirectiveDeprecated push_sender endif diff --git a/syntax/modules/http-redis.vim b/syntax/modules/http-redis.vim index 95a3a34..a4e1958 100644 --- a/syntax/modules/http-redis.vim +++ b/syntax/modules/http-redis.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " HTTP Redis Module -" Redis support.> +" Redis support. syn keyword ngxDirectiveThirdParty redis_bind syn keyword ngxDirectiveThirdParty redis_buffer_size syn keyword ngxDirectiveThirdParty redis_connect_timeout diff --git a/syntax/modules/iconv.vim b/syntax/modules/iconv.vim index 6480895..40ad3d9 100644 --- a/syntax/modules/iconv.vim +++ b/syntax/modules/iconv.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Iconv Module -" A character conversion nginx module using libiconv +" A character conversion nginx module using libiconv syn keyword ngxDirectiveThirdParty set_iconv syn keyword ngxDirectiveThirdParty iconv_buffer_size syn keyword ngxDirectiveThirdParty iconv_filter diff --git a/syntax/modules/js.vim b/syntax/modules/js.vim new file mode 100644 index 0000000..756a6c1 --- /dev/null +++ b/syntax/modules/js.vim @@ -0,0 +1,11 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 + +" JS Module +" Reflect the nginx functionality in JS +syn keyword ngxDirectiveThirdParty js +syn keyword ngxDirectiveThirdParty js_access +syn keyword ngxDirectiveThirdParty js_load +syn keyword ngxDirectiveThirdParty js_set + + +endif diff --git a/syntax/modules/log-if.vim b/syntax/modules/log-if.vim index 2e5b4ca..852b33e 100644 --- a/syntax/modules/log-if.vim +++ b/syntax/modules/log-if.vim @@ -2,7 +2,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Log If Module " Conditional accesslog for nginx -syn keyword ngxDirectiveThirdParty access_log_bypass_if +syn keyword ngxDirectiveThirdParty access_log_bypass_if endif diff --git a/syntax/modules/log-request-speed.vim b/syntax/modules/log-request-speed.vim index 792e2e7..374538f 100644 --- a/syntax/modules/log-request-speed.vim +++ b/syntax/modules/log-request-speed.vim @@ -2,8 +2,8 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Log Request Speed (DEPRECATED) " Log the time it took to process each request. -syn keyword ngxDirectiveThirdParty log_request_speed_filter -syn keyword ngxDirectiveThirdParty log_request_speed_filter_timeout +syn keyword ngxDirectiveDeprecated log_request_speed_filter +syn keyword ngxDirectiveDeprecated log_request_speed_filter_timeout endif diff --git a/syntax/modules/lua-upstream.vim b/syntax/modules/lua-upstream.vim index cebee54..95166f3 100644 --- a/syntax/modules/lua-upstream.vim +++ b/syntax/modules/lua-upstream.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Lua Upstream Module -" Nginx C module to expose Lua API to ngx_lua for Nginx upstreams +" Nginx C module to expose Lua API to ngx_lua for Nginx upstreams endif diff --git a/syntax/modules/lua.vim b/syntax/modules/lua.vim index 2fbb2a6..cf3abd8 100644 --- a/syntax/modules/lua.vim +++ b/syntax/modules/lua.vim @@ -1,8 +1,9 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Lua Module -" Embed the Power of Lua into NGINX HTTP servers +" Embed the Power of Lua into NGINX HTTP servers syn keyword ngxDirectiveThirdParty lua_use_default_type +syn keyword ngxDirectiveThirdParty lua_malloc_trim syn keyword ngxDirectiveThirdParty lua_code_cache syn keyword ngxDirectiveThirdParty lua_regex_cache_max_entries syn keyword ngxDirectiveThirdParty lua_regex_match_limit @@ -40,6 +41,10 @@ syn keyword ngxDirectiveThirdParty balancer_by_lua_file syn keyword ngxDirectiveThirdParty lua_need_request_body syn keyword ngxDirectiveThirdParty ssl_certificate_by_lua_block syn keyword ngxDirectiveThirdParty ssl_certificate_by_lua_file +syn keyword ngxDirectiveThirdParty ssl_session_fetch_by_lua_block +syn keyword ngxDirectiveThirdParty ssl_session_fetch_by_lua_file +syn keyword ngxDirectiveThirdParty ssl_session_store_by_lua_block +syn keyword ngxDirectiveThirdParty ssl_session_store_by_lua_file syn keyword ngxDirectiveThirdParty lua_shared_dict syn keyword ngxDirectiveThirdParty lua_socket_connect_timeout syn keyword ngxDirectiveThirdParty lua_socket_send_timeout diff --git a/syntax/modules/md5-filter.vim b/syntax/modules/md5-filter.vim index 2d8df29..140cbe3 100644 --- a/syntax/modules/md5-filter.vim +++ b/syntax/modules/md5-filter.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " MD5 Filter Module -" A content filter for nginx, which returns the md5 hash of the content otherwise returned. +" A content filter for nginx, which returns the md5 hash of the content otherwise returned. syn keyword ngxDirectiveThirdParty md5_filter diff --git a/syntax/modules/mogilefs.vim b/syntax/modules/mogilefs.vim index 340c60f..b8d55a8 100644 --- a/syntax/modules/mogilefs.vim +++ b/syntax/modules/mogilefs.vim @@ -1,15 +1,16 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Mogilefs Module -" Implements a MogileFS client, provides a replace to the Perlbal reverse proxy of the original MogileFS. -syn keyword ngxDirectiveThirdParty mogilefs_connect_timeout -syn keyword ngxDirectiveThirdParty mogilefs_domain -syn keyword ngxDirectiveThirdParty mogilefs_methods -syn keyword ngxDirectiveThirdParty mogilefs_noverify +" MogileFS client for nginx web server. syn keyword ngxDirectiveThirdParty mogilefs_pass -syn keyword ngxDirectiveThirdParty mogilefs_read_timeout -syn keyword ngxDirectiveThirdParty mogilefs_send_timeout +syn keyword ngxDirectiveThirdParty mogilefs_methods +syn keyword ngxDirectiveThirdParty mogilefs_domain +syn keyword ngxDirectiveThirdParty mogilefs_class syn keyword ngxDirectiveThirdParty mogilefs_tracker +syn keyword ngxDirectiveThirdParty mogilefs_noverify +syn keyword ngxDirectiveThirdParty mogilefs_connect_timeout +syn keyword ngxDirectiveThirdParty mogilefs_send_timeout +syn keyword ngxDirectiveThirdParty mogilefs_read_timeout endif diff --git a/syntax/modules/mp4-streaming.vim b/syntax/modules/mp4-streaming.vim index 1b7f417..4e1ce00 100644 --- a/syntax/modules/mp4-streaming.vim +++ b/syntax/modules/mp4-streaming.vim @@ -2,7 +2,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " MP4 Streaming Lite Module " Will seek to a certain time within H.264/MP4 files when provided with a 'start' parameter in the URL. -syn keyword ngxDirectiveThirdParty mp4 +" syn keyword ngxDirectiveThirdParty mp4 endif diff --git a/syntax/modules/nchan.vim b/syntax/modules/nchan.vim new file mode 100644 index 0000000..9884af9 --- /dev/null +++ b/syntax/modules/nchan.vim @@ -0,0 +1,56 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 + +" Nchan Module +" Fast, horizontally scalable, multiprocess pub/sub queuing server and proxy for HTTP, long-polling, Websockets and EventSource (SSE) +syn keyword ngxDirectiveThirdParty nchan_channel_id +syn keyword ngxDirectiveThirdParty nchan_channel_id_split_delimiter +syn keyword ngxDirectiveThirdParty nchan_eventsource_event +syn keyword ngxDirectiveThirdParty nchan_longpoll_multipart_response +syn keyword ngxDirectiveThirdParty nchan_publisher +syn keyword ngxDirectiveThirdParty nchan_publisher_channel_id +syn keyword ngxDirectiveThirdParty nchan_publisher_upstream_request +syn keyword ngxDirectiveThirdParty nchan_pubsub +syn keyword ngxDirectiveThirdParty nchan_subscribe_request +syn keyword ngxDirectiveThirdParty nchan_subscriber +syn keyword ngxDirectiveThirdParty nchan_subscriber_channel_id +syn keyword ngxDirectiveThirdParty nchan_subscriber_compound_etag_message_id +syn keyword ngxDirectiveThirdParty nchan_subscriber_first_message +syn keyword ngxDirectiveThirdParty nchan_subscriber_http_raw_stream_separator +syn keyword ngxDirectiveThirdParty nchan_subscriber_last_message_id +syn keyword ngxDirectiveThirdParty nchan_subscriber_message_id_custom_etag_header +syn keyword ngxDirectiveThirdParty nchan_subscriber_timeout +syn keyword ngxDirectiveThirdParty nchan_unsubscribe_request +syn keyword ngxDirectiveThirdParty nchan_websocket_ping_interval +syn keyword ngxDirectiveThirdParty nchan_authorize_request +syn keyword ngxDirectiveThirdParty nchan_max_reserved_memory +syn keyword ngxDirectiveThirdParty nchan_message_buffer_length +syn keyword ngxDirectiveThirdParty nchan_message_timeout +syn keyword ngxDirectiveThirdParty nchan_redis_idle_channel_cache_timeout +syn keyword ngxDirectiveThirdParty nchan_redis_namespace +syn keyword ngxDirectiveThirdParty nchan_redis_pass +syn keyword ngxDirectiveThirdParty nchan_redis_ping_interval +syn keyword ngxDirectiveThirdParty nchan_redis_server +syn keyword ngxDirectiveThirdParty nchan_redis_storage_mode +syn keyword ngxDirectiveThirdParty nchan_redis_url +syn keyword ngxDirectiveThirdParty nchan_store_messages +syn keyword ngxDirectiveThirdParty nchan_use_redis +syn keyword ngxDirectiveThirdParty nchan_access_control_allow_origin +syn keyword ngxDirectiveThirdParty nchan_channel_group +syn keyword ngxDirectiveThirdParty nchan_channel_group_accounting +syn keyword ngxDirectiveThirdParty nchan_group_location +syn keyword ngxDirectiveThirdParty nchan_group_max_channels +syn keyword ngxDirectiveThirdParty nchan_group_max_messages +syn keyword ngxDirectiveThirdParty nchan_group_max_messages_disk +syn keyword ngxDirectiveThirdParty nchan_group_max_messages_memory +syn keyword ngxDirectiveThirdParty nchan_group_max_subscribers +syn keyword ngxDirectiveThirdParty nchan_subscribe_existing_channels_only +syn keyword ngxDirectiveThirdParty nchan_channel_event_string +syn keyword ngxDirectiveThirdParty nchan_channel_events_channel_id +syn keyword ngxDirectiveThirdParty nchan_stub_status +syn keyword ngxDirectiveThirdParty nchan_max_channel_id_length +syn keyword ngxDirectiveThirdParty nchan_max_channel_subscribers +syn keyword ngxDirectiveThirdParty nchan_channel_timeout +syn keyword ngxDirectiveThirdParty nchan_storage_engine + + +endif diff --git a/syntax/modules/ocsp-proxy.vim b/syntax/modules/ocsp-proxy.vim index 8c1e54a..cbcbc92 100644 --- a/syntax/modules/ocsp-proxy.vim +++ b/syntax/modules/ocsp-proxy.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " OCSP Proxy Module -" Nginx OCSP processing module designed for response caching +" Nginx OCSP processing module designed for response caching syn keyword ngxDirectiveThirdParty ocsp_proxy syn keyword ngxDirectiveThirdParty ocsp_cache_timeout diff --git a/syntax/modules/openssl-version.vim b/syntax/modules/openssl-version.vim index 58caffd..cf86d36 100644 --- a/syntax/modules/openssl-version.vim +++ b/syntax/modules/openssl-version.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " OpenSSL Version Module -" Nginx OpenSSL version check at startup +" Nginx OpenSSL version check at startup syn keyword ngxDirectiveThirdParty openssl_version_minimum syn keyword ngxDirectiveThirdParty openssl_builddate_minimum diff --git a/syntax/modules/php-memcache-standard-balancer.vim b/syntax/modules/php-memcache-standard-balancer.vim index 7f99ac4..945b875 100644 --- a/syntax/modules/php-memcache-standard-balancer.vim +++ b/syntax/modules/php-memcache-standard-balancer.vim @@ -1,6 +1,6 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 -" PHP Memcache Standard Balancer Module <> +" PHP Memcache Standard Balancer Module " Loadbalancer that is compatible to the standard loadbalancer in the php-memcache module syn keyword ngxDirectiveThirdParty hash_key diff --git a/syntax/modules/php-session.vim b/syntax/modules/php-session.vim index fd1a05f..14971cb 100644 --- a/syntax/modules/php-session.vim +++ b/syntax/modules/php-session.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " PHP Session Module -" Nginx module to parse php sessions +" Nginx module to parse php sessions syn keyword ngxDirectiveThirdParty php_session_parse syn keyword ngxDirectiveThirdParty php_session_strip_formatting diff --git a/syntax/modules/phusion-passenger.vim b/syntax/modules/phusion-passenger.vim index 7285660..ebda7dc 100644 --- a/syntax/modules/phusion-passenger.vim +++ b/syntax/modules/phusion-passenger.vim @@ -1,23 +1,84 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 -" Phusion Passenger -" Easy and robust deployment of Ruby on Rails application on Apache and Nginx webservers. -syn keyword ngxDirectiveThirdParty passenger_base_uri -syn keyword ngxDirectiveThirdParty passenger_default_user -syn keyword ngxDirectiveThirdParty passenger_enabled -syn keyword ngxDirectiveThirdParty passenger_log_level -syn keyword ngxDirectiveThirdParty passenger_max_instances_per_app -syn keyword ngxDirectiveThirdParty passenger_max_pool_size -syn keyword ngxDirectiveThirdParty passenger_pool_idle_time +" Phusion Passenger Module +" Passenger is an open source web application server. syn keyword ngxDirectiveThirdParty passenger_root +syn keyword ngxDirectiveThirdParty passenger_enabled +syn keyword ngxDirectiveThirdParty passenger_base_uri +syn keyword ngxDirectiveThirdParty passenger_document_root syn keyword ngxDirectiveThirdParty passenger_ruby -syn keyword ngxDirectiveThirdParty passenger_use_global_queue +syn keyword ngxDirectiveThirdParty passenger_python +syn keyword ngxDirectiveThirdParty passenger_nodejs +syn keyword ngxDirectiveThirdParty passenger_meteor_app_settings +syn keyword ngxDirectiveThirdParty passenger_app_env +syn keyword ngxDirectiveThirdParty passenger_app_root +syn keyword ngxDirectiveThirdParty passenger_app_group_name +syn keyword ngxDirectiveThirdParty passenger_app_type +syn keyword ngxDirectiveThirdParty passenger_startup_file +syn keyword ngxDirectiveThirdParty passenger_restart_dir +syn keyword ngxDirectiveThirdParty passenger_spawn_method +syn keyword ngxDirectiveThirdParty passenger_env_var +syn keyword ngxDirectiveThirdParty passenger_load_shell_envvars +syn keyword ngxDirectiveThirdParty passenger_rolling_restarts +syn keyword ngxDirectiveThirdParty passenger_resist_deployment_errors syn keyword ngxDirectiveThirdParty passenger_user_switching -syn keyword ngxDirectiveThirdParty rack_env -syn keyword ngxDirectiveThirdParty rails_app_spawner_idle_time -syn keyword ngxDirectiveThirdParty rails_env -syn keyword ngxDirectiveThirdParty rails_framework_spawner_idle_time -syn keyword ngxDirectiveThirdParty rails_spawn_method +syn keyword ngxDirectiveThirdParty passenger_user +syn keyword ngxDirectiveThirdParty passenger_group +syn keyword ngxDirectiveThirdParty passenger_default_user +syn keyword ngxDirectiveThirdParty passenger_default_group +syn keyword ngxDirectiveThirdParty passenger_show_version_in_header +syn keyword ngxDirectiveThirdParty passenger_friendly_error_pages +syn keyword ngxDirectiveThirdParty passenger_disable_security_update_check +syn keyword ngxDirectiveThirdParty passenger_security_update_check_proxy +syn keyword ngxDirectiveThirdParty passenger_max_pool_size +syn keyword ngxDirectiveThirdParty passenger_min_instances +syn keyword ngxDirectiveThirdParty passenger_max_instances +syn keyword ngxDirectiveThirdParty passenger_max_instances_per_app +syn keyword ngxDirectiveThirdParty passenger_pool_idle_time +syn keyword ngxDirectiveThirdParty passenger_max_preloader_idle_time +syn keyword ngxDirectiveThirdParty passenger_force_max_concurrent_requests_per_process +syn keyword ngxDirectiveThirdParty passenger_start_timeout +syn keyword ngxDirectiveThirdParty passenger_concurrency_model +syn keyword ngxDirectiveThirdParty passenger_thread_count +syn keyword ngxDirectiveThirdParty passenger_max_requests +syn keyword ngxDirectiveThirdParty passenger_max_request_time +syn keyword ngxDirectiveThirdParty passenger_memory_limit +syn keyword ngxDirectiveThirdParty passenger_stat_throttle_rate +syn keyword ngxDirectiveThirdParty passenger_core_file_descriptor_ulimit +syn keyword ngxDirectiveThirdParty passenger_app_file_descriptor_ulimit +syn keyword ngxDirectiveThirdParty passenger_pre_start +syn keyword ngxDirectiveThirdParty passenger_set_header +syn keyword ngxDirectiveThirdParty passenger_max_request_queue_size +syn keyword ngxDirectiveThirdParty passenger_request_queue_overflow_status_code +syn keyword ngxDirectiveThirdParty passenger_sticky_sessions +syn keyword ngxDirectiveThirdParty passenger_sticky_sessions_cookie_name +syn keyword ngxDirectiveThirdParty passenger_abort_websockets_on_process_shutdown +syn keyword ngxDirectiveThirdParty passenger_ignore_client_abort +syn keyword ngxDirectiveThirdParty passenger_intercept_errors +syn keyword ngxDirectiveThirdParty passenger_pass_header +syn keyword ngxDirectiveThirdParty passenger_ignore_headers +syn keyword ngxDirectiveThirdParty passenger_headers_hash_bucket_size +syn keyword ngxDirectiveThirdParty passenger_headers_hash_max_size +syn keyword ngxDirectiveThirdParty passenger_buffer_response +syn keyword ngxDirectiveThirdParty passenger_response_buffer_high_watermark +syn keyword ngxDirectiveThirdParty passenger_buffer_size, passenger_buffers, passenger_busy_buffers_size +syn keyword ngxDirectiveThirdParty passenger_socket_backlog +syn keyword ngxDirectiveThirdParty passenger_log_level +syn keyword ngxDirectiveThirdParty passenger_log_file +syn keyword ngxDirectiveThirdParty passenger_file_descriptor_log_file +syn keyword ngxDirectiveThirdParty passenger_debugger +syn keyword ngxDirectiveThirdParty passenger_instance_registry_dir +syn keyword ngxDirectiveThirdParty passenger_data_buffer_dir +syn keyword ngxDirectiveThirdParty passenger_fly_with +syn keyword ngxDirectiveThirdParty union_station_support +syn keyword ngxDirectiveThirdParty union_station_key +syn keyword ngxDirectiveThirdParty union_station_proxy_address +syn keyword ngxDirectiveThirdParty union_station_filter +syn keyword ngxDirectiveThirdParty union_station_gateway_address +syn keyword ngxDirectiveThirdParty union_station_gateway_port +syn keyword ngxDirectiveThirdParty union_station_gateway_cert +syn keyword ngxDirectiveDeprecated rails_spawn_method +syn keyword ngxDirectiveDeprecated passenger_debug_log_file endif diff --git a/syntax/modules/rdns.vim b/syntax/modules/rdns.vim index b4bab59..36e0326 100644 --- a/syntax/modules/rdns.vim +++ b/syntax/modules/rdns.vim @@ -4,7 +4,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Make a reverse DNS (rDNS) lookup for incoming connection and provides simple access control of incoming hostname by allow/deny rules syn keyword ngxDirectiveThirdParty rdns syn keyword ngxDirectiveThirdParty rdns_allow -syn keyword ngxDirectiveThirdParty rdns_deny +syn keyword ngxDirectiveThirdParty rdns_deny endif diff --git a/syntax/modules/rds-json.vim b/syntax/modules/rds-json.vim index 81854e3..384f6b4 100644 --- a/syntax/modules/rds-json.vim +++ b/syntax/modules/rds-json.vim @@ -1,11 +1,17 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " RDS JSON Module -" Help ngx_drizzle and other DBD modules emit JSON data. +" An output filter that formats Resty DBD Streams generated by ngx_drizzle and others to JSON syn keyword ngxDirectiveThirdParty rds_json -syn keyword ngxDirectiveThirdParty rds_json_content_type +syn keyword ngxDirectiveThirdParty rds_json_buffer_size syn keyword ngxDirectiveThirdParty rds_json_format +syn keyword ngxDirectiveThirdParty rds_json_root +syn keyword ngxDirectiveThirdParty rds_json_success_property +syn keyword ngxDirectiveThirdParty rds_json_user_property +syn keyword ngxDirectiveThirdParty rds_json_errcode_key +syn keyword ngxDirectiveThirdParty rds_json_errstr_key syn keyword ngxDirectiveThirdParty rds_json_ret +syn keyword ngxDirectiveThirdParty rds_json_content_type endif diff --git a/syntax/modules/redis.vim b/syntax/modules/redis.vim new file mode 100644 index 0000000..45a6542 --- /dev/null +++ b/syntax/modules/redis.vim @@ -0,0 +1,15 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 + +" Redis Module +" Use this module to perform simple caching +syn keyword ngxDirectiveThirdParty redis_pass +syn keyword ngxDirectiveThirdParty redis_bind +syn keyword ngxDirectiveThirdParty redis_connect_timeout +syn keyword ngxDirectiveThirdParty redis_read_timeout +syn keyword ngxDirectiveThirdParty redis_send_timeout +syn keyword ngxDirectiveThirdParty redis_buffer_size +syn keyword ngxDirectiveThirdParty redis_next_upstream +syn keyword ngxDirectiveThirdParty redis_gzip_flag + + +endif diff --git a/syntax/modules/replace-filter.vim b/syntax/modules/replace-filter.vim index b41f105..2643f05 100644 --- a/syntax/modules/replace-filter.vim +++ b/syntax/modules/replace-filter.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Replace Filter Module -" Streaming regular expression replacement in response bodies +" Streaming regular expression replacement in response bodies syn keyword ngxDirectiveThirdParty replace_filter syn keyword ngxDirectiveThirdParty replace_filter_types syn keyword ngxDirectiveThirdParty replace_filter_max_buffered_size diff --git a/syntax/modules/rtmp.vim b/syntax/modules/rtmp.vim index 94812d4..84234d7 100644 --- a/syntax/modules/rtmp.vim +++ b/syntax/modules/rtmp.vim @@ -3,10 +3,10 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " RTMP Module " NGINX-based Media Streaming Server syn keyword ngxDirectiveThirdParty rtmp -syn keyword ngxDirectiveThirdParty server -syn keyword ngxDirectiveThirdParty listen +" syn keyword ngxDirectiveThirdParty server +" syn keyword ngxDirectiveThirdParty listen syn keyword ngxDirectiveThirdParty application -syn keyword ngxDirectiveThirdParty timeout +" syn keyword ngxDirectiveThirdParty timeout syn keyword ngxDirectiveThirdParty ping syn keyword ngxDirectiveThirdParty ping_timeout syn keyword ngxDirectiveThirdParty max_streams @@ -16,8 +16,8 @@ syn keyword ngxDirectiveThirdParty max_queue syn keyword ngxDirectiveThirdParty max_message syn keyword ngxDirectiveThirdParty out_queue syn keyword ngxDirectiveThirdParty out_cork -syn keyword ngxDirectiveThirdParty allow -syn keyword ngxDirectiveThirdParty deny +" syn keyword ngxDirectiveThirdParty allow +" syn keyword ngxDirectiveThirdParty deny syn keyword ngxDirectiveThirdParty exec_push syn keyword ngxDirectiveThirdParty exec_pull syn keyword ngxDirectiveThirdParty exec @@ -94,8 +94,8 @@ syn keyword ngxDirectiveThirdParty dash_fragment syn keyword ngxDirectiveThirdParty dash_playlist_length syn keyword ngxDirectiveThirdParty dash_nested syn keyword ngxDirectiveThirdParty dash_cleanup -syn keyword ngxDirectiveThirdParty access_log -syn keyword ngxDirectiveThirdParty log_format +" syn keyword ngxDirectiveThirdParty access_log +" syn keyword ngxDirectiveThirdParty log_format syn keyword ngxDirectiveThirdParty max_connections syn keyword ngxDirectiveThirdParty rtmp_stat syn keyword ngxDirectiveThirdParty rtmp_stat_stylesheet diff --git a/syntax/modules/rtmpt-proxy.vim b/syntax/modules/rtmpt-proxy.vim index 4dd066b..de73b1a 100644 --- a/syntax/modules/rtmpt-proxy.vim +++ b/syntax/modules/rtmpt-proxy.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " RTMPT Module -" Module for nginx to proxy rtmp using http protocol +" Module for nginx to proxy rtmp using http protocol syn keyword ngxDirectiveThirdParty rtmpt_proxy_target syn keyword ngxDirectiveThirdParty rtmpt_proxy_rtmp_timeout syn keyword ngxDirectiveThirdParty rtmpt_proxy_http_timeout @@ -9,4 +9,5 @@ syn keyword ngxDirectiveThirdParty rtmpt_proxy syn keyword ngxDirectiveThirdParty rtmpt_proxy_stat syn keyword ngxDirectiveThirdParty rtmpt_proxy_stylesheet + endif diff --git a/syntax/modules/secure-download.vim b/syntax/modules/secure-download.vim index 6762214..846fdd3 100644 --- a/syntax/modules/secure-download.vim +++ b/syntax/modules/secure-download.vim @@ -1,11 +1,10 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 -" Secure Download -" Create expiring links. +" Secure Download Module +" Enables you to create links which are only valid until a certain datetime is reached syn keyword ngxDirectiveThirdParty secure_download -syn keyword ngxDirectiveThirdParty secure_download_fail_location -syn keyword ngxDirectiveThirdParty secure_download_path_mode syn keyword ngxDirectiveThirdParty secure_download_secret +syn keyword ngxDirectiveThirdParty secure_download_path_mode endif diff --git a/syntax/modules/set-hash.vim b/syntax/modules/set-hash.vim index 0c2d7d7..3939b37 100644 --- a/syntax/modules/set-hash.vim +++ b/syntax/modules/set-hash.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Set Hash Module -" Nginx module that allows the setting of variables to the value of a variety of hashes +" Nginx module that allows the setting of variables to the value of a variety of hashes syn keyword ngxDirectiveThirdParty set_md5 syn keyword ngxDirectiveThirdParty set_md5_upper syn keyword ngxDirectiveThirdParty set_murmur2 diff --git a/syntax/modules/shibboleth.vim b/syntax/modules/shibboleth.vim index 77863eb..2dfd693 100644 --- a/syntax/modules/shibboleth.vim +++ b/syntax/modules/shibboleth.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Shibboleth Module -" Shibboleth auth request module for nginx +" Shibboleth auth request module for nginx syn keyword ngxDirectiveThirdParty shib_request syn keyword ngxDirectiveThirdParty shib_request_set syn keyword ngxDirectiveThirdParty shib_request_use_headers diff --git a/syntax/modules/slice.vim b/syntax/modules/slice.vim index 75a935d..edfa808 100644 --- a/syntax/modules/slice.vim +++ b/syntax/modules/slice.vim @@ -2,7 +2,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Slice Module " Nginx module for serving a file in slices (reverse byte-range) -syn keyword ngxDirectiveThirdParty slice +" syn keyword ngxDirectiveThirdParty slice syn keyword ngxDirectiveThirdParty slice_arg_begin syn keyword ngxDirectiveThirdParty slice_arg_end syn keyword ngxDirectiveThirdParty slice_header diff --git a/syntax/modules/static-etags.vim b/syntax/modules/static-etags.vim index dcaebac..f80b927 100644 --- a/syntax/modules/static-etags.vim +++ b/syntax/modules/static-etags.vim @@ -2,7 +2,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Static Etags Module " Generate etags for static content -syn keyword ngxDirectiveThirdParty FileETag +syn keyword ngxDirectiveThirdParty FileETag endif diff --git a/syntax/modules/sticky.vim b/syntax/modules/sticky.vim index 1bdc538..dc0b887 100644 --- a/syntax/modules/sticky.vim +++ b/syntax/modules/sticky.vim @@ -2,7 +2,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Sticky Module " Add a sticky cookie to be always forwarded to the same upstream server -syn keyword ngxDirectiveThirdParty sticky +" syn keyword ngxDirectiveThirdParty sticky endif diff --git a/syntax/modules/stream-echo.vim b/syntax/modules/stream-echo.vim index 1ca57ad..77f8736 100644 --- a/syntax/modules/stream-echo.vim +++ b/syntax/modules/stream-echo.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Stream Echo Module -" TCP/stream echo module for NGINX (a port of ngx_http_echo_module) +" TCP/stream echo module for NGINX (a port of ngx_http_echo_module) syn keyword ngxDirectiveThirdParty echo syn keyword ngxDirectiveThirdParty echo_duplicate syn keyword ngxDirectiveThirdParty echo_flush_wait diff --git a/syntax/modules/stream-upsync.vim b/syntax/modules/stream-upsync.vim index 2769f87..932cacf 100644 --- a/syntax/modules/stream-upsync.vim +++ b/syntax/modules/stream-upsync.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Stream Upsync Module -" Sync upstreams from consul or others, dynamiclly modify backend-servers attribute(weight, max_fails,...), needn't reload nginx. +" Sync upstreams from consul or others, dynamiclly modify backend-servers attribute(weight, max_fails,...), needn't reload nginx. syn keyword ngxDirectiveThirdParty upsync syn keyword ngxDirectiveThirdParty upsync_dump_path syn keyword ngxDirectiveThirdParty upsync_lb diff --git a/syntax/modules/tarantool-upstream.vim b/syntax/modules/tarantool-upstream.vim index bebcf30..1acd3de 100644 --- a/syntax/modules/tarantool-upstream.vim +++ b/syntax/modules/tarantool-upstream.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Tarantool Upstream Module -" Tarantool NginX upstream module (REST, JSON API, websockets, load balancing) +" Tarantool NginX upstream module (REST, JSON API, websockets, load balancing) syn keyword ngxDirectiveThirdParty tnt_pass syn keyword ngxDirectiveThirdParty tnt_http_methods syn keyword ngxDirectiveThirdParty tnt_http_rest_methods diff --git a/syntax/modules/tcp-proxy.vim b/syntax/modules/tcp-proxy.vim index bfe0362..6f7732d 100644 --- a/syntax/modules/tcp-proxy.vim +++ b/syntax/modules/tcp-proxy.vim @@ -1,20 +1,19 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " TCP Proxy Module -" Add the feature of tcp proxy with nginx, with health check and status monitor -syn keyword ngxDirectiveThirdParty tcp -syn keyword ngxDirectiveThirdParty server -syn keyword ngxDirectiveThirdParty listen -syn keyword ngxDirectiveThirdParty allow -syn keyword ngxDirectiveThirdParty deny -syn keyword ngxDirectiveThirdParty so_keepalive -syn keyword ngxDirectiveThirdParty tcp_nodelay -syn keyword ngxDirectiveThirdParty timeout -syn keyword ngxDirectiveThirdParty server_name -syn keyword ngxDirectiveThirdParty resolver -syn keyword ngxDirectiveThirdParty resolver_timeout -syn keyword ngxDirectiveThirdParty upstream -syn keyword ngxDirectiveThirdParty server +" Add the feature of tcp proxy with nginx, with health check and status monitor +syn keyword ngxDirectiveBlock tcp +" syn keyword ngxDirectiveThirdParty server +" syn keyword ngxDirectiveThirdParty listen +" syn keyword ngxDirectiveThirdParty allow +" syn keyword ngxDirectiveThirdParty deny +" syn keyword ngxDirectiveThirdParty so_keepalive +" syn keyword ngxDirectiveThirdParty tcp_nodelay +" syn keyword ngxDirectiveThirdParty timeout +" syn keyword ngxDirectiveThirdParty server_name +" syn keyword ngxDirectiveThirdParty resolver +" syn keyword ngxDirectiveThirdParty resolver_timeout +" syn keyword ngxDirectiveThirdParty upstream syn keyword ngxDirectiveThirdParty check syn keyword ngxDirectiveThirdParty check_http_send syn keyword ngxDirectiveThirdParty check_http_expect_alive @@ -22,11 +21,11 @@ syn keyword ngxDirectiveThirdParty check_smtp_send syn keyword ngxDirectiveThirdParty check_smtp_expect_alive syn keyword ngxDirectiveThirdParty check_shm_size syn keyword ngxDirectiveThirdParty check_status -syn keyword ngxDirectiveThirdParty ip_hash -syn keyword ngxDirectiveThirdParty proxy_pass -syn keyword ngxDirectiveThirdParty proxy_buffer -syn keyword ngxDirectiveThirdParty proxy_connect_timeout -syn keyword ngxDirectiveThirdParty proxy_read_timeout +" syn keyword ngxDirectiveThirdParty ip_hash +" syn keyword ngxDirectiveThirdParty proxy_pass +" syn keyword ngxDirectiveThirdParty proxy_buffer +" syn keyword ngxDirectiveThirdParty proxy_connect_timeout +" syn keyword ngxDirectiveThirdParty proxy_read_timeout syn keyword ngxDirectiveThirdParty proxy_write_timeout diff --git a/syntax/modules/testcookie.vim b/syntax/modules/testcookie.vim index 7087a3d..8dde9fb 100644 --- a/syntax/modules/testcookie.vim +++ b/syntax/modules/testcookie.vim @@ -13,7 +13,7 @@ syn keyword ngxDirectiveThirdParty testcookie_arg syn keyword ngxDirectiveThirdParty testcookie_max_attempts syn keyword ngxDirectiveThirdParty testcookie_p3p syn keyword ngxDirectiveThirdParty testcookie_fallback -syn keyword ngxDirectiveThirdParty testcookie_whitelist +syn keyword ngxDirectiveThirdParty testcookie_whitelist syn keyword ngxDirectiveThirdParty testcookie_pass syn keyword ngxDirectiveThirdParty testcookie_redirect_via_refresh syn keyword ngxDirectiveThirdParty testcookie_refresh_template diff --git a/syntax/modules/types-filter.vim b/syntax/modules/types-filter.vim index f15e502..554c6fd 100644 --- a/syntax/modules/types-filter.vim +++ b/syntax/modules/types-filter.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Types Filter Module -" Change the `Content-Type` output header depending on an extension variable according to a condition specified in the 'if' clause. +" Change the `Content-Type` output header depending on an extension variable according to a condition specified in the 'if' clause. syn keyword ngxDirectiveThirdParty types_filter syn keyword ngxDirectiveThirdParty types_filter_use_default diff --git a/syntax/modules/upload-progress.vim b/syntax/modules/upload-progress.vim index 218b6d7..a66c463 100644 --- a/syntax/modules/upload-progress.vim +++ b/syntax/modules/upload-progress.vim @@ -1,13 +1,15 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Upload Progress Module -" Tracks and reports upload progress. -syn keyword ngxDirectiveThirdParty report_uploads -syn keyword ngxDirectiveThirdParty track_uploads +" An upload progress system, that monitors RFC1867 POST upload as they are transmitted to upstream servers syn keyword ngxDirectiveThirdParty upload_progress +syn keyword ngxDirectiveThirdParty track_uploads +syn keyword ngxDirectiveThirdParty report_uploads syn keyword ngxDirectiveThirdParty upload_progress_content_type syn keyword ngxDirectiveThirdParty upload_progress_header +syn keyword ngxDirectiveThirdParty upload_progress_jsonp_parameter syn keyword ngxDirectiveThirdParty upload_progress_json_output +syn keyword ngxDirectiveThirdParty upload_progress_jsonp_output syn keyword ngxDirectiveThirdParty upload_progress_template diff --git a/syntax/modules/upload.vim b/syntax/modules/upload.vim index 2699f33..57d2b9b 100644 --- a/syntax/modules/upload.vim +++ b/syntax/modules/upload.vim @@ -1,20 +1,23 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Upload Module -" Parses multipart/form-data allowing arbitrary handling of uploaded files. -syn keyword ngxDirectiveThirdParty upload_aggregate_form_field -syn keyword ngxDirectiveThirdParty upload_buffer_size -syn keyword ngxDirectiveThirdParty upload_cleanup -syn keyword ngxDirectiveThirdParty upload_limit_rate -syn keyword ngxDirectiveThirdParty upload_max_file_size -syn keyword ngxDirectiveThirdParty upload_max_output_body_len -syn keyword ngxDirectiveThirdParty upload_max_part_header_len +" Parses request body storing all files being uploaded to a directory specified by upload_store directive syn keyword ngxDirectiveThirdParty upload_pass -syn keyword ngxDirectiveThirdParty upload_pass_args -syn keyword ngxDirectiveThirdParty upload_pass_form_field -syn keyword ngxDirectiveThirdParty upload_set_form_field +syn keyword ngxDirectiveThirdParty upload_resumable syn keyword ngxDirectiveThirdParty upload_store +syn keyword ngxDirectiveThirdParty upload_state_store syn keyword ngxDirectiveThirdParty upload_store_access +syn keyword ngxDirectiveThirdParty upload_set_form_field +syn keyword ngxDirectiveThirdParty upload_aggregate_form_field +syn keyword ngxDirectiveThirdParty upload_pass_form_field +syn keyword ngxDirectiveThirdParty upload_cleanup +syn keyword ngxDirectiveThirdParty upload_buffer_size +syn keyword ngxDirectiveThirdParty upload_max_part_header_len +syn keyword ngxDirectiveThirdParty upload_max_file_size +syn keyword ngxDirectiveThirdParty upload_limit_rate +syn keyword ngxDirectiveThirdParty upload_max_output_body_len +syn keyword ngxDirectiveThirdParty upload_tame_arrays +syn keyword ngxDirectiveThirdParty upload_pass_args endif diff --git a/syntax/modules/upstream-hash.vim b/syntax/modules/upstream-hash.vim index b86980a..6868160 100644 --- a/syntax/modules/upstream-hash.vim +++ b/syntax/modules/upstream-hash.vim @@ -2,8 +2,8 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Upstream Hash Module (DEPRECATED) " Provides simple upstream load distribution by hashing a configurable variable. -syn keyword ngxDirectiveThirdParty hash -syn keyword ngxDirectiveThirdParty hash_again +" syn keyword ngxDirectiveDeprecated hash +syn keyword ngxDirectiveDeprecated hash_again endif diff --git a/syntax/modules/upstream-jdomain.vim b/syntax/modules/upstream-jdomain.vim index ae7eb03..5546881 100644 --- a/syntax/modules/upstream-jdomain.vim +++ b/syntax/modules/upstream-jdomain.vim @@ -2,7 +2,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Upstream Domain Resolve Module " A load-balancer that resolves an upstream domain name asynchronously. -syn keyword ngxDirectiveThirdParty jdomain +syn keyword ngxDirectiveThirdParty jdomain endif diff --git a/syntax/modules/usptream-ketama-chash.vim b/syntax/modules/usptream-ketama-chash.vim index 57887a7..ea45476 100644 --- a/syntax/modules/usptream-ketama-chash.vim +++ b/syntax/modules/usptream-ketama-chash.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Upstrema Ketama Chash Module -" Nginx load-balancer module implementing ketama consistent hashing. +" Nginx load-balancer module implementing ketama consistent hashing. syn keyword ngxDirectiveThirdParty ketama_chash diff --git a/syntax/modules/vkholodkov-eval.vim b/syntax/modules/vkholodkov-eval.vim index 711416b..b29770b 100644 --- a/syntax/modules/vkholodkov-eval.vim +++ b/syntax/modules/vkholodkov-eval.vim @@ -2,8 +2,8 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " Eval Module " Module for nginx web server evaluates response of proxy or memcached module into variables. -syn keyword ngxDirectiveThirdParty eval -syn keyword ngxDirectiveThirdParty eval_escalate +syn keyword ngxDirectiveThirdParty eval +syn keyword ngxDirectiveThirdParty eval_escalate syn keyword ngxDirectiveThirdParty eval_override_content_type diff --git a/syntax/modules/xss.vim b/syntax/modules/xss.vim index 34d77a9..dab492e 100644 --- a/syntax/modules/xss.vim +++ b/syntax/modules/xss.vim @@ -2,10 +2,11 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1 " XSS Module " Native support for cross-site scripting (XSS) in an nginx. -syn keyword ngxDirectiveThirdParty xss_callback_arg syn keyword ngxDirectiveThirdParty xss_get +syn keyword ngxDirectiveThirdParty xss_callback_arg +syn keyword ngxDirectiveThirdParty xss_override_status +syn keyword ngxDirectiveThirdParty xss_check_status syn keyword ngxDirectiveThirdParty xss_input_types -syn keyword ngxDirectiveThirdParty xss_output_type endif diff --git a/syntax/nginx.vim b/syntax/nginx.vim index 3799245..5039a8c 100644 --- a/syntax/nginx.vim +++ b/syntax/nginx.vim @@ -7,15 +7,18 @@ if exists("b:current_syntax") finish end -" Patch 7.4.1142 -if has("win32") - syn iskeyword @,48-57,_,128-167,224-235,.,/,: +if has("patch-7.4-1142") + if has("win32") + syn iskeyword @,48-57,_,128-167,224-235,.,/,: + else + syn iskeyword @,48-57,_,192-255,.,/,: + endif else - syn iskeyword @,48-57,_,192-255,.,/,: + setlocal iskeyword+=. + setlocal iskeyword+=/ + setlocal iskeyword+=: endif -setlocal commentstring=#\ %s - syn match ngxVariable '\$\(\w\+\|{\w\+}\)' syn match ngxVariableString '\$\(\w\+\|{\w\+}\)' contained syn match ngxComment ' *#.*$' @@ -32,6 +35,7 @@ syn keyword ngxDirectiveBlock http syn keyword ngxDirectiveBlock mail syn keyword ngxDirectiveBlock events syn keyword ngxDirectiveBlock server +syn keyword ngxDirectiveBlock stream syn keyword ngxDirectiveBlock types syn match ngxLocationOperator /\(=\|\~\*\|\^\~\|\~\)/ contained nextgroup=ngxLocationPath,ngxString skipwhite syn match ngxLocationNamedLoc /@\w\+/ @@ -62,7 +66,10 @@ syn keyword ngxDirectiveControl return syn keyword ngxDirectiveControl rewrite nextgroup=ngxRewriteURI skipwhite syn keyword ngxDirectiveControl set -syn keyword ngxRewriteFlag last break redirect permanent +syn keyword ngxRewriteFlag last +syn keyword ngxRewriteFlag break +syn keyword ngxRewriteFlag redirect +syn keyword ngxRewriteFlag permanent syn keyword ngxDirectiveError error_page syn keyword ngxDirectiveError post_action @@ -75,7 +82,16 @@ syn keyword ngxDirectiveDeprecated open_file_cache_retest syn keyword ngxDirectiveDeprecated optimize_server_names syn keyword ngxDirectiveDeprecated satisfy_any syn keyword ngxDirectiveDeprecated so_keepalive +syn keyword ngxDirectiveDeprecated spdy_chunk_size +syn keyword ngxDirectiveDeprecated spdy_headers_comp +syn keyword ngxDirectiveDeprecated spdy_keepalive_timeout +syn keyword ngxDirectiveDeprecated spdy_max_concurrent_streams +syn keyword ngxDirectiveDeprecated spdy_pool_size +syn keyword ngxDirectiveDeprecated spdy_recv_buffer_size +syn keyword ngxDirectiveDeprecated spdy_recv_timeout +syn keyword ngxDirectiveDeprecated spdy_streams_index_size +syn keyword ngxDirective absolute_redirect syn keyword ngxDirective accept_mutex syn keyword ngxDirective accept_mutex_delay syn keyword ngxDirective acceptex_read @@ -85,6 +101,7 @@ syn keyword ngxDirective add_before_body syn keyword ngxDirective add_header syn keyword ngxDirective addition_types syn keyword ngxDirective aio +syn keyword ngxDirective aio_write syn keyword ngxDirective alias syn keyword ngxDirective allow syn keyword ngxDirective ancient_browser @@ -93,13 +110,18 @@ syn keyword ngxDirective auth_basic syn keyword ngxDirective auth_basic_user_file syn keyword ngxDirective auth_http syn keyword ngxDirective auth_http_header +syn keyword ngxDirective auth_http_pass_client_cert syn keyword ngxDirective auth_http_timeout +syn keyword ngxDirective auth_jwt +syn keyword ngxDirective auth_jwt_key_file syn keyword ngxDirective auth_request syn keyword ngxDirective auth_request_set syn keyword ngxDirective autoindex syn keyword ngxDirective autoindex_exact_size +syn keyword ngxDirective autoindex_format syn keyword ngxDirective autoindex_localtime syn keyword ngxDirective charset +syn keyword ngxDirective charset_map syn keyword ngxDirective charset_types syn keyword ngxDirective chunked_transfer_encoding syn keyword ngxDirective client_body_buffer_size @@ -133,6 +155,8 @@ syn keyword ngxDirective error_log syn keyword ngxDirective etag syn keyword ngxDirective eventport_events syn keyword ngxDirective expires +syn keyword ngxDirective f4f +syn keyword ngxDirective f4f_buffer_size syn keyword ngxDirective fastcgi_bind syn keyword ngxDirective fastcgi_buffer_size syn keyword ngxDirective fastcgi_buffering @@ -144,6 +168,7 @@ syn keyword ngxDirective fastcgi_cache_key syn keyword ngxDirective fastcgi_cache_lock syn keyword ngxDirective fastcgi_cache_lock_age syn keyword ngxDirective fastcgi_cache_lock_timeout +syn keyword ngxDirective fastcgi_cache_max_range_offset syn keyword ngxDirective fastcgi_cache_methods syn keyword ngxDirective fastcgi_cache_min_uses syn keyword ngxDirective fastcgi_cache_path @@ -202,7 +227,24 @@ syn keyword ngxDirective gzip_types syn keyword ngxDirective gzip_vary syn keyword ngxDirective gzip_window syn keyword ngxDirective hash +syn keyword ngxDirective health_check +syn keyword ngxDirective health_check_timeout +syn keyword ngxDirective hls +syn keyword ngxDirective hls_buffers +syn keyword ngxDirective hls_forward_args +syn keyword ngxDirective hls_fragment +syn keyword ngxDirective hls_mp4_buffer_size +syn keyword ngxDirective hls_mp4_max_buffer_size syn keyword ngxDirective http2 " Not a real directive +syn keyword ngxDirective http2_chunk_size +syn keyword ngxDirective http2_body_preread_size +syn keyword ngxDirective http2_idle_timeout +syn keyword ngxDirective http2_max_concurrent_streams +syn keyword ngxDirective http2_max_field_size +syn keyword ngxDirective http2_max_header_size +syn keyword ngxDirective http2_max_requests +syn keyword ngxDirective http2_recv_buffer_size +syn keyword ngxDirective http2_recv_timeout syn keyword ngxDirective if_modified_since syn keyword ngxDirective ignore_invalid_headers syn keyword ngxDirective image_filter @@ -211,13 +253,18 @@ syn keyword ngxDirective image_filter_interlace syn keyword ngxDirective image_filter_jpeg_quality syn keyword ngxDirective image_filter_sharpen syn keyword ngxDirective image_filter_transparency +syn keyword ngxDirective image_filter_webp_quality syn keyword ngxDirective imap_auth syn keyword ngxDirective imap_capabilities syn keyword ngxDirective imap_client_buffer syn keyword ngxDirective index syn keyword ngxDirective iocp_threads syn keyword ngxDirective ip_hash -syn keyword ngxDirective js_run +syn keyword ngxDirective js_access +syn keyword ngxDirective js_content +syn keyword ngxDirective js_filter +syn keyword ngxDirective js_include +syn keyword ngxDirective js_preread syn keyword ngxDirective js_set syn keyword ngxDirective keepalive syn keyword ngxDirective keepalive_disable @@ -227,6 +274,7 @@ syn keyword ngxDirective kqueue_changes syn keyword ngxDirective kqueue_events syn keyword ngxDirective large_client_header_buffers syn keyword ngxDirective least_conn +syn keyword ngxDirective least_time syn keyword ngxDirective limit_conn syn keyword ngxDirective limit_conn_log_level syn keyword ngxDirective limit_conn_status @@ -247,11 +295,13 @@ syn keyword ngxDirective log_not_found syn keyword ngxDirective log_subrequest syn keyword ngxDirective map_hash_bucket_size syn keyword ngxDirective map_hash_max_size +syn keyword ngxDirective match syn keyword ngxDirective master_process syn keyword ngxDirective max_ranges syn keyword ngxDirective memcached_bind syn keyword ngxDirective memcached_buffer_size syn keyword ngxDirective memcached_connect_timeout +syn keyword ngxDirective memcached_force_ranges syn keyword ngxDirective memcached_gzip_flag syn keyword ngxDirective memcached_next_upstream syn keyword ngxDirective memcached_next_upstream_timeout @@ -270,6 +320,7 @@ syn keyword ngxDirective mp4_limit_rate_after syn keyword ngxDirective msie_padding syn keyword ngxDirective msie_refresh syn keyword ngxDirective multi_accept +syn keyword ngxDirective ntlm syn keyword ngxDirective open_file_cache syn keyword ngxDirective open_file_cache_errors syn keyword ngxDirective open_file_cache_events @@ -290,6 +341,8 @@ syn keyword ngxDirective port_in_redirect syn keyword ngxDirective post_acceptex syn keyword ngxDirective postpone_gzipping syn keyword ngxDirective postpone_output +syn keyword ngxDirective preread_buffer_size +syn keyword ngxDirective preread_timeout syn keyword ngxDirective protocol nextgroup=ngxMailProtocol skipwhite syn keyword ngxMailProtocol imap pop3 smtp syn keyword ngxDirective proxy @@ -301,18 +354,23 @@ syn keyword ngxDirective proxy_buffers syn keyword ngxDirective proxy_busy_buffers_size syn keyword ngxDirective proxy_cache syn keyword ngxDirective proxy_cache_bypass +syn keyword ngxDirective proxy_cache_convert_head syn keyword ngxDirective proxy_cache_key syn keyword ngxDirective proxy_cache_lock +syn keyword ngxDirective proxy_cache_lock_age syn keyword ngxDirective proxy_cache_lock_timeout +syn keyword ngxDirective proxy_cache_max_range_offset syn keyword ngxDirective proxy_cache_methods syn keyword ngxDirective proxy_cache_min_uses syn keyword ngxDirective proxy_cache_path +syn keyword ngxDirective proxy_cache_purge syn keyword ngxDirective proxy_cache_revalidate syn keyword ngxDirective proxy_cache_use_stale syn keyword ngxDirective proxy_cache_valid syn keyword ngxDirective proxy_connect_timeout syn keyword ngxDirective proxy_cookie_domain syn keyword ngxDirective proxy_cookie_path +syn keyword ngxDirective proxy_download_rate syn keyword ngxDirective proxy_force_ranges syn keyword ngxDirective proxy_headers_hash_bucket_size syn keyword ngxDirective proxy_headers_hash_max_size @@ -321,6 +379,7 @@ syn keyword ngxDirective proxy_http_version syn keyword ngxDirective proxy_ignore_client_abort syn keyword ngxDirective proxy_ignore_headers syn keyword ngxDirective proxy_intercept_errors +syn keyword ngxDirective proxy_limit_rate syn keyword ngxDirective proxy_max_temp_file_size syn keyword ngxDirective proxy_method syn keyword ngxDirective proxy_next_upstream @@ -331,16 +390,23 @@ syn keyword ngxDirective proxy_pass_error_message syn keyword ngxDirective proxy_pass_header syn keyword ngxDirective proxy_pass_request_body syn keyword ngxDirective proxy_pass_request_headers +syn keyword ngxDirective proxy_protocol +syn keyword ngxDirective proxy_protocol_timeout syn keyword ngxDirective proxy_read_timeout syn keyword ngxDirective proxy_redirect +syn keyword ngxDirective proxy_request_buffering +syn keyword ngxDirective proxy_responses syn keyword ngxDirective proxy_send_lowat syn keyword ngxDirective proxy_send_timeout syn keyword ngxDirective proxy_set_body syn keyword ngxDirective proxy_set_header +syn keyword ngxDirective proxy_ssl_certificate +syn keyword ngxDirective proxy_ssl_certificate_key syn keyword ngxDirective proxy_ssl_ciphers syn keyword ngxDirective proxy_ssl_crl syn keyword ngxDirective proxy_ssl_name -syn keyword ngxDirective proxy_ssl_protocols +syn keyword ngxDirective proxy_ssl_password_file +syn keyword ngxDirective proxy_ssl_protocols nextgroup=ngxSSLProtocol skipwhite syn keyword ngxDirective proxy_ssl_server_name syn keyword ngxDirective proxy_ssl_session_reuse syn keyword ngxDirective proxy_ssl_trusted_certificate @@ -351,6 +417,8 @@ syn keyword ngxDirective proxy_store_access syn keyword ngxDirective proxy_temp_file_write_size syn keyword ngxDirective proxy_temp_path syn keyword ngxDirective proxy_timeout +syn keyword ngxDirective proxy_upload_rate +syn keyword ngxDirective queue syn keyword ngxDirective random_index syn keyword ngxDirective read_ahead syn keyword ngxDirective real_ip_header @@ -377,10 +445,13 @@ syn keyword ngxDirective scgi_cache syn keyword ngxDirective scgi_cache_bypass syn keyword ngxDirective scgi_cache_key syn keyword ngxDirective scgi_cache_lock +syn keyword ngxDirective scgi_cache_lock_age syn keyword ngxDirective scgi_cache_lock_timeout +syn keyword ngxDirective scgi_cache_max_range_offset syn keyword ngxDirective scgi_cache_methods syn keyword ngxDirective scgi_cache_min_uses syn keyword ngxDirective scgi_cache_path +syn keyword ngxDirective scgi_cache_purge syn keyword ngxDirective scgi_cache_revalidate syn keyword ngxDirective scgi_cache_use_stale syn keyword ngxDirective scgi_cache_valid @@ -390,6 +461,7 @@ syn keyword ngxDirective scgi_hide_header syn keyword ngxDirective scgi_ignore_client_abort syn keyword ngxDirective scgi_ignore_headers syn keyword ngxDirective scgi_intercept_errors +syn keyword ngxDirective scgi_limit_rate syn keyword ngxDirective scgi_max_temp_file_size syn keyword ngxDirective scgi_next_upstream syn keyword ngxDirective scgi_next_upstream_timeout @@ -400,6 +472,7 @@ syn keyword ngxDirective scgi_pass_header syn keyword ngxDirective scgi_pass_request_body syn keyword ngxDirective scgi_pass_request_headers syn keyword ngxDirective scgi_read_timeout +syn keyword ngxDirective scgi_request_buffering syn keyword ngxDirective scgi_send_timeout syn keyword ngxDirective scgi_store syn keyword ngxDirective scgi_store_access @@ -416,20 +489,16 @@ syn keyword ngxDirective server_name_in_redirect syn keyword ngxDirective server_names_hash_bucket_size syn keyword ngxDirective server_names_hash_max_size syn keyword ngxDirective server_tokens +syn keyword ngxDirective session_log +syn keyword ngxDirective session_log_format +syn keyword ngxDirective session_log_zone syn keyword ngxDirective set_real_ip_from +syn keyword ngxDirective slice syn keyword ngxDirective smtp_auth syn keyword ngxDirective smtp_capabilities syn keyword ngxDirective smtp_client_buffer syn keyword ngxDirective smtp_greeting_delay syn keyword ngxDirective source_charset -syn keyword ngxDirective spdy_chunk_size -syn keyword ngxDirective spdy_headers_comp -syn keyword ngxDirective spdy_keepalive_timeout -syn keyword ngxDirective spdy_max_concurrent_streams -syn keyword ngxDirective spdy_pool_size -syn keyword ngxDirective spdy_recv_buffer_size -syn keyword ngxDirective spdy_recv_timeout -syn keyword ngxDirective spdy_streams_index_size syn keyword ngxDirective ssi syn keyword ngxDirective ssi_ignore_recycled_buffers syn keyword ngxDirective ssi_last_modified @@ -447,9 +516,12 @@ syn keyword ngxDirective ssl_crl syn keyword ngxDirective ssl_dhparam syn keyword ngxDirective ssl_ecdh_curve syn keyword ngxDirective ssl_engine +syn keyword ngxDirective ssl_handshake_timeout syn keyword ngxDirective ssl_password_file syn keyword ngxDirective ssl_prefer_server_ciphers -syn keyword ngxDirective ssl_protocols +syn keyword ngxDirective ssl_preread +syn keyword ngxDirective ssl_protocols nextgroup=ngxSSLProtocol skipwhite +syn keyword ngxSSLProtocol SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2 syn keyword ngxDirective ssl_session_cache syn keyword ngxDirective ssl_session_ticket_key syn keyword ngxDirective ssl_session_tickets @@ -462,6 +534,12 @@ syn keyword ngxDirective ssl_trusted_certificate syn keyword ngxDirective ssl_verify_client syn keyword ngxDirective ssl_verify_depth syn keyword ngxDirective starttls +syn keyword ngxDirective state +syn keyword ngxDirective status +syn keyword ngxDirective status_format +syn keyword ngxDirective status_zone +syn keyword ngxDirective sticky +syn keyword ngxDirective sticky_cookie_insert syn keyword ngxDirective stub_status syn keyword ngxDirective sub_filter syn keyword ngxDirective sub_filter_last_modified @@ -477,6 +555,7 @@ syn keyword ngxDirective types_hash_bucket_size syn keyword ngxDirective types_hash_max_size syn keyword ngxDirective underscores_in_headers syn keyword ngxDirective uninitialized_variable_warn +syn keyword ngxDirective upstream_conf syn keyword ngxDirective use syn keyword ngxDirective user syn keyword ngxDirective userid @@ -501,6 +580,7 @@ syn keyword ngxDirective uwsgi_cache_lock_timeout syn keyword ngxDirective uwsgi_cache_methods syn keyword ngxDirective uwsgi_cache_min_uses syn keyword ngxDirective uwsgi_cache_path +syn keyword ngxDirective uwsgi_cache_purge syn keyword ngxDirective uwsgi_cache_revalidate syn keyword ngxDirective uwsgi_cache_use_stale syn keyword ngxDirective uwsgi_cache_valid @@ -510,6 +590,7 @@ syn keyword ngxDirective uwsgi_hide_header syn keyword ngxDirective uwsgi_ignore_client_abort syn keyword ngxDirective uwsgi_ignore_headers syn keyword ngxDirective uwsgi_intercept_errors +syn keyword ngxDirective uwsgi_limit_rate syn keyword ngxDirective uwsgi_max_temp_file_size syn keyword ngxDirective uwsgi_modifier1 syn keyword ngxDirective uwsgi_modifier2 @@ -531,7 +612,7 @@ syn keyword ngxDirective uwsgi_ssl_ciphers syn keyword ngxDirective uwsgi_ssl_crl syn keyword ngxDirective uwsgi_ssl_name syn keyword ngxDirective uwsgi_ssl_password_file -syn keyword ngxDirective uwsgi_ssl_protocols +syn keyword ngxDirective uwsgi_ssl_protocols nextgroup=ngxSSLProtocol skipwhite syn keyword ngxDirective uwsgi_ssl_server_name syn keyword ngxDirective uwsgi_ssl_session_reuse syn keyword ngxDirective uwsgi_ssl_trusted_certificate @@ -562,21 +643,21 @@ syn keyword ngxDirective xslt_param syn keyword ngxDirective xslt_string_param syn keyword ngxDirective xslt_stylesheet syn keyword ngxDirective xslt_types +syn keyword ngxDirective zone " 3rd party module list: " https://www.nginx.com/resources/wiki/modules/ - " Accept Language Module " Parses the Accept-Language header and gives the most suitable locale from a list of supported locales. syn keyword ngxDirectiveThirdParty set_from_accept_language " Access Key Module (DEPRECATED) " Denies access unless the request URL contains an access key. -syn keyword ngxDirectiveThirdParty accesskey -syn keyword ngxDirectiveThirdParty accesskey_arg -syn keyword ngxDirectiveThirdParty accesskey_hashmethod -syn keyword ngxDirectiveThirdParty accesskey_signature +syn keyword ngxDirectiveDeprecated accesskey +syn keyword ngxDirectiveDeprecated accesskey_arg +syn keyword ngxDirectiveDeprecated accesskey_hashmethod +syn keyword ngxDirectiveDeprecated accesskey_signature " Asynchronous FastCGI Module " Primarily a modified version of the Nginx FastCGI module which implements multiplexing of connections, allowing a single FastCGI server to handle many concurrent requests. @@ -616,8 +697,46 @@ syn keyword ngxDirectiveThirdParty accesskey_signature syn keyword ngxDirectiveThirdParty fastcgi_upstream_fail_timeout syn keyword ngxDirectiveThirdParty fastcgi_upstream_max_fails +" Akamai G2O Module +" Nginx Module for Authenticating Akamai G2O requests +syn keyword ngxDirectiveThirdParty g2o +syn keyword ngxDirectiveThirdParty g2o_nonce +syn keyword ngxDirectiveThirdParty g2o_key + +" Lua Module +" You can be very simple to execute lua code for nginx +syn keyword ngxDirectiveThirdParty lua_file + +" Array Variable Module +" Add support for array-typed variables to nginx config files +syn keyword ngxDirectiveThirdParty array_split +syn keyword ngxDirectiveThirdParty array_join +syn keyword ngxDirectiveThirdParty array_map +syn keyword ngxDirectiveThirdParty array_map_op + +" Nginx Audio Track for HTTP Live Streaming +" This nginx module generates audio track for hls streams on the fly. +syn keyword ngxDirectiveThirdParty ngx_hls_audio_track +syn keyword ngxDirectiveThirdParty ngx_hls_audio_track_rootpath +syn keyword ngxDirectiveThirdParty ngx_hls_audio_track_output_format +syn keyword ngxDirectiveThirdParty ngx_hls_audio_track_output_header + +" AWS Proxy Module +" Nginx module to proxy to authenticated AWS services +syn keyword ngxDirectiveThirdParty aws_access_key +syn keyword ngxDirectiveThirdParty aws_key_scope +syn keyword ngxDirectiveThirdParty aws_signing_key +syn keyword ngxDirectiveThirdParty aws_endpoint +syn keyword ngxDirectiveThirdParty aws_s3_bucket +syn keyword ngxDirectiveThirdParty aws_sign + +" Backtrace module +" A Nginx module to dump backtrace when a worker process exits abnormally +syn keyword ngxDirectiveThirdParty backtrace_log +syn keyword ngxDirectiveThirdParty backtrace_max_stack_size + " Brotli Module -" Nginx module for Brotli compression +" Nginx module for Brotli compression syn keyword ngxDirectiveThirdParty brotli_static syn keyword ngxDirectiveThirdParty brotli syn keyword ngxDirectiveThirdParty brotli_types @@ -627,16 +746,18 @@ syn keyword ngxDirectiveThirdParty brotli_window syn keyword ngxDirectiveThirdParty brotli_min_length " Cache Purge Module -" Module adding ability to purge content from FastCGI and proxy caches. +" Adds ability to purge content from FastCGI, proxy, SCGI and uWSGI caches. syn keyword ngxDirectiveThirdParty fastcgi_cache_purge syn keyword ngxDirectiveThirdParty proxy_cache_purge +" syn keyword ngxDirectiveThirdParty scgi_cache_purge +" syn keyword ngxDirectiveThirdParty uwsgi_cache_purge " Chunkin Module (DEPRECATED) " HTTP 1.1 chunked-encoding request body support for Nginx. -syn keyword ngxDirectiveThirdParty chunkin -syn keyword ngxDirectiveThirdParty chunkin_keepalive -syn keyword ngxDirectiveThirdParty chunkin_max_chunks_per_buf -syn keyword ngxDirectiveThirdParty chunkin_resume +syn keyword ngxDirectiveDeprecated chunkin +syn keyword ngxDirectiveDeprecated chunkin_keepalive +syn keyword ngxDirectiveDeprecated chunkin_max_chunks_per_buf +syn keyword ngxDirectiveDeprecated chunkin_resume " Circle GIF Module " Generates simple circle images with the colors and size specified in the URL. @@ -645,47 +766,117 @@ syn keyword ngxDirectiveThirdParty circle_gif_max_radius syn keyword ngxDirectiveThirdParty circle_gif_min_radius syn keyword ngxDirectiveThirdParty circle_gif_step_radius +" Nginx-Clojure Module +" Parses the Accept-Language header and gives the most suitable locale from a list of supported locales. +syn keyword ngxDirectiveThirdParty jvm_path +syn keyword ngxDirectiveThirdParty jvm_var +syn keyword ngxDirectiveThirdParty jvm_classpath +syn keyword ngxDirectiveThirdParty jvm_classpath_check +syn keyword ngxDirectiveThirdParty jvm_workers +syn keyword ngxDirectiveThirdParty jvm_options +syn keyword ngxDirectiveThirdParty jvm_handler_type +syn keyword ngxDirectiveThirdParty jvm_init_handler_name +syn keyword ngxDirectiveThirdParty jvm_init_handler_code +syn keyword ngxDirectiveThirdParty jvm_exit_handler_name +syn keyword ngxDirectiveThirdParty jvm_exit_handler_code +syn keyword ngxDirectiveThirdParty handlers_lazy_init +syn keyword ngxDirectiveThirdParty auto_upgrade_ws +syn keyword ngxDirectiveThirdParty content_handler_type +syn keyword ngxDirectiveThirdParty content_handler_name +syn keyword ngxDirectiveThirdParty content_handler_code +syn keyword ngxDirectiveThirdParty rewrite_handler_type +syn keyword ngxDirectiveThirdParty rewrite_handler_name +syn keyword ngxDirectiveThirdParty rewrite_handler_code +syn keyword ngxDirectiveThirdParty access_handler_type +syn keyword ngxDirectiveThirdParty access_handler_name +syn keyword ngxDirectiveThirdParty access_handler_code +syn keyword ngxDirectiveThirdParty header_filter_type +syn keyword ngxDirectiveThirdParty header_filter_name +syn keyword ngxDirectiveThirdParty header_filter_code +syn keyword ngxDirectiveThirdParty content_handler_property +syn keyword ngxDirectiveThirdParty rewrite_handler_property +syn keyword ngxDirectiveThirdParty access_handler_property +syn keyword ngxDirectiveThirdParty header_filter_property +syn keyword ngxDirectiveThirdParty always_read_body +syn keyword ngxDirectiveThirdParty shared_map +syn keyword ngxDirectiveThirdParty write_page_size + " Upstream Consistent Hash -" Select backend based on Consistent hash ring. +" A load balancer that uses an internal consistent hash ring to select the right backend node. syn keyword ngxDirectiveThirdParty consistent_hash -" Drizzle Module -" Make nginx talk directly to mysql, drizzle, and sqlite3 by libdrizzle. -syn keyword ngxDirectiveThirdParty drizzle_connect_timeout -syn keyword ngxDirectiveThirdParty drizzle_dbname +" Nginx Development Kit +" The NDK is an Nginx module that is designed to extend the core functionality of the excellent Nginx webserver in a way that can be used as a basis of other Nginx modules. +" NDK_UPSTREAM_LIST +" This submodule provides a directive that creates a list of upstreams, with optional weighting. This list can then be used by other modules to hash over the upstreams however they choose. +syn keyword ngxDirectiveThirdParty upstream_list + +" Drizzle Module +" Upstream module for talking to MySQL and Drizzle directly +syn keyword ngxDirectiveThirdParty drizzle_server syn keyword ngxDirectiveThirdParty drizzle_keepalive -syn keyword ngxDirectiveThirdParty drizzle_module_header -syn keyword ngxDirectiveThirdParty drizzle_pass syn keyword ngxDirectiveThirdParty drizzle_query +syn keyword ngxDirectiveThirdParty drizzle_pass +syn keyword ngxDirectiveThirdParty drizzle_connect_timeout +syn keyword ngxDirectiveThirdParty drizzle_send_query_timeout syn keyword ngxDirectiveThirdParty drizzle_recv_cols_timeout syn keyword ngxDirectiveThirdParty drizzle_recv_rows_timeout -syn keyword ngxDirectiveThirdParty drizzle_send_query_timeout -syn keyword ngxDirectiveThirdParty drizzle_server +syn keyword ngxDirectiveThirdParty drizzle_buffer_size +syn keyword ngxDirectiveThirdParty drizzle_module_header +syn keyword ngxDirectiveThirdParty drizzle_status -" Echo Module -" Brings 'echo', 'sleep', 'time', 'exec' and more shell-style goodies to Nginx config file. +" Dynamic ETags Module +" Attempt at handling ETag / If-None-Match on proxied content. +syn keyword ngxDirectiveThirdParty dynamic_etags + +" Echo Module +" Bringing the power of "echo", "sleep", "time" and more to Nginx's config file syn keyword ngxDirectiveThirdParty echo -syn keyword ngxDirectiveThirdParty echo_after_body -syn keyword ngxDirectiveThirdParty echo_before_body -syn keyword ngxDirectiveThirdParty echo_blocking_sleep syn keyword ngxDirectiveThirdParty echo_duplicate -syn keyword ngxDirectiveThirdParty echo_end -syn keyword ngxDirectiveThirdParty echo_exec syn keyword ngxDirectiveThirdParty echo_flush -syn keyword ngxDirectiveThirdParty echo_foreach_split -syn keyword ngxDirectiveThirdParty echo_location -syn keyword ngxDirectiveThirdParty echo_location_async -syn keyword ngxDirectiveThirdParty echo_read_request_body -syn keyword ngxDirectiveThirdParty echo_request_body -syn keyword ngxDirectiveThirdParty echo_reset_timer syn keyword ngxDirectiveThirdParty echo_sleep -syn keyword ngxDirectiveThirdParty echo_subrequest +syn keyword ngxDirectiveThirdParty echo_blocking_sleep +syn keyword ngxDirectiveThirdParty echo_reset_timer +syn keyword ngxDirectiveThirdParty echo_read_request_body +syn keyword ngxDirectiveThirdParty echo_location_async +syn keyword ngxDirectiveThirdParty echo_location syn keyword ngxDirectiveThirdParty echo_subrequest_async +syn keyword ngxDirectiveThirdParty echo_subrequest +syn keyword ngxDirectiveThirdParty echo_foreach_split +syn keyword ngxDirectiveThirdParty echo_end +syn keyword ngxDirectiveThirdParty echo_request_body +syn keyword ngxDirectiveThirdParty echo_exec +syn keyword ngxDirectiveThirdParty echo_status +syn keyword ngxDirectiveThirdParty echo_before_body +syn keyword ngxDirectiveThirdParty echo_after_body + +" Encrypted Session Module +" Encrypt and decrypt nginx variable values +syn keyword ngxDirectiveThirdParty encrypted_session_key +syn keyword ngxDirectiveThirdParty encrypted_session_iv +syn keyword ngxDirectiveThirdParty encrypted_session_expires +syn keyword ngxDirectiveThirdParty set_encrypt_session +syn keyword ngxDirectiveThirdParty set_decrypt_session + +" Enhanced Memcached Module +" This module is based on the standard Nginx Memcached module, with some additonal features +syn keyword ngxDirectiveThirdParty enhanced_memcached_pass +syn keyword ngxDirectiveThirdParty enhanced_memcached_hash_keys_with_md5 +syn keyword ngxDirectiveThirdParty enhanced_memcached_allow_put +syn keyword ngxDirectiveThirdParty enhanced_memcached_allow_delete +syn keyword ngxDirectiveThirdParty enhanced_memcached_stats +syn keyword ngxDirectiveThirdParty enhanced_memcached_flush +syn keyword ngxDirectiveThirdParty enhanced_memcached_flush_namespace +syn keyword ngxDirectiveThirdParty enhanced_memcached_bind +syn keyword ngxDirectiveThirdParty enhanced_memcached_connect_timeout +syn keyword ngxDirectiveThirdParty enhanced_memcached_send_timeout +syn keyword ngxDirectiveThirdParty enhanced_memcached_buffer_size +syn keyword ngxDirectiveThirdParty enhanced_memcached_read_timeout " Events Module (DEPRECATED) " Provides options for start/stop events. -syn keyword ngxDirectiveThirdParty on_start -syn keyword ngxDirectiveThirdParty on_stop +syn keyword ngxDirectiveDeprecated on_start +syn keyword ngxDirectiveDeprecated on_stop " EY Balancer Module " Adds a request queue to Nginx that allows the limiting of concurrent requests passed to the upstream. @@ -701,16 +892,43 @@ syn keyword ngxDirectiveThirdParty upstream_fair_shm_size " Fancy Indexes Module " Like the built-in autoindex module, but fancier. syn keyword ngxDirectiveThirdParty fancyindex +syn keyword ngxDirectiveThirdParty fancyindex_default_sort +syn keyword ngxDirectiveThirdParty fancyindex_directories_first +syn keyword ngxDirectiveThirdParty fancyindex_css_href syn keyword ngxDirectiveThirdParty fancyindex_exact_size +syn keyword ngxDirectiveThirdParty fancyindex_name_length syn keyword ngxDirectiveThirdParty fancyindex_footer syn keyword ngxDirectiveThirdParty fancyindex_header +syn keyword ngxDirectiveThirdParty fancyindex_show_path +syn keyword ngxDirectiveThirdParty fancyindex_ignore +syn keyword ngxDirectiveThirdParty fancyindex_hide_symlinks syn keyword ngxDirectiveThirdParty fancyindex_localtime -syn keyword ngxDirectiveThirdParty fancyindex_readme -syn keyword ngxDirectiveThirdParty fancyindex_readme_mode +syn keyword ngxDirectiveThirdParty fancyindex_time_format + +" Form Auth Module +" Provides authentication and authorization with credentials submitted via POST request +syn keyword ngxDirectiveThirdParty form_auth +syn keyword ngxDirectiveThirdParty form_auth_pam_service +syn keyword ngxDirectiveThirdParty form_auth_login +syn keyword ngxDirectiveThirdParty form_auth_password +syn keyword ngxDirectiveThirdParty form_auth_remote_user + +" Form Input Module +" Reads HTTP POST and PUT request body encoded in "application/x-www-form-urlencoded" and parses the arguments into nginx variables. +syn keyword ngxDirectiveThirdParty set_form_input +syn keyword ngxDirectiveThirdParty set_form_input_multi " GeoIP Module (DEPRECATED) " Country code lookups via the MaxMind GeoIP API. -syn keyword ngxDirectiveThirdParty geoip_country_file +syn keyword ngxDirectiveDeprecated geoip_country_file + +" GeoIP 2 Module +" Creates variables with values from the maxmind geoip2 databases based on the client IP +syn keyword ngxDirectiveThirdParty geoip2 + +" GridFS Module +" Nginx module for serving files from MongoDB's GridFS +syn keyword ngxDirectiveThirdParty gridfs " Headers More Module " Set and clear input and output headers...more than "add"! @@ -719,11 +937,75 @@ syn keyword ngxDirectiveThirdParty more_clear_input_headers syn keyword ngxDirectiveThirdParty more_set_headers syn keyword ngxDirectiveThirdParty more_set_input_headers +" Health Checks Upstreams Module +" Polls backends and if they respond with HTTP 200 + an optional request body, they are marked good. Otherwise, they are marked bad. +syn keyword ngxDirectiveThirdParty healthcheck_enabled +syn keyword ngxDirectiveThirdParty healthcheck_delay +syn keyword ngxDirectiveThirdParty healthcheck_timeout +syn keyword ngxDirectiveThirdParty healthcheck_failcount +syn keyword ngxDirectiveThirdParty healthcheck_send +syn keyword ngxDirectiveThirdParty healthcheck_expected +syn keyword ngxDirectiveThirdParty healthcheck_buffer +syn keyword ngxDirectiveThirdParty healthcheck_status + +" HTTP Accounting Module +" Add traffic stat function to nginx. Useful for http accounting based on nginx configuration logic +syn keyword ngxDirectiveThirdParty http_accounting +syn keyword ngxDirectiveThirdParty http_accounting_log +syn keyword ngxDirectiveThirdParty http_accounting_id +syn keyword ngxDirectiveThirdParty http_accounting_interval +syn keyword ngxDirectiveThirdParty http_accounting_perturb + +" Nginx Digest Authentication module +" Digest Authentication for Nginx +syn keyword ngxDirectiveThirdParty auth_digest +syn keyword ngxDirectiveThirdParty auth_digest_user_file +syn keyword ngxDirectiveThirdParty auth_digest_timeout +syn keyword ngxDirectiveThirdParty auth_digest_expires +syn keyword ngxDirectiveThirdParty auth_digest_replays +syn keyword ngxDirectiveThirdParty auth_digest_shm_size + " Auth PAM Module " HTTP Basic Authentication using PAM. syn keyword ngxDirectiveThirdParty auth_pam syn keyword ngxDirectiveThirdParty auth_pam_service_name +" HTTP Auth Request Module +" Implements client authorization based on the result of a subrequest +" syn keyword ngxDirectiveThirdParty auth_request +" syn keyword ngxDirectiveThirdParty auth_request_set + +" HTTP Concatenation module for Nginx +" A Nginx module for concatenating files in a given context: CSS and JS files usually +syn keyword ngxDirectiveThirdParty concat +syn keyword ngxDirectiveThirdParty concat_types +syn keyword ngxDirectiveThirdParty concat_unique +syn keyword ngxDirectiveThirdParty concat_max_files +syn keyword ngxDirectiveThirdParty concat_delimiter +syn keyword ngxDirectiveThirdParty concat_ignore_file_error + +" HTTP Dynamic Upstream Module +" Update upstreams' config by restful interface +syn keyword ngxDirectiveThirdParty dyups_interface +syn keyword ngxDirectiveThirdParty dyups_read_msg_timeout +syn keyword ngxDirectiveThirdParty dyups_shm_zone_size +syn keyword ngxDirectiveThirdParty dyups_upstream_conf +syn keyword ngxDirectiveThirdParty dyups_trylock + +" HTTP Footer If Filter Module +" The ngx_http_footer_if_filter_module is used to add given content to the end of the response according to the condition specified. +syn keyword ngxDirectiveThirdParty footer_if + +" HTTP Footer Filter Module +" This module implements a body filter that adds a given string to the page footer. +syn keyword ngxDirectiveThirdParty footer +syn keyword ngxDirectiveThirdParty footer_types + +" HTTP Internal Redirect Module +" Make an internal redirect to the uri specified according to the condition specified. +syn keyword ngxDirectiveThirdParty internal_redirect_if +syn keyword ngxDirectiveThirdParty internal_redirect_if_no_postponed + " HTTP JavaScript Module " Embedding SpiderMonkey. Nearly full port on Perl module. syn keyword ngxDirectiveThirdParty js @@ -737,14 +1019,14 @@ syn keyword ngxDirectiveThirdParty js_utf8 " HTTP Push Module (DEPRECATED) " Turn Nginx into an adept long-polling HTTP Push (Comet) server. -syn keyword ngxDirectiveThirdParty push_buffer_size -syn keyword ngxDirectiveThirdParty push_listener -syn keyword ngxDirectiveThirdParty push_message_timeout -syn keyword ngxDirectiveThirdParty push_queue_messages -syn keyword ngxDirectiveThirdParty push_sender +syn keyword ngxDirectiveDeprecated push_buffer_size +syn keyword ngxDirectiveDeprecated push_listener +syn keyword ngxDirectiveDeprecated push_message_timeout +syn keyword ngxDirectiveDeprecated push_queue_messages +syn keyword ngxDirectiveDeprecated push_sender " HTTP Redis Module -" Redis support.> +" Redis support. syn keyword ngxDirectiveThirdParty redis_bind syn keyword ngxDirectiveThirdParty redis_buffer_size syn keyword ngxDirectiveThirdParty redis_connect_timeout @@ -753,14 +1035,66 @@ syn keyword ngxDirectiveThirdParty redis_pass syn keyword ngxDirectiveThirdParty redis_read_timeout syn keyword ngxDirectiveThirdParty redis_send_timeout +" Iconv Module +" A character conversion nginx module using libiconv +syn keyword ngxDirectiveThirdParty set_iconv +syn keyword ngxDirectiveThirdParty iconv_buffer_size +syn keyword ngxDirectiveThirdParty iconv_filter + +" IP Blocker Module +" An efficient shared memory IP blocking system for nginx. +syn keyword ngxDirectiveThirdParty ip_blocker + +" IP2Location Module +" Allows user to lookup for geolocation information using IP2Location database +syn keyword ngxDirectiveThirdParty ip2location_database + +" JS Module +" Reflect the nginx functionality in JS +syn keyword ngxDirectiveThirdParty js +syn keyword ngxDirectiveThirdParty js_access +syn keyword ngxDirectiveThirdParty js_load +syn keyword ngxDirectiveThirdParty js_set + +" Limit Upload Rate Module +" Limit client-upload rate when they are sending request bodies to you +syn keyword ngxDirectiveThirdParty limit_upload_rate +syn keyword ngxDirectiveThirdParty limit_upload_rate_after + +" Limit Upstream Module +" Limit the number of connections to upstream for NGINX +syn keyword ngxDirectiveThirdParty limit_upstream_zone +syn keyword ngxDirectiveThirdParty limit_upstream_conn +syn keyword ngxDirectiveThirdParty limit_upstream_log_level + +" Log If Module +" Conditional accesslog for nginx +syn keyword ngxDirectiveThirdParty access_log_bypass_if + " Log Request Speed (DEPRECATED) " Log the time it took to process each request. -syn keyword ngxDirectiveThirdParty log_request_speed_filter -syn keyword ngxDirectiveThirdParty log_request_speed_filter_timeout +syn keyword ngxDirectiveDeprecated log_request_speed_filter +syn keyword ngxDirectiveDeprecated log_request_speed_filter_timeout + +" Log ZeroMQ Module +" ZeroMQ logger module for nginx +syn keyword ngxDirectiveThirdParty log_zmq_server +syn keyword ngxDirectiveThirdParty log_zmq_endpoint +syn keyword ngxDirectiveThirdParty log_zmq_format +syn keyword ngxDirectiveThirdParty log_zmq_off + +" Lower/UpperCase Module +" This module simply uppercases or lowercases a string and saves it into a new variable. +syn keyword ngxDirectiveThirdParty lower +syn keyword ngxDirectiveThirdParty upper + +" Lua Upstream Module +" Nginx C module to expose Lua API to ngx_lua for Nginx upstreams " Lua Module -" Embed the Power of Lua into NGINX HTTP servers +" Embed the Power of Lua into NGINX HTTP servers syn keyword ngxDirectiveThirdParty lua_use_default_type +syn keyword ngxDirectiveThirdParty lua_malloc_trim syn keyword ngxDirectiveThirdParty lua_code_cache syn keyword ngxDirectiveThirdParty lua_regex_cache_max_entries syn keyword ngxDirectiveThirdParty lua_regex_match_limit @@ -798,6 +1132,10 @@ syn keyword ngxDirectiveThirdParty balancer_by_lua_file syn keyword ngxDirectiveThirdParty lua_need_request_body syn keyword ngxDirectiveThirdParty ssl_certificate_by_lua_block syn keyword ngxDirectiveThirdParty ssl_certificate_by_lua_file +syn keyword ngxDirectiveThirdParty ssl_session_fetch_by_lua_block +syn keyword ngxDirectiveThirdParty ssl_session_fetch_by_lua_file +syn keyword ngxDirectiveThirdParty ssl_session_store_by_lua_block +syn keyword ngxDirectiveThirdParty ssl_session_store_by_lua_file syn keyword ngxDirectiveThirdParty lua_shared_dict syn keyword ngxDirectiveThirdParty lua_socket_connect_timeout syn keyword ngxDirectiveThirdParty lua_socket_send_timeout @@ -820,6 +1158,10 @@ syn keyword ngxDirectiveThirdParty lua_check_client_abort syn keyword ngxDirectiveThirdParty lua_max_pending_timers syn keyword ngxDirectiveThirdParty lua_max_running_timers +" MD5 Filter Module +" A content filter for nginx, which returns the md5 hash of the content otherwise returned. +syn keyword ngxDirectiveThirdParty md5_filter + " Memc Module " An extended version of the standard memcached module that supports set, add, delete, and many more memcached commands. syn keyword ngxDirectiveThirdParty memc_buffer_size @@ -833,63 +1175,594 @@ syn keyword ngxDirectiveThirdParty memc_send_timeout syn keyword ngxDirectiveThirdParty memc_upstream_fail_timeout syn keyword ngxDirectiveThirdParty memc_upstream_max_fails +" Mod Security Module +" ModSecurity is an open source, cross platform web application firewall (WAF) engine +syn keyword ngxDirectiveThirdParty ModSecurityConfig +syn keyword ngxDirectiveThirdParty ModSecurityEnabled +syn keyword ngxDirectiveThirdParty pool_context +syn keyword ngxDirectiveThirdParty pool_context_hash_size + " Mogilefs Module -" Implements a MogileFS client, provides a replace to the Perlbal reverse proxy of the original MogileFS. -syn keyword ngxDirectiveThirdParty mogilefs_connect_timeout -syn keyword ngxDirectiveThirdParty mogilefs_domain -syn keyword ngxDirectiveThirdParty mogilefs_methods -syn keyword ngxDirectiveThirdParty mogilefs_noverify +" MogileFS client for nginx web server. syn keyword ngxDirectiveThirdParty mogilefs_pass -syn keyword ngxDirectiveThirdParty mogilefs_read_timeout -syn keyword ngxDirectiveThirdParty mogilefs_send_timeout +syn keyword ngxDirectiveThirdParty mogilefs_methods +syn keyword ngxDirectiveThirdParty mogilefs_domain +syn keyword ngxDirectiveThirdParty mogilefs_class syn keyword ngxDirectiveThirdParty mogilefs_tracker +syn keyword ngxDirectiveThirdParty mogilefs_noverify +syn keyword ngxDirectiveThirdParty mogilefs_connect_timeout +syn keyword ngxDirectiveThirdParty mogilefs_send_timeout +syn keyword ngxDirectiveThirdParty mogilefs_read_timeout + +" Mongo Module +" Upstream module that allows nginx to communicate directly with MongoDB database. +syn keyword ngxDirectiveThirdParty mongo_auth +syn keyword ngxDirectiveThirdParty mongo_pass +syn keyword ngxDirectiveThirdParty mongo_query +syn keyword ngxDirectiveThirdParty mongo_json +syn keyword ngxDirectiveThirdParty mongo_bind +syn keyword ngxDirectiveThirdParty mongo_connect_timeout +syn keyword ngxDirectiveThirdParty mongo_send_timeout +syn keyword ngxDirectiveThirdParty mongo_read_timeout +syn keyword ngxDirectiveThirdParty mongo_buffering +syn keyword ngxDirectiveThirdParty mongo_buffer_size +syn keyword ngxDirectiveThirdParty mongo_buffers +syn keyword ngxDirectiveThirdParty mongo_busy_buffers_size +syn keyword ngxDirectiveThirdParty mongo_next_upstream " MP4 Streaming Lite Module " Will seek to a certain time within H.264/MP4 files when provided with a 'start' parameter in the URL. -syn keyword ngxDirectiveThirdParty mp4 +" syn keyword ngxDirectiveThirdParty mp4 + +" NAXSI Module +" NAXSI is an open-source, high performance, low rules maintenance WAF for NGINX +syn keyword ngxDirectiveThirdParty DeniedUrl denied_url +syn keyword ngxDirectiveThirdParty LearningMode learning_mode +syn keyword ngxDirectiveThirdParty SecRulesEnabled rules_enabled +syn keyword ngxDirectiveThirdParty SecRulesDisabled rules_disabled +syn keyword ngxDirectiveThirdParty CheckRule check_rule +syn keyword ngxDirectiveThirdParty BasicRule basic_rule +syn keyword ngxDirectiveThirdParty MainRule main_rule +syn keyword ngxDirectiveThirdParty LibInjectionSql libinjection_sql +syn keyword ngxDirectiveThirdParty LibInjectionXss libinjection_xss + +" Nchan Module +" Fast, horizontally scalable, multiprocess pub/sub queuing server and proxy for HTTP, long-polling, Websockets and EventSource (SSE) +syn keyword ngxDirectiveThirdParty nchan_channel_id +syn keyword ngxDirectiveThirdParty nchan_channel_id_split_delimiter +syn keyword ngxDirectiveThirdParty nchan_eventsource_event +syn keyword ngxDirectiveThirdParty nchan_longpoll_multipart_response +syn keyword ngxDirectiveThirdParty nchan_publisher +syn keyword ngxDirectiveThirdParty nchan_publisher_channel_id +syn keyword ngxDirectiveThirdParty nchan_publisher_upstream_request +syn keyword ngxDirectiveThirdParty nchan_pubsub +syn keyword ngxDirectiveThirdParty nchan_subscribe_request +syn keyword ngxDirectiveThirdParty nchan_subscriber +syn keyword ngxDirectiveThirdParty nchan_subscriber_channel_id +syn keyword ngxDirectiveThirdParty nchan_subscriber_compound_etag_message_id +syn keyword ngxDirectiveThirdParty nchan_subscriber_first_message +syn keyword ngxDirectiveThirdParty nchan_subscriber_http_raw_stream_separator +syn keyword ngxDirectiveThirdParty nchan_subscriber_last_message_id +syn keyword ngxDirectiveThirdParty nchan_subscriber_message_id_custom_etag_header +syn keyword ngxDirectiveThirdParty nchan_subscriber_timeout +syn keyword ngxDirectiveThirdParty nchan_unsubscribe_request +syn keyword ngxDirectiveThirdParty nchan_websocket_ping_interval +syn keyword ngxDirectiveThirdParty nchan_authorize_request +syn keyword ngxDirectiveThirdParty nchan_max_reserved_memory +syn keyword ngxDirectiveThirdParty nchan_message_buffer_length +syn keyword ngxDirectiveThirdParty nchan_message_timeout +syn keyword ngxDirectiveThirdParty nchan_redis_idle_channel_cache_timeout +syn keyword ngxDirectiveThirdParty nchan_redis_namespace +syn keyword ngxDirectiveThirdParty nchan_redis_pass +syn keyword ngxDirectiveThirdParty nchan_redis_ping_interval +syn keyword ngxDirectiveThirdParty nchan_redis_server +syn keyword ngxDirectiveThirdParty nchan_redis_storage_mode +syn keyword ngxDirectiveThirdParty nchan_redis_url +syn keyword ngxDirectiveThirdParty nchan_store_messages +syn keyword ngxDirectiveThirdParty nchan_use_redis +syn keyword ngxDirectiveThirdParty nchan_access_control_allow_origin +syn keyword ngxDirectiveThirdParty nchan_channel_group +syn keyword ngxDirectiveThirdParty nchan_channel_group_accounting +syn keyword ngxDirectiveThirdParty nchan_group_location +syn keyword ngxDirectiveThirdParty nchan_group_max_channels +syn keyword ngxDirectiveThirdParty nchan_group_max_messages +syn keyword ngxDirectiveThirdParty nchan_group_max_messages_disk +syn keyword ngxDirectiveThirdParty nchan_group_max_messages_memory +syn keyword ngxDirectiveThirdParty nchan_group_max_subscribers +syn keyword ngxDirectiveThirdParty nchan_subscribe_existing_channels_only +syn keyword ngxDirectiveThirdParty nchan_channel_event_string +syn keyword ngxDirectiveThirdParty nchan_channel_events_channel_id +syn keyword ngxDirectiveThirdParty nchan_stub_status +syn keyword ngxDirectiveThirdParty nchan_max_channel_id_length +syn keyword ngxDirectiveThirdParty nchan_max_channel_subscribers +syn keyword ngxDirectiveThirdParty nchan_channel_timeout +syn keyword ngxDirectiveThirdParty nchan_storage_engine " Nginx Notice Module " Serve static file to POST requests. syn keyword ngxDirectiveThirdParty notice syn keyword ngxDirectiveThirdParty notice_type -" Phusion Passenger -" Easy and robust deployment of Ruby on Rails application on Apache and Nginx webservers. -syn keyword ngxDirectiveThirdParty passenger_base_uri -syn keyword ngxDirectiveThirdParty passenger_default_user -syn keyword ngxDirectiveThirdParty passenger_enabled -syn keyword ngxDirectiveThirdParty passenger_log_level -syn keyword ngxDirectiveThirdParty passenger_max_instances_per_app -syn keyword ngxDirectiveThirdParty passenger_max_pool_size -syn keyword ngxDirectiveThirdParty passenger_pool_idle_time +" OCSP Proxy Module +" Nginx OCSP processing module designed for response caching +syn keyword ngxDirectiveThirdParty ocsp_proxy +syn keyword ngxDirectiveThirdParty ocsp_cache_timeout + +" Eval Module +" Module for nginx web server evaluates response of proxy or memcached module into variables. +syn keyword ngxDirectiveThirdParty eval +syn keyword ngxDirectiveThirdParty eval_escalate +syn keyword ngxDirectiveThirdParty eval_buffer_size +syn keyword ngxDirectiveThirdParty eval_override_content_type +syn keyword ngxDirectiveThirdParty eval_subrequest_in_memory + +" OpenSSL Version Module +" Nginx OpenSSL version check at startup +syn keyword ngxDirectiveThirdParty openssl_version_minimum +syn keyword ngxDirectiveThirdParty openssl_builddate_minimum + +" Owner Match Module +" Control access for specific owners and groups of files +syn keyword ngxDirectiveThirdParty omallow +syn keyword ngxDirectiveThirdParty omdeny + +" Accept Language Module +" Parses the Accept-Language header and gives the most suitable locale from a list of supported locales. +syn keyword ngxDirectiveThirdParty pagespeed + +" PHP Memcache Standard Balancer Module +" Loadbalancer that is compatible to the standard loadbalancer in the php-memcache module +syn keyword ngxDirectiveThirdParty hash_key + +" PHP Session Module +" Nginx module to parse php sessions +syn keyword ngxDirectiveThirdParty php_session_parse +syn keyword ngxDirectiveThirdParty php_session_strip_formatting + +" Phusion Passenger Module +" Passenger is an open source web application server. syn keyword ngxDirectiveThirdParty passenger_root +syn keyword ngxDirectiveThirdParty passenger_enabled +syn keyword ngxDirectiveThirdParty passenger_base_uri +syn keyword ngxDirectiveThirdParty passenger_document_root syn keyword ngxDirectiveThirdParty passenger_ruby -syn keyword ngxDirectiveThirdParty passenger_use_global_queue +syn keyword ngxDirectiveThirdParty passenger_python +syn keyword ngxDirectiveThirdParty passenger_nodejs +syn keyword ngxDirectiveThirdParty passenger_meteor_app_settings +syn keyword ngxDirectiveThirdParty passenger_app_env +syn keyword ngxDirectiveThirdParty passenger_app_root +syn keyword ngxDirectiveThirdParty passenger_app_group_name +syn keyword ngxDirectiveThirdParty passenger_app_type +syn keyword ngxDirectiveThirdParty passenger_startup_file +syn keyword ngxDirectiveThirdParty passenger_restart_dir +syn keyword ngxDirectiveThirdParty passenger_spawn_method +syn keyword ngxDirectiveThirdParty passenger_env_var +syn keyword ngxDirectiveThirdParty passenger_load_shell_envvars +syn keyword ngxDirectiveThirdParty passenger_rolling_restarts +syn keyword ngxDirectiveThirdParty passenger_resist_deployment_errors syn keyword ngxDirectiveThirdParty passenger_user_switching -syn keyword ngxDirectiveThirdParty rack_env -syn keyword ngxDirectiveThirdParty rails_app_spawner_idle_time -syn keyword ngxDirectiveThirdParty rails_env -syn keyword ngxDirectiveThirdParty rails_framework_spawner_idle_time -syn keyword ngxDirectiveThirdParty rails_spawn_method +syn keyword ngxDirectiveThirdParty passenger_user +syn keyword ngxDirectiveThirdParty passenger_group +syn keyword ngxDirectiveThirdParty passenger_default_user +syn keyword ngxDirectiveThirdParty passenger_default_group +syn keyword ngxDirectiveThirdParty passenger_show_version_in_header +syn keyword ngxDirectiveThirdParty passenger_friendly_error_pages +syn keyword ngxDirectiveThirdParty passenger_disable_security_update_check +syn keyword ngxDirectiveThirdParty passenger_security_update_check_proxy +syn keyword ngxDirectiveThirdParty passenger_max_pool_size +syn keyword ngxDirectiveThirdParty passenger_min_instances +syn keyword ngxDirectiveThirdParty passenger_max_instances +syn keyword ngxDirectiveThirdParty passenger_max_instances_per_app +syn keyword ngxDirectiveThirdParty passenger_pool_idle_time +syn keyword ngxDirectiveThirdParty passenger_max_preloader_idle_time +syn keyword ngxDirectiveThirdParty passenger_force_max_concurrent_requests_per_process +syn keyword ngxDirectiveThirdParty passenger_start_timeout +syn keyword ngxDirectiveThirdParty passenger_concurrency_model +syn keyword ngxDirectiveThirdParty passenger_thread_count +syn keyword ngxDirectiveThirdParty passenger_max_requests +syn keyword ngxDirectiveThirdParty passenger_max_request_time +syn keyword ngxDirectiveThirdParty passenger_memory_limit +syn keyword ngxDirectiveThirdParty passenger_stat_throttle_rate +syn keyword ngxDirectiveThirdParty passenger_core_file_descriptor_ulimit +syn keyword ngxDirectiveThirdParty passenger_app_file_descriptor_ulimit +syn keyword ngxDirectiveThirdParty passenger_pre_start +syn keyword ngxDirectiveThirdParty passenger_set_header +syn keyword ngxDirectiveThirdParty passenger_max_request_queue_size +syn keyword ngxDirectiveThirdParty passenger_request_queue_overflow_status_code +syn keyword ngxDirectiveThirdParty passenger_sticky_sessions +syn keyword ngxDirectiveThirdParty passenger_sticky_sessions_cookie_name +syn keyword ngxDirectiveThirdParty passenger_abort_websockets_on_process_shutdown +syn keyword ngxDirectiveThirdParty passenger_ignore_client_abort +syn keyword ngxDirectiveThirdParty passenger_intercept_errors +syn keyword ngxDirectiveThirdParty passenger_pass_header +syn keyword ngxDirectiveThirdParty passenger_ignore_headers +syn keyword ngxDirectiveThirdParty passenger_headers_hash_bucket_size +syn keyword ngxDirectiveThirdParty passenger_headers_hash_max_size +syn keyword ngxDirectiveThirdParty passenger_buffer_response +syn keyword ngxDirectiveThirdParty passenger_response_buffer_high_watermark +syn keyword ngxDirectiveThirdParty passenger_buffer_size, passenger_buffers, passenger_busy_buffers_size +syn keyword ngxDirectiveThirdParty passenger_socket_backlog +syn keyword ngxDirectiveThirdParty passenger_log_level +syn keyword ngxDirectiveThirdParty passenger_log_file +syn keyword ngxDirectiveThirdParty passenger_file_descriptor_log_file +syn keyword ngxDirectiveThirdParty passenger_debugger +syn keyword ngxDirectiveThirdParty passenger_instance_registry_dir +syn keyword ngxDirectiveThirdParty passenger_data_buffer_dir +syn keyword ngxDirectiveThirdParty passenger_fly_with +syn keyword ngxDirectiveThirdParty union_station_support +syn keyword ngxDirectiveThirdParty union_station_key +syn keyword ngxDirectiveThirdParty union_station_proxy_address +syn keyword ngxDirectiveThirdParty union_station_filter +syn keyword ngxDirectiveThirdParty union_station_gateway_address +syn keyword ngxDirectiveThirdParty union_station_gateway_port +syn keyword ngxDirectiveThirdParty union_station_gateway_cert +syn keyword ngxDirectiveDeprecated rails_spawn_method +syn keyword ngxDirectiveDeprecated passenger_debug_log_file + +" Postgres Module +" Upstream module that allows nginx to communicate directly with PostgreSQL database. +syn keyword ngxDirectiveThirdParty postgres_server +syn keyword ngxDirectiveThirdParty postgres_keepalive +syn keyword ngxDirectiveThirdParty postgres_pass +syn keyword ngxDirectiveThirdParty postgres_query +syn keyword ngxDirectiveThirdParty postgres_rewrite +syn keyword ngxDirectiveThirdParty postgres_output +syn keyword ngxDirectiveThirdParty postgres_set +syn keyword ngxDirectiveThirdParty postgres_escape +syn keyword ngxDirectiveThirdParty postgres_connect_timeout +syn keyword ngxDirectiveThirdParty postgres_result_timeout + +" Pubcookie Module +" Authorizes users using encrypted cookies +syn keyword ngxDirectiveThirdParty pubcookie_inactive_expire +syn keyword ngxDirectiveThirdParty pubcookie_hard_expire +syn keyword ngxDirectiveThirdParty pubcookie_app_id +syn keyword ngxDirectiveThirdParty pubcookie_dir_depth +syn keyword ngxDirectiveThirdParty pubcookie_catenate_app_ids +syn keyword ngxDirectiveThirdParty pubcookie_app_srv_id +syn keyword ngxDirectiveThirdParty pubcookie_login +syn keyword ngxDirectiveThirdParty pubcookie_login_method +syn keyword ngxDirectiveThirdParty pubcookie_post +syn keyword ngxDirectiveThirdParty pubcookie_domain +syn keyword ngxDirectiveThirdParty pubcookie_granting_cert_file +syn keyword ngxDirectiveThirdParty pubcookie_session_key_file +syn keyword ngxDirectiveThirdParty pubcookie_session_cert_file +syn keyword ngxDirectiveThirdParty pubcookie_crypt_key_file +syn keyword ngxDirectiveThirdParty pubcookie_end_session +syn keyword ngxDirectiveThirdParty pubcookie_encryption +syn keyword ngxDirectiveThirdParty pubcookie_session_reauth +syn keyword ngxDirectiveThirdParty pubcookie_auth_type_names +syn keyword ngxDirectiveThirdParty pubcookie_no_prompt +syn keyword ngxDirectiveThirdParty pubcookie_on_demand +syn keyword ngxDirectiveThirdParty pubcookie_addl_request +syn keyword ngxDirectiveThirdParty pubcookie_no_obscure_cookies +syn keyword ngxDirectiveThirdParty pubcookie_no_clean_creds +syn keyword ngxDirectiveThirdParty pubcookie_egd_device +syn keyword ngxDirectiveThirdParty pubcookie_no_blank +syn keyword ngxDirectiveThirdParty pubcookie_super_debug +syn keyword ngxDirectiveThirdParty pubcookie_set_remote_user + +" Push Stream Module +" A pure stream http push technology for your Nginx setup +syn keyword ngxDirectiveThirdParty push_stream_channels_statistics +syn keyword ngxDirectiveThirdParty push_stream_publisher +syn keyword ngxDirectiveThirdParty push_stream_subscriber +syn keyword ngxDirectiveThirdParty push_stream_shared_memory_size +syn keyword ngxDirectiveThirdParty push_stream_channel_deleted_message_text +syn keyword ngxDirectiveThirdParty push_stream_channel_inactivity_time +syn keyword ngxDirectiveThirdParty push_stream_ping_message_text +syn keyword ngxDirectiveThirdParty push_stream_timeout_with_body +syn keyword ngxDirectiveThirdParty push_stream_message_ttl +syn keyword ngxDirectiveThirdParty push_stream_max_subscribers_per_channel +syn keyword ngxDirectiveThirdParty push_stream_max_messages_stored_per_channel +syn keyword ngxDirectiveThirdParty push_stream_max_channel_id_length +syn keyword ngxDirectiveThirdParty push_stream_max_number_of_channels +syn keyword ngxDirectiveThirdParty push_stream_max_number_of_wildcard_channels +syn keyword ngxDirectiveThirdParty push_stream_wildcard_channel_prefix +syn keyword ngxDirectiveThirdParty push_stream_events_channel_id +syn keyword ngxDirectiveThirdParty push_stream_channels_path +syn keyword ngxDirectiveThirdParty push_stream_store_messages +syn keyword ngxDirectiveThirdParty push_stream_channel_info_on_publish +syn keyword ngxDirectiveThirdParty push_stream_authorized_channels_only +syn keyword ngxDirectiveThirdParty push_stream_header_template_file +syn keyword ngxDirectiveThirdParty push_stream_header_template +syn keyword ngxDirectiveThirdParty push_stream_message_template +syn keyword ngxDirectiveThirdParty push_stream_footer_template +syn keyword ngxDirectiveThirdParty push_stream_wildcard_channel_max_qtd +syn keyword ngxDirectiveThirdParty push_stream_ping_message_interval +syn keyword ngxDirectiveThirdParty push_stream_subscriber_connection_ttl +syn keyword ngxDirectiveThirdParty push_stream_longpolling_connection_ttl +syn keyword ngxDirectiveThirdParty push_stream_websocket_allow_publish +syn keyword ngxDirectiveThirdParty push_stream_last_received_message_time +syn keyword ngxDirectiveThirdParty push_stream_last_received_message_tag +syn keyword ngxDirectiveThirdParty push_stream_last_event_id +syn keyword ngxDirectiveThirdParty push_stream_user_agent +syn keyword ngxDirectiveThirdParty push_stream_padding_by_user_agent +syn keyword ngxDirectiveThirdParty push_stream_allowed_origins +syn keyword ngxDirectiveThirdParty push_stream_allow_connections_to_events_channel + +" rDNS Module +" Make a reverse DNS (rDNS) lookup for incoming connection and provides simple access control of incoming hostname by allow/deny rules +syn keyword ngxDirectiveThirdParty rdns +syn keyword ngxDirectiveThirdParty rdns_allow +syn keyword ngxDirectiveThirdParty rdns_deny + +" RDS CSV Module +" Nginx output filter module to convert Resty-DBD-Streams (RDS) to Comma-Separated Values (CSV) +syn keyword ngxDirectiveThirdParty rds_csv +syn keyword ngxDirectiveThirdParty rds_csv_row_terminator +syn keyword ngxDirectiveThirdParty rds_csv_field_separator +syn keyword ngxDirectiveThirdParty rds_csv_field_name_header +syn keyword ngxDirectiveThirdParty rds_csv_content_type +syn keyword ngxDirectiveThirdParty rds_csv_buffer_size " RDS JSON Module -" Help ngx_drizzle and other DBD modules emit JSON data. +" An output filter that formats Resty DBD Streams generated by ngx_drizzle and others to JSON syn keyword ngxDirectiveThirdParty rds_json -syn keyword ngxDirectiveThirdParty rds_json_content_type +syn keyword ngxDirectiveThirdParty rds_json_buffer_size syn keyword ngxDirectiveThirdParty rds_json_format +syn keyword ngxDirectiveThirdParty rds_json_root +syn keyword ngxDirectiveThirdParty rds_json_success_property +syn keyword ngxDirectiveThirdParty rds_json_user_property +syn keyword ngxDirectiveThirdParty rds_json_errcode_key +syn keyword ngxDirectiveThirdParty rds_json_errstr_key syn keyword ngxDirectiveThirdParty rds_json_ret +syn keyword ngxDirectiveThirdParty rds_json_content_type + +" Redis Module +" Use this module to perform simple caching +syn keyword ngxDirectiveThirdParty redis_pass +syn keyword ngxDirectiveThirdParty redis_bind +syn keyword ngxDirectiveThirdParty redis_connect_timeout +syn keyword ngxDirectiveThirdParty redis_read_timeout +syn keyword ngxDirectiveThirdParty redis_send_timeout +syn keyword ngxDirectiveThirdParty redis_buffer_size +syn keyword ngxDirectiveThirdParty redis_next_upstream +syn keyword ngxDirectiveThirdParty redis_gzip_flag + +" Redis 2 Module +" Nginx upstream module for the Redis 2.0 protocol +syn keyword ngxDirectiveThirdParty redis2_query +syn keyword ngxDirectiveThirdParty redis2_raw_query +syn keyword ngxDirectiveThirdParty redis2_raw_queries +syn keyword ngxDirectiveThirdParty redis2_literal_raw_query +syn keyword ngxDirectiveThirdParty redis2_pass +syn keyword ngxDirectiveThirdParty redis2_connect_timeout +syn keyword ngxDirectiveThirdParty redis2_send_timeout +syn keyword ngxDirectiveThirdParty redis2_read_timeout +syn keyword ngxDirectiveThirdParty redis2_buffer_size +syn keyword ngxDirectiveThirdParty redis2_next_upstream + +" Replace Filter Module +" Streaming regular expression replacement in response bodies +syn keyword ngxDirectiveThirdParty replace_filter +syn keyword ngxDirectiveThirdParty replace_filter_types +syn keyword ngxDirectiveThirdParty replace_filter_max_buffered_size +syn keyword ngxDirectiveThirdParty replace_filter_last_modified +syn keyword ngxDirectiveThirdParty replace_filter_skip + +" Roboo Module +" HTTP Robot Mitigator " RRD Graph Module " This module provides an HTTP interface to RRDtool's graphing facilities. syn keyword ngxDirectiveThirdParty rrd_graph syn keyword ngxDirectiveThirdParty rrd_graph_root -" Secure Download -" Create expiring links. +" RTMP Module +" NGINX-based Media Streaming Server +syn keyword ngxDirectiveThirdParty rtmp +" syn keyword ngxDirectiveThirdParty server +" syn keyword ngxDirectiveThirdParty listen +syn keyword ngxDirectiveThirdParty application +" syn keyword ngxDirectiveThirdParty timeout +syn keyword ngxDirectiveThirdParty ping +syn keyword ngxDirectiveThirdParty ping_timeout +syn keyword ngxDirectiveThirdParty max_streams +syn keyword ngxDirectiveThirdParty ack_window +syn keyword ngxDirectiveThirdParty chunk_size +syn keyword ngxDirectiveThirdParty max_queue +syn keyword ngxDirectiveThirdParty max_message +syn keyword ngxDirectiveThirdParty out_queue +syn keyword ngxDirectiveThirdParty out_cork +" syn keyword ngxDirectiveThirdParty allow +" syn keyword ngxDirectiveThirdParty deny +syn keyword ngxDirectiveThirdParty exec_push +syn keyword ngxDirectiveThirdParty exec_pull +syn keyword ngxDirectiveThirdParty exec +syn keyword ngxDirectiveThirdParty exec_options +syn keyword ngxDirectiveThirdParty exec_static +syn keyword ngxDirectiveThirdParty exec_kill_signal +syn keyword ngxDirectiveThirdParty respawn +syn keyword ngxDirectiveThirdParty respawn_timeout +syn keyword ngxDirectiveThirdParty exec_publish +syn keyword ngxDirectiveThirdParty exec_play +syn keyword ngxDirectiveThirdParty exec_play_done +syn keyword ngxDirectiveThirdParty exec_publish_done +syn keyword ngxDirectiveThirdParty exec_record_done +syn keyword ngxDirectiveThirdParty live +syn keyword ngxDirectiveThirdParty meta +syn keyword ngxDirectiveThirdParty interleave +syn keyword ngxDirectiveThirdParty wait_key +syn keyword ngxDirectiveThirdParty wait_video +syn keyword ngxDirectiveThirdParty publish_notify +syn keyword ngxDirectiveThirdParty drop_idle_publisher +syn keyword ngxDirectiveThirdParty sync +syn keyword ngxDirectiveThirdParty play_restart +syn keyword ngxDirectiveThirdParty idle_streams +syn keyword ngxDirectiveThirdParty record +syn keyword ngxDirectiveThirdParty record_path +syn keyword ngxDirectiveThirdParty record_suffix +syn keyword ngxDirectiveThirdParty record_unique +syn keyword ngxDirectiveThirdParty record_append +syn keyword ngxDirectiveThirdParty record_lock +syn keyword ngxDirectiveThirdParty record_max_size +syn keyword ngxDirectiveThirdParty record_max_frames +syn keyword ngxDirectiveThirdParty record_interval +syn keyword ngxDirectiveThirdParty recorder +syn keyword ngxDirectiveThirdParty record_notify +syn keyword ngxDirectiveThirdParty play +syn keyword ngxDirectiveThirdParty play_temp_path +syn keyword ngxDirectiveThirdParty play_local_path +syn keyword ngxDirectiveThirdParty pull +syn keyword ngxDirectiveThirdParty push +syn keyword ngxDirectiveThirdParty push_reconnect +syn keyword ngxDirectiveThirdParty session_relay +syn keyword ngxDirectiveThirdParty on_connect +syn keyword ngxDirectiveThirdParty on_play +syn keyword ngxDirectiveThirdParty on_publish +syn keyword ngxDirectiveThirdParty on_done +syn keyword ngxDirectiveThirdParty on_play_done +syn keyword ngxDirectiveThirdParty on_publish_done +syn keyword ngxDirectiveThirdParty on_record_done +syn keyword ngxDirectiveThirdParty on_update +syn keyword ngxDirectiveThirdParty notify_update_timeout +syn keyword ngxDirectiveThirdParty notify_update_strict +syn keyword ngxDirectiveThirdParty notify_relay_redirect +syn keyword ngxDirectiveThirdParty notify_method +syn keyword ngxDirectiveThirdParty hls +syn keyword ngxDirectiveThirdParty hls_path +syn keyword ngxDirectiveThirdParty hls_fragment +syn keyword ngxDirectiveThirdParty hls_playlist_length +syn keyword ngxDirectiveThirdParty hls_sync +syn keyword ngxDirectiveThirdParty hls_continuous +syn keyword ngxDirectiveThirdParty hls_nested +syn keyword ngxDirectiveThirdParty hls_base_url +syn keyword ngxDirectiveThirdParty hls_cleanup +syn keyword ngxDirectiveThirdParty hls_fragment_naming +syn keyword ngxDirectiveThirdParty hls_fragment_slicing +syn keyword ngxDirectiveThirdParty hls_variant +syn keyword ngxDirectiveThirdParty hls_type +syn keyword ngxDirectiveThirdParty hls_keys +syn keyword ngxDirectiveThirdParty hls_key_path +syn keyword ngxDirectiveThirdParty hls_key_url +syn keyword ngxDirectiveThirdParty hls_fragments_per_key +syn keyword ngxDirectiveThirdParty dash +syn keyword ngxDirectiveThirdParty dash_path +syn keyword ngxDirectiveThirdParty dash_fragment +syn keyword ngxDirectiveThirdParty dash_playlist_length +syn keyword ngxDirectiveThirdParty dash_nested +syn keyword ngxDirectiveThirdParty dash_cleanup +" syn keyword ngxDirectiveThirdParty access_log +" syn keyword ngxDirectiveThirdParty log_format +syn keyword ngxDirectiveThirdParty max_connections +syn keyword ngxDirectiveThirdParty rtmp_stat +syn keyword ngxDirectiveThirdParty rtmp_stat_stylesheet +syn keyword ngxDirectiveThirdParty rtmp_auto_push +syn keyword ngxDirectiveThirdParty rtmp_auto_push_reconnect +syn keyword ngxDirectiveThirdParty rtmp_socket_dir +syn keyword ngxDirectiveThirdParty rtmp_control + +" RTMPT Module +" Module for nginx to proxy rtmp using http protocol +syn keyword ngxDirectiveThirdParty rtmpt_proxy_target +syn keyword ngxDirectiveThirdParty rtmpt_proxy_rtmp_timeout +syn keyword ngxDirectiveThirdParty rtmpt_proxy_http_timeout +syn keyword ngxDirectiveThirdParty rtmpt_proxy +syn keyword ngxDirectiveThirdParty rtmpt_proxy_stat +syn keyword ngxDirectiveThirdParty rtmpt_proxy_stylesheet + +" Syntactically Awesome Module +" Providing on-the-fly compiling of Sass files as an NGINX module. +syn keyword ngxDirectiveThirdParty sass_compile +syn keyword ngxDirectiveThirdParty sass_error_log +syn keyword ngxDirectiveThirdParty sass_include_path +syn keyword ngxDirectiveThirdParty sass_indent +syn keyword ngxDirectiveThirdParty sass_is_indented_syntax +syn keyword ngxDirectiveThirdParty sass_linefeed +syn keyword ngxDirectiveThirdParty sass_precision +syn keyword ngxDirectiveThirdParty sass_output_style +syn keyword ngxDirectiveThirdParty sass_source_comments +syn keyword ngxDirectiveThirdParty sass_source_map_embed + +" Secure Download Module +" Enables you to create links which are only valid until a certain datetime is reached syn keyword ngxDirectiveThirdParty secure_download -syn keyword ngxDirectiveThirdParty secure_download_fail_location -syn keyword ngxDirectiveThirdParty secure_download_path_mode syn keyword ngxDirectiveThirdParty secure_download_secret +syn keyword ngxDirectiveThirdParty secure_download_path_mode + +" Selective Cache Purge Module +" A module to purge cache by GLOB patterns. The supported patterns are the same as supported by Redis. +syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_unix_socket +syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_host +syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_port +syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_database +syn keyword ngxDirectiveThirdParty selective_cache_purge_query + +" Set cconv Module +" Cconv rewrite set commands +syn keyword ngxDirectiveThirdParty set_cconv_to_simp +syn keyword ngxDirectiveThirdParty set_cconv_to_trad +syn keyword ngxDirectiveThirdParty set_pinyin_to_normal + +" Set Hash Module +" Nginx module that allows the setting of variables to the value of a variety of hashes +syn keyword ngxDirectiveThirdParty set_md5 +syn keyword ngxDirectiveThirdParty set_md5_upper +syn keyword ngxDirectiveThirdParty set_murmur2 +syn keyword ngxDirectiveThirdParty set_murmur2_upper +syn keyword ngxDirectiveThirdParty set_sha1 +syn keyword ngxDirectiveThirdParty set_sha1_upper + +" Set Lang Module +" Provides a variety of ways for setting a variable denoting the langauge that content should be returned in. +syn keyword ngxDirectiveThirdParty set_lang +syn keyword ngxDirectiveThirdParty set_lang_method +syn keyword ngxDirectiveThirdParty lang_cookie +syn keyword ngxDirectiveThirdParty lang_get_var +syn keyword ngxDirectiveThirdParty lang_list +syn keyword ngxDirectiveThirdParty lang_post_var +syn keyword ngxDirectiveThirdParty lang_host +syn keyword ngxDirectiveThirdParty lang_referer + +" Set Misc Module +" Various set_xxx directives added to nginx's rewrite module +syn keyword ngxDirectiveThirdParty set_if_empty +syn keyword ngxDirectiveThirdParty set_quote_sql_str +syn keyword ngxDirectiveThirdParty set_quote_pgsql_str +syn keyword ngxDirectiveThirdParty set_quote_json_str +syn keyword ngxDirectiveThirdParty set_unescape_uri +syn keyword ngxDirectiveThirdParty set_escape_uri +syn keyword ngxDirectiveThirdParty set_hashed_upstream +syn keyword ngxDirectiveThirdParty set_encode_base32 +syn keyword ngxDirectiveThirdParty set_base32_padding +syn keyword ngxDirectiveThirdParty set_misc_base32_padding +syn keyword ngxDirectiveThirdParty set_base32_alphabet +syn keyword ngxDirectiveThirdParty set_decode_base32 +syn keyword ngxDirectiveThirdParty set_encode_base64 +syn keyword ngxDirectiveThirdParty set_decode_base64 +syn keyword ngxDirectiveThirdParty set_encode_hex +syn keyword ngxDirectiveThirdParty set_decode_hex +syn keyword ngxDirectiveThirdParty set_sha1 +syn keyword ngxDirectiveThirdParty set_md5 +syn keyword ngxDirectiveThirdParty set_hmac_sha1 +syn keyword ngxDirectiveThirdParty set_random +syn keyword ngxDirectiveThirdParty set_secure_random_alphanum +syn keyword ngxDirectiveThirdParty set_secure_random_lcalpha +syn keyword ngxDirectiveThirdParty set_rotate +syn keyword ngxDirectiveThirdParty set_local_today +syn keyword ngxDirectiveThirdParty set_formatted_gmt_time +syn keyword ngxDirectiveThirdParty set_formatted_local_time + +" SFlow Module +" A binary, random-sampling nginx module designed for: lightweight, centralized, continuous, real-time monitoring of very large and very busy web farms. +syn keyword ngxDirectiveThirdParty sflow + +" Shibboleth Module +" Shibboleth auth request module for nginx +syn keyword ngxDirectiveThirdParty shib_request +syn keyword ngxDirectiveThirdParty shib_request_set +syn keyword ngxDirectiveThirdParty shib_request_use_headers + +" Slice Module +" Nginx module for serving a file in slices (reverse byte-range) +" syn keyword ngxDirectiveThirdParty slice +syn keyword ngxDirectiveThirdParty slice_arg_begin +syn keyword ngxDirectiveThirdParty slice_arg_end +syn keyword ngxDirectiveThirdParty slice_header +syn keyword ngxDirectiveThirdParty slice_footer +syn keyword ngxDirectiveThirdParty slice_header_first +syn keyword ngxDirectiveThirdParty slice_footer_last " SlowFS Cache Module " Module adding ability to cache static files. @@ -902,15 +1775,139 @@ syn keyword ngxDirectiveThirdParty slowfs_cache_purge syn keyword ngxDirectiveThirdParty slowfs_cache_valid syn keyword ngxDirectiveThirdParty slowfs_temp_path +" Small Light Module +" Dynamic Image Transformation Module For nginx. +syn keyword ngxDirectiveThirdParty small_light +syn keyword ngxDirectiveThirdParty small_light_getparam_mode +syn keyword ngxDirectiveThirdParty small_light_material_dir +syn keyword ngxDirectiveThirdParty small_light_pattern_define +syn keyword ngxDirectiveThirdParty small_light_radius_max +syn keyword ngxDirectiveThirdParty small_light_sigma_max +syn keyword ngxDirectiveThirdParty small_light_imlib2_temp_dir +syn keyword ngxDirectiveThirdParty small_light_buffer + +" Sorted Querystring Filter Module +" Nginx module to expose querystring parameters sorted in a variable to be used on cache_key as example +syn keyword ngxDirectiveThirdParty sorted_querystring_filter_parameter + +" Sphinx2 Module +" Nginx upstream module for Sphinx 2.x +syn keyword ngxDirectiveThirdParty sphinx2_pass +syn keyword ngxDirectiveThirdParty sphinx2_bind +syn keyword ngxDirectiveThirdParty sphinx2_connect_timeout +syn keyword ngxDirectiveThirdParty sphinx2_send_timeout +syn keyword ngxDirectiveThirdParty sphinx2_buffer_size +syn keyword ngxDirectiveThirdParty sphinx2_read_timeout +syn keyword ngxDirectiveThirdParty sphinx2_next_upstream + +" HTTP SPNEGO auth Module +" This module implements adds SPNEGO support to nginx(http://nginx.org). It currently supports only Kerberos authentication via GSSAPI +syn keyword ngxDirectiveThirdParty auth_gss +syn keyword ngxDirectiveThirdParty auth_gss_keytab +syn keyword ngxDirectiveThirdParty auth_gss_realm +syn keyword ngxDirectiveThirdParty auth_gss_service_name +syn keyword ngxDirectiveThirdParty auth_gss_authorized_principal +syn keyword ngxDirectiveThirdParty auth_gss_allow_basic_fallback + +" SR Cache Module +" Transparent subrequest-based caching layout for arbitrary nginx locations +syn keyword ngxDirectiveThirdParty srcache_fetch +syn keyword ngxDirectiveThirdParty srcache_fetch_skip +syn keyword ngxDirectiveThirdParty srcache_store +syn keyword ngxDirectiveThirdParty srcache_store_max_size +syn keyword ngxDirectiveThirdParty srcache_store_skip +syn keyword ngxDirectiveThirdParty srcache_store_statuses +syn keyword ngxDirectiveThirdParty srcache_store_ranges +syn keyword ngxDirectiveThirdParty srcache_header_buffer_size +syn keyword ngxDirectiveThirdParty srcache_store_hide_header +syn keyword ngxDirectiveThirdParty srcache_store_pass_header +syn keyword ngxDirectiveThirdParty srcache_methods +syn keyword ngxDirectiveThirdParty srcache_ignore_content_encoding +syn keyword ngxDirectiveThirdParty srcache_request_cache_control +syn keyword ngxDirectiveThirdParty srcache_response_cache_control +syn keyword ngxDirectiveThirdParty srcache_store_no_store +syn keyword ngxDirectiveThirdParty srcache_store_no_cache +syn keyword ngxDirectiveThirdParty srcache_store_private +syn keyword ngxDirectiveThirdParty srcache_default_expire +syn keyword ngxDirectiveThirdParty srcache_max_expire + +" SSSD Info Module +" Retrives additional attributes from SSSD for current authentizated user +syn keyword ngxDirectiveThirdParty sssd_info +syn keyword ngxDirectiveThirdParty sssd_info_output_to +syn keyword ngxDirectiveThirdParty sssd_info_groups +syn keyword ngxDirectiveThirdParty sssd_info_group +syn keyword ngxDirectiveThirdParty sssd_info_group_separator +syn keyword ngxDirectiveThirdParty sssd_info_attributes +syn keyword ngxDirectiveThirdParty sssd_info_attribute +syn keyword ngxDirectiveThirdParty sssd_info_attribute_separator + +" Static Etags Module +" Generate etags for static content +syn keyword ngxDirectiveThirdParty FileETag + +" Statsd Module +" An nginx module for sending statistics to statsd +syn keyword ngxDirectiveThirdParty statsd_server +syn keyword ngxDirectiveThirdParty statsd_sample_rate +syn keyword ngxDirectiveThirdParty statsd_count +syn keyword ngxDirectiveThirdParty statsd_timing + +" Sticky Module +" Add a sticky cookie to be always forwarded to the same upstream server +" syn keyword ngxDirectiveThirdParty sticky + +" Stream Echo Module +" TCP/stream echo module for NGINX (a port of ngx_http_echo_module) +syn keyword ngxDirectiveThirdParty echo +syn keyword ngxDirectiveThirdParty echo_duplicate +syn keyword ngxDirectiveThirdParty echo_flush_wait +syn keyword ngxDirectiveThirdParty echo_sleep +syn keyword ngxDirectiveThirdParty echo_send_timeout +syn keyword ngxDirectiveThirdParty echo_read_bytes +syn keyword ngxDirectiveThirdParty echo_read_line +syn keyword ngxDirectiveThirdParty echo_request_data +syn keyword ngxDirectiveThirdParty echo_discard_request +syn keyword ngxDirectiveThirdParty echo_read_buffer_size +syn keyword ngxDirectiveThirdParty echo_read_timeout +syn keyword ngxDirectiveThirdParty echo_client_error_log_level +syn keyword ngxDirectiveThirdParty echo_lingering_close +syn keyword ngxDirectiveThirdParty echo_lingering_time +syn keyword ngxDirectiveThirdParty echo_lingering_timeout + +" Stream Lua Module +" Embed the power of Lua into Nginx stream/TCP Servers. +syn keyword ngxDirectiveThirdParty lua_resolver +syn keyword ngxDirectiveThirdParty lua_resolver_timeout +syn keyword ngxDirectiveThirdParty lua_lingering_close +syn keyword ngxDirectiveThirdParty lua_lingering_time +syn keyword ngxDirectiveThirdParty lua_lingering_timeout + +" Stream Upsync Module +" Sync upstreams from consul or others, dynamiclly modify backend-servers attribute(weight, max_fails,...), needn't reload nginx. +syn keyword ngxDirectiveThirdParty upsync +syn keyword ngxDirectiveThirdParty upsync_dump_path +syn keyword ngxDirectiveThirdParty upsync_lb +syn keyword ngxDirectiveThirdParty upsync_show + " Strip Module " Whitespace remover. syn keyword ngxDirectiveThirdParty strip +" Subrange Module +" Split one big HTTP/Range request to multiple subrange requesets +syn keyword ngxDirectiveThirdParty subrange + " Substitutions Module " A filter module which can do both regular expression and fixed string substitutions on response bodies. syn keyword ngxDirectiveThirdParty subs_filter syn keyword ngxDirectiveThirdParty subs_filter_types +" Summarizer Module +" Upstream nginx module to get summaries of documents using the summarizer daemon service +syn keyword ngxDirectiveThirdParty smrzr_filename +syn keyword ngxDirectiveThirdParty smrzr_ratio + " Supervisord Module " Module providing nginx with API to communicate with supervisord and manage (start/stop) backends on-demand. syn keyword ngxDirectiveThirdParty supervisord @@ -919,43 +1916,210 @@ syn keyword ngxDirectiveThirdParty supervisord_name syn keyword ngxDirectiveThirdParty supervisord_start syn keyword ngxDirectiveThirdParty supervisord_stop +" Tarantool Upstream Module +" Tarantool NginX upstream module (REST, JSON API, websockets, load balancing) +syn keyword ngxDirectiveThirdParty tnt_pass +syn keyword ngxDirectiveThirdParty tnt_http_methods +syn keyword ngxDirectiveThirdParty tnt_http_rest_methods +syn keyword ngxDirectiveThirdParty tnt_pass_http_request +syn keyword ngxDirectiveThirdParty tnt_pass_http_request_buffer_size +syn keyword ngxDirectiveThirdParty tnt_method +syn keyword ngxDirectiveThirdParty tnt_http_allowed_methods - experemental +syn keyword ngxDirectiveThirdParty tnt_send_timeout +syn keyword ngxDirectiveThirdParty tnt_read_timeout +syn keyword ngxDirectiveThirdParty tnt_buffer_size +syn keyword ngxDirectiveThirdParty tnt_next_upstream +syn keyword ngxDirectiveThirdParty tnt_connect_timeout +syn keyword ngxDirectiveThirdParty tnt_next_upstream +syn keyword ngxDirectiveThirdParty tnt_next_upstream_tries +syn keyword ngxDirectiveThirdParty tnt_next_upstream_timeout + +" TCP Proxy Module +" Add the feature of tcp proxy with nginx, with health check and status monitor +syn keyword ngxDirectiveBlock tcp +" syn keyword ngxDirectiveThirdParty server +" syn keyword ngxDirectiveThirdParty listen +" syn keyword ngxDirectiveThirdParty allow +" syn keyword ngxDirectiveThirdParty deny +" syn keyword ngxDirectiveThirdParty so_keepalive +" syn keyword ngxDirectiveThirdParty tcp_nodelay +" syn keyword ngxDirectiveThirdParty timeout +" syn keyword ngxDirectiveThirdParty server_name +" syn keyword ngxDirectiveThirdParty resolver +" syn keyword ngxDirectiveThirdParty resolver_timeout +" syn keyword ngxDirectiveThirdParty upstream +syn keyword ngxDirectiveThirdParty check +syn keyword ngxDirectiveThirdParty check_http_send +syn keyword ngxDirectiveThirdParty check_http_expect_alive +syn keyword ngxDirectiveThirdParty check_smtp_send +syn keyword ngxDirectiveThirdParty check_smtp_expect_alive +syn keyword ngxDirectiveThirdParty check_shm_size +syn keyword ngxDirectiveThirdParty check_status +" syn keyword ngxDirectiveThirdParty ip_hash +" syn keyword ngxDirectiveThirdParty proxy_pass +" syn keyword ngxDirectiveThirdParty proxy_buffer +" syn keyword ngxDirectiveThirdParty proxy_connect_timeout +" syn keyword ngxDirectiveThirdParty proxy_read_timeout +syn keyword ngxDirectiveThirdParty proxy_write_timeout + +" Testcookie Module +" NGINX module for L7 DDoS attack mitigation +syn keyword ngxDirectiveThirdParty testcookie +syn keyword ngxDirectiveThirdParty testcookie_name +syn keyword ngxDirectiveThirdParty testcookie_domain +syn keyword ngxDirectiveThirdParty testcookie_expires +syn keyword ngxDirectiveThirdParty testcookie_path +syn keyword ngxDirectiveThirdParty testcookie_secret +syn keyword ngxDirectiveThirdParty testcookie_session +syn keyword ngxDirectiveThirdParty testcookie_arg +syn keyword ngxDirectiveThirdParty testcookie_max_attempts +syn keyword ngxDirectiveThirdParty testcookie_p3p +syn keyword ngxDirectiveThirdParty testcookie_fallback +syn keyword ngxDirectiveThirdParty testcookie_whitelist +syn keyword ngxDirectiveThirdParty testcookie_pass +syn keyword ngxDirectiveThirdParty testcookie_redirect_via_refresh +syn keyword ngxDirectiveThirdParty testcookie_refresh_template +syn keyword ngxDirectiveThirdParty testcookie_refresh_status +syn keyword ngxDirectiveThirdParty testcookie_deny_keepalive +syn keyword ngxDirectiveThirdParty testcookie_get_only +syn keyword ngxDirectiveThirdParty testcookie_https_location +syn keyword ngxDirectiveThirdParty testcookie_refresh_encrypt_cookie +syn keyword ngxDirectiveThirdParty testcookie_refresh_encrypt_cookie_key +syn keyword ngxDirectiveThirdParty testcookie_refresh_encrypt_iv +syn keyword ngxDirectiveThirdParty testcookie_internal +syn keyword ngxDirectiveThirdParty testcookie_httponly_flag +syn keyword ngxDirectiveThirdParty testcookie_secure_flag + +" Types Filter Module +" Change the `Content-Type` output header depending on an extension variable according to a condition specified in the 'if' clause. +syn keyword ngxDirectiveThirdParty types_filter +syn keyword ngxDirectiveThirdParty types_filter_use_default + +" Unzip Module +" Enabling fetching of files that are stored in zipped archives. +syn keyword ngxDirectiveThirdParty file_in_unzip_archivefile +syn keyword ngxDirectiveThirdParty file_in_unzip_extract +syn keyword ngxDirectiveThirdParty file_in_unzip + " Upload Progress Module -" Tracks and reports upload progress. -syn keyword ngxDirectiveThirdParty report_uploads -syn keyword ngxDirectiveThirdParty track_uploads +" An upload progress system, that monitors RFC1867 POST upload as they are transmitted to upstream servers syn keyword ngxDirectiveThirdParty upload_progress +syn keyword ngxDirectiveThirdParty track_uploads +syn keyword ngxDirectiveThirdParty report_uploads syn keyword ngxDirectiveThirdParty upload_progress_content_type syn keyword ngxDirectiveThirdParty upload_progress_header +syn keyword ngxDirectiveThirdParty upload_progress_jsonp_parameter syn keyword ngxDirectiveThirdParty upload_progress_json_output +syn keyword ngxDirectiveThirdParty upload_progress_jsonp_output syn keyword ngxDirectiveThirdParty upload_progress_template " Upload Module -" Parses multipart/form-data allowing arbitrary handling of uploaded files. -syn keyword ngxDirectiveThirdParty upload_aggregate_form_field -syn keyword ngxDirectiveThirdParty upload_buffer_size -syn keyword ngxDirectiveThirdParty upload_cleanup -syn keyword ngxDirectiveThirdParty upload_limit_rate -syn keyword ngxDirectiveThirdParty upload_max_file_size -syn keyword ngxDirectiveThirdParty upload_max_output_body_len -syn keyword ngxDirectiveThirdParty upload_max_part_header_len +" Parses request body storing all files being uploaded to a directory specified by upload_store directive syn keyword ngxDirectiveThirdParty upload_pass -syn keyword ngxDirectiveThirdParty upload_pass_args -syn keyword ngxDirectiveThirdParty upload_pass_form_field -syn keyword ngxDirectiveThirdParty upload_set_form_field +syn keyword ngxDirectiveThirdParty upload_resumable syn keyword ngxDirectiveThirdParty upload_store +syn keyword ngxDirectiveThirdParty upload_state_store syn keyword ngxDirectiveThirdParty upload_store_access +syn keyword ngxDirectiveThirdParty upload_set_form_field +syn keyword ngxDirectiveThirdParty upload_aggregate_form_field +syn keyword ngxDirectiveThirdParty upload_pass_form_field +syn keyword ngxDirectiveThirdParty upload_cleanup +syn keyword ngxDirectiveThirdParty upload_buffer_size +syn keyword ngxDirectiveThirdParty upload_max_part_header_len +syn keyword ngxDirectiveThirdParty upload_max_file_size +syn keyword ngxDirectiveThirdParty upload_limit_rate +syn keyword ngxDirectiveThirdParty upload_max_output_body_len +syn keyword ngxDirectiveThirdParty upload_tame_arrays +syn keyword ngxDirectiveThirdParty upload_pass_args + +" Upstream Fair Module +" The fair load balancer module for nginx http://nginx.localdomain.pl +syn keyword ngxDirectiveThirdParty fair +syn keyword ngxDirectiveThirdParty upstream_fair_shm_size " Upstream Hash Module (DEPRECATED) " Provides simple upstream load distribution by hashing a configurable variable. -syn keyword ngxDirectiveThirdParty hash -syn keyword ngxDirectiveThirdParty hash_again +" syn keyword ngxDirectiveDeprecated hash +syn keyword ngxDirectiveDeprecated hash_again + +" Upstream Domain Resolve Module +" A load-balancer that resolves an upstream domain name asynchronously. +syn keyword ngxDirectiveThirdParty jdomain + +" Upsync Module +" Sync upstreams from consul or others, dynamiclly modify backend-servers attribute(weight, max_fails,...), needn't reload nginx +syn keyword ngxDirectiveThirdParty upsync +syn keyword ngxDirectiveThirdParty upsync_dump_path +syn keyword ngxDirectiveThirdParty upsync_lb +syn keyword ngxDirectiveThirdParty upstream_show + +" URL Module +" Nginx url encoding converting module +syn keyword ngxDirectiveThirdParty url_encoding_convert +syn keyword ngxDirectiveThirdParty url_encoding_convert_from +syn keyword ngxDirectiveThirdParty url_encoding_convert_to + +" User Agent Module +" Match browsers and crawlers +syn keyword ngxDirectiveThirdParty user_agent + +" Upstrema Ketama Chash Module +" Nginx load-balancer module implementing ketama consistent hashing. +syn keyword ngxDirectiveThirdParty ketama_chash + +" Video Thumbextractor Module +" Extract thumbs from a video file +syn keyword ngxDirectiveThirdParty video_thumbextractor +syn keyword ngxDirectiveThirdParty video_thumbextractor_video_filename +syn keyword ngxDirectiveThirdParty video_thumbextractor_video_second +syn keyword ngxDirectiveThirdParty video_thumbextractor_image_width +syn keyword ngxDirectiveThirdParty video_thumbextractor_image_height +syn keyword ngxDirectiveThirdParty video_thumbextractor_only_keyframe +syn keyword ngxDirectiveThirdParty video_thumbextractor_next_time +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_rows +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_cols +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_max_rows +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_max_cols +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_sample_interval +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_color +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_margin +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_padding +syn keyword ngxDirectiveThirdParty video_thumbextractor_threads +syn keyword ngxDirectiveThirdParty video_thumbextractor_processes_per_worker + +" Eval Module +" Module for nginx web server evaluates response of proxy or memcached module into variables. +syn keyword ngxDirectiveThirdParty eval +syn keyword ngxDirectiveThirdParty eval_escalate +syn keyword ngxDirectiveThirdParty eval_override_content_type + +" VTS Module +" Nginx virtual host traffic status module +syn keyword ngxDirectiveThirdParty vhost_traffic_status +syn keyword ngxDirectiveThirdParty vhost_traffic_status_zone +syn keyword ngxDirectiveThirdParty vhost_traffic_status_display +syn keyword ngxDirectiveThirdParty vhost_traffic_status_display_format +syn keyword ngxDirectiveThirdParty vhost_traffic_status_display_jsonp +syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter +syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter_by_host +syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter_by_set_key +syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter_check_duplicate +syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit +syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit_traffic +syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit_traffic_by_set_key +syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit_check_duplicate " XSS Module " Native support for cross-site scripting (XSS) in an nginx. -syn keyword ngxDirectiveThirdParty xss_callback_arg syn keyword ngxDirectiveThirdParty xss_get +syn keyword ngxDirectiveThirdParty xss_callback_arg +syn keyword ngxDirectiveThirdParty xss_override_status +syn keyword ngxDirectiveThirdParty xss_check_status syn keyword ngxDirectiveThirdParty xss_input_types -syn keyword ngxDirectiveThirdParty xss_output_type + +" ZIP Module +" ZIP archiver for nginx + " highlight diff --git a/syntax/php.vim b/syntax/php.vim index 007ddbd..fec9c7f 100644 --- a/syntax/php.vim +++ b/syntax/php.vim @@ -5,7 +5,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'php') == -1 " " {{{ BLOCK: Last-modified -" Mon, 14 Sep 2015 14:49:12 +0000, PHP 5.6.13-1+deb.sury.org~trusty+3 +" Thu, 05 Jan 2017 09:58:17 +0000, PHP 7.1.0-3+deb.sury.org~trusty+1 " }}} " @@ -197,15 +197,15 @@ endif syn case match if index(g:php_syntax_extensions_enabled, "core") >= 0 && index(g:php_syntax_extensions_disabled, "core") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "core") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "core") < 0) " Core constants -syn keyword phpConstants DEBUG_BACKTRACE_IGNORE_ARGS DEBUG_BACKTRACE_PROVIDE_OBJECT DEFAULT_INCLUDE_PATH E_ALL E_COMPILE_ERROR E_COMPILE_WARNING E_CORE_ERROR E_CORE_WARNING E_DEPRECATED E_ERROR E_NOTICE E_PARSE E_RECOVERABLE_ERROR E_STRICT E_USER_DEPRECATED E_USER_ERROR E_USER_NOTICE E_USER_WARNING E_WARNING PEAR_EXTENSION_DIR PEAR_INSTALL_DIR PHP_BINARY PHP_BINDIR PHP_CONFIG_FILE_PATH PHP_CONFIG_FILE_SCAN_DIR PHP_DATADIR PHP_DEBUG PHP_EOL PHP_EXTENSION_DIR PHP_EXTRA_VERSION PHP_INT_MAX PHP_INT_SIZE PHP_LIBDIR PHP_LOCALSTATEDIR PHP_MAJOR_VERSION PHP_MANDIR PHP_MAXPATHLEN PHP_MINOR_VERSION PHP_OS PHP_OUTPUT_HANDLER_CLEAN PHP_OUTPUT_HANDLER_CLEANABLE PHP_OUTPUT_HANDLER_CONT PHP_OUTPUT_HANDLER_DISABLED PHP_OUTPUT_HANDLER_END PHP_OUTPUT_HANDLER_FINAL PHP_OUTPUT_HANDLER_FLUSH PHP_OUTPUT_HANDLER_FLUSHABLE PHP_OUTPUT_HANDLER_REMOVABLE PHP_OUTPUT_HANDLER_START PHP_OUTPUT_HANDLER_STARTED PHP_OUTPUT_HANDLER_STDFLAGS PHP_OUTPUT_HANDLER_WRITE PHP_PREFIX PHP_RELEASE_VERSION PHP_SAPI PHP_SHLIB_SUFFIX PHP_SYSCONFDIR PHP_VERSION PHP_VERSION_ID PHP_ZTS STDERR STDIN STDOUT UPLOAD_ERR_CANT_WRITE UPLOAD_ERR_EXTENSION UPLOAD_ERR_FORM_SIZE UPLOAD_ERR_INI_SIZE UPLOAD_ERR_NO_FILE UPLOAD_ERR_NO_TMP_DIR UPLOAD_ERR_OK UPLOAD_ERR_PARTIAL ZEND_DEBUG_BUILD ZEND_THREAD_SAFE contained +syn keyword phpConstants DEBUG_BACKTRACE_IGNORE_ARGS DEBUG_BACKTRACE_PROVIDE_OBJECT DEFAULT_INCLUDE_PATH E_ALL E_COMPILE_ERROR E_COMPILE_WARNING E_CORE_ERROR E_CORE_WARNING E_DEPRECATED E_ERROR E_NOTICE E_PARSE E_RECOVERABLE_ERROR E_STRICT E_USER_DEPRECATED E_USER_ERROR E_USER_NOTICE E_USER_WARNING E_WARNING PEAR_EXTENSION_DIR PEAR_INSTALL_DIR PHP_BINARY PHP_BINDIR PHP_CONFIG_FILE_PATH PHP_CONFIG_FILE_SCAN_DIR PHP_DATADIR PHP_DEBUG PHP_EOL PHP_EXTENSION_DIR PHP_EXTRA_VERSION PHP_FD_SETSIZE PHP_INT_MAX PHP_INT_MIN PHP_INT_SIZE PHP_LIBDIR PHP_LOCALSTATEDIR PHP_MAJOR_VERSION PHP_MANDIR PHP_MAXPATHLEN PHP_MINOR_VERSION PHP_OS PHP_OUTPUT_HANDLER_CLEAN PHP_OUTPUT_HANDLER_CLEANABLE PHP_OUTPUT_HANDLER_CONT PHP_OUTPUT_HANDLER_DISABLED PHP_OUTPUT_HANDLER_END PHP_OUTPUT_HANDLER_FINAL PHP_OUTPUT_HANDLER_FLUSH PHP_OUTPUT_HANDLER_FLUSHABLE PHP_OUTPUT_HANDLER_REMOVABLE PHP_OUTPUT_HANDLER_START PHP_OUTPUT_HANDLER_STARTED PHP_OUTPUT_HANDLER_STDFLAGS PHP_OUTPUT_HANDLER_WRITE PHP_PREFIX PHP_RELEASE_VERSION PHP_SAPI PHP_SHLIB_SUFFIX PHP_SYSCONFDIR PHP_VERSION PHP_VERSION_ID PHP_ZTS STDERR STDIN STDOUT UPLOAD_ERR_CANT_WRITE UPLOAD_ERR_EXTENSION UPLOAD_ERR_FORM_SIZE UPLOAD_ERR_INI_SIZE UPLOAD_ERR_NO_FILE UPLOAD_ERR_NO_TMP_DIR UPLOAD_ERR_OK UPLOAD_ERR_PARTIAL ZEND_DEBUG_BUILD ZEND_THREAD_SAFE contained endif if index(g:php_syntax_extensions_enabled, "curl") >= 0 && index(g:php_syntax_extensions_disabled, "curl") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "curl") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "curl") < 0) " curl constants -syn keyword phpConstants CURLAUTH_ANY CURLAUTH_ANYSAFE CURLAUTH_BASIC CURLAUTH_DIGEST CURLAUTH_DIGEST_IE CURLAUTH_GSSNEGOTIATE CURLAUTH_NONE CURLAUTH_NTLM CURLAUTH_ONLY CURLE_ABORTED_BY_CALLBACK CURLE_BAD_CALLING_ORDER CURLE_BAD_CONTENT_ENCODING CURLE_BAD_DOWNLOAD_RESUME CURLE_BAD_FUNCTION_ARGUMENT CURLE_BAD_PASSWORD_ENTERED CURLE_COULDNT_CONNECT CURLE_COULDNT_RESOLVE_HOST CURLE_COULDNT_RESOLVE_PROXY CURLE_FAILED_INIT CURLE_FILESIZE_EXCEEDED CURLE_FILE_COULDNT_READ_FILE CURLE_FTP_ACCESS_DENIED CURLE_FTP_BAD_DOWNLOAD_RESUME CURLE_FTP_CANT_GET_HOST CURLE_FTP_CANT_RECONNECT CURLE_FTP_COULDNT_GET_SIZE CURLE_FTP_COULDNT_RETR_FILE CURLE_FTP_COULDNT_SET_ASCII CURLE_FTP_COULDNT_SET_BINARY CURLE_FTP_COULDNT_STOR_FILE CURLE_FTP_COULDNT_USE_REST CURLE_FTP_PARTIAL_FILE CURLE_FTP_PORT_FAILED CURLE_FTP_QUOTE_ERROR CURLE_FTP_SSL_FAILED CURLE_FTP_USER_PASSWORD_INCORRECT CURLE_FTP_WEIRD_227_FORMAT CURLE_FTP_WEIRD_PASS_REPLY CURLE_FTP_WEIRD_PASV_REPLY CURLE_FTP_WEIRD_SERVER_REPLY CURLE_FTP_WEIRD_USER_REPLY CURLE_FTP_WRITE_ERROR CURLE_FUNCTION_NOT_FOUND CURLE_GOT_NOTHING CURLE_HTTP_NOT_FOUND CURLE_HTTP_PORT_FAILED CURLE_HTTP_POST_ERROR CURLE_HTTP_RANGE_ERROR CURLE_HTTP_RETURNED_ERROR CURLE_LDAP_CANNOT_BIND CURLE_LDAP_INVALID_URL CURLE_LDAP_SEARCH_FAILED CURLE_LIBRARY_NOT_FOUND CURLE_MALFORMAT_USER CURLE_OBSOLETE CURLE_OK CURLE_OPERATION_TIMEDOUT CURLE_OPERATION_TIMEOUTED CURLE_OUT_OF_MEMORY CURLE_PARTIAL_FILE CURLE_READ_ERROR CURLE_RECV_ERROR CURLE_SEND_ERROR CURLE_SHARE_IN_USE CURLE_SSH CURLE_SSL_CACERT CURLE_SSL_CERTPROBLEM CURLE_SSL_CIPHER CURLE_SSL_CONNECT_ERROR CURLE_SSL_ENGINE_NOTFOUND CURLE_SSL_ENGINE_SETFAILED CURLE_SSL_PEER_CERTIFICATE CURLE_TELNET_OPTION_SYNTAX CURLE_TOO_MANY_REDIRECTS CURLE_UNKNOWN_TELNET_OPTION CURLE_UNSUPPORTED_PROTOCOL CURLE_URL_MALFORMAT CURLE_URL_MALFORMAT_USER CURLE_WRITE_ERROR CURLFTPAUTH_DEFAULT CURLFTPAUTH_SSL CURLFTPAUTH_TLS CURLFTPMETHOD_MULTICWD CURLFTPMETHOD_NOCWD CURLFTPMETHOD_SINGLECWD CURLFTPSSL_ALL CURLFTPSSL_CCC_ACTIVE CURLFTPSSL_CCC_NONE CURLFTPSSL_CCC_PASSIVE CURLFTPSSL_CONTROL CURLFTPSSL_NONE CURLFTPSSL_TRY CURLGSSAPI_DELEGATION_FLAG CURLGSSAPI_DELEGATION_POLICY_FLAG CURLINFO_APPCONNECT_TIME CURLINFO_CERTINFO CURLINFO_CONDITION_UNMET CURLINFO_CONNECT_TIME CURLINFO_CONTENT_LENGTH_DOWNLOAD CURLINFO_CONTENT_LENGTH_UPLOAD CURLINFO_CONTENT_TYPE CURLINFO_COOKIELIST CURLINFO_EFFECTIVE_URL CURLINFO_FILETIME CURLINFO_FTP_ENTRY_PATH CURLINFO_HEADER_OUT CURLINFO_HEADER_SIZE CURLINFO_HTTPAUTH_AVAIL CURLINFO_HTTP_CODE CURLINFO_HTTP_CONNECTCODE CURLINFO_LASTONE CURLINFO_LOCAL_IP CURLINFO_LOCAL_PORT CURLINFO_NAMELOOKUP_TIME CURLINFO_NUM_CONNECTS CURLINFO_OS_ERRNO CURLINFO_PRETRANSFER_TIME CURLINFO_PRIMARY_IP CURLINFO_PRIMARY_PORT CURLINFO_PRIVATE CURLINFO_PROXYAUTH_AVAIL CURLINFO_REDIRECT_COUNT CURLINFO_REDIRECT_TIME CURLINFO_REDIRECT_URL CURLINFO_REQUEST_SIZE CURLINFO_RESPONSE_CODE CURLINFO_RTSP_CLIENT_CSEQ CURLINFO_RTSP_CSEQ_RECV CURLINFO_RTSP_SERVER_CSEQ CURLINFO_RTSP_SESSION_ID CURLINFO_SIZE_DOWNLOAD CURLINFO_SIZE_UPLOAD CURLINFO_SPEED_DOWNLOAD CURLINFO_SPEED_UPLOAD CURLINFO_SSL_ENGINES CURLINFO_SSL_VERIFYRESULT CURLINFO_STARTTRANSFER_TIME CURLINFO_TOTAL_TIME CURLMOPT_MAXCONNECTS CURLMOPT_PIPELINING CURLMSG_DONE CURLM_BAD_EASY_HANDLE CURLM_BAD_HANDLE CURLM_CALL_MULTI_PERFORM CURLM_INTERNAL_ERROR CURLM_OK CURLM_OUT_OF_MEMORY CURLOPT_ACCEPTTIMEOUT_MS CURLOPT_ACCEPT_ENCODING CURLOPT_ADDRESS_SCOPE CURLOPT_APPEND CURLOPT_AUTOREFERER CURLOPT_BINARYTRANSFER CURLOPT_BUFFERSIZE CURLOPT_CAINFO CURLOPT_CAPATH CURLOPT_CERTINFO CURLOPT_CONNECTTIMEOUT CURLOPT_CONNECTTIMEOUT_MS CURLOPT_CONNECT_ONLY CURLOPT_COOKIE CURLOPT_COOKIEFILE CURLOPT_COOKIEJAR CURLOPT_COOKIELIST CURLOPT_COOKIESESSION CURLOPT_CRLF CURLOPT_CRLFILE CURLOPT_CUSTOMREQUEST CURLOPT_DIRLISTONLY CURLOPT_DNS_CACHE_TIMEOUT CURLOPT_DNS_SERVERS CURLOPT_DNS_USE_GLOBAL_CACHE CURLOPT_EGDSOCKET CURLOPT_ENCODING CURLOPT_FAILONERROR CURLOPT_FILE CURLOPT_FILETIME CURLOPT_FNMATCH_FUNCTION CURLOPT_FOLLOWLOCATION CURLOPT_FORBID_REUSE CURLOPT_FRESH_CONNECT CURLOPT_FTPAPPEND CURLOPT_FTPLISTONLY CURLOPT_FTPPORT CURLOPT_FTPSSLAUTH CURLOPT_FTP_ACCOUNT CURLOPT_FTP_ALTERNATIVE_TO_USER CURLOPT_FTP_CREATE_MISSING_DIRS CURLOPT_FTP_FILEMETHOD CURLOPT_FTP_RESPONSE_TIMEOUT CURLOPT_FTP_SKIP_PASV_IP CURLOPT_FTP_SSL CURLOPT_FTP_SSL_CCC CURLOPT_FTP_USE_EPRT CURLOPT_FTP_USE_EPSV CURLOPT_FTP_USE_PRET CURLOPT_GSSAPI_DELEGATION CURLOPT_HEADER CURLOPT_HEADERFUNCTION CURLOPT_HTTP200ALIASES CURLOPT_HTTPAUTH CURLOPT_HTTPGET CURLOPT_HTTPHEADER CURLOPT_HTTPPROXYTUNNEL CURLOPT_HTTP_CONTENT_DECODING CURLOPT_HTTP_TRANSFER_DECODING CURLOPT_HTTP_VERSION CURLOPT_IGNORE_CONTENT_LENGTH CURLOPT_INFILE CURLOPT_INFILESIZE CURLOPT_INTERFACE CURLOPT_IPRESOLVE CURLOPT_ISSUERCERT CURLOPT_KEYPASSWD CURLOPT_KRB4LEVEL CURLOPT_KRBLEVEL CURLOPT_LOCALPORT CURLOPT_LOCALPORTRANGE CURLOPT_LOW_SPEED_LIMIT CURLOPT_LOW_SPEED_TIME CURLOPT_MAIL_AUTH CURLOPT_MAIL_FROM CURLOPT_MAIL_RCPT CURLOPT_MAXCONNECTS CURLOPT_MAXFILESIZE CURLOPT_MAXREDIRS CURLOPT_MAX_RECV_SPEED_LARGE CURLOPT_MAX_SEND_SPEED_LARGE CURLOPT_NETRC CURLOPT_NETRC_FILE CURLOPT_NEW_DIRECTORY_PERMS CURLOPT_NEW_FILE_PERMS CURLOPT_NOBODY CURLOPT_NOPROGRESS CURLOPT_NOPROXY CURLOPT_NOSIGNAL CURLOPT_PASSWORD CURLOPT_PORT CURLOPT_POST CURLOPT_POSTFIELDS CURLOPT_POSTQUOTE CURLOPT_POSTREDIR CURLOPT_PREQUOTE CURLOPT_PRIVATE CURLOPT_PROGRESSFUNCTION CURLOPT_PROTOCOLS CURLOPT_PROXY CURLOPT_PROXYAUTH CURLOPT_PROXYPASSWORD CURLOPT_PROXYPORT CURLOPT_PROXYTYPE CURLOPT_PROXYUSERNAME CURLOPT_PROXYUSERPWD CURLOPT_PROXY_TRANSFER_MODE CURLOPT_PUT CURLOPT_QUOTE CURLOPT_RANDOM_FILE CURLOPT_RANGE CURLOPT_READDATA CURLOPT_READFUNCTION CURLOPT_REDIR_PROTOCOLS CURLOPT_REFERER CURLOPT_RESOLVE CURLOPT_RESUME_FROM CURLOPT_RETURNTRANSFER CURLOPT_RTSP_CLIENT_CSEQ CURLOPT_RTSP_REQUEST CURLOPT_RTSP_SERVER_CSEQ CURLOPT_RTSP_SESSION_ID CURLOPT_RTSP_STREAM_URI CURLOPT_RTSP_TRANSPORT CURLOPT_SAFE_UPLOAD CURLOPT_SHARE CURLOPT_SOCKS5_GSSAPI_NEC CURLOPT_SOCKS5_GSSAPI_SERVICE CURLOPT_SSH_AUTH_TYPES CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 CURLOPT_SSH_KNOWNHOSTS CURLOPT_SSH_PRIVATE_KEYFILE CURLOPT_SSH_PUBLIC_KEYFILE CURLOPT_SSLCERT CURLOPT_SSLCERTPASSWD CURLOPT_SSLCERTTYPE CURLOPT_SSLENGINE CURLOPT_SSLENGINE_DEFAULT CURLOPT_SSLKEY CURLOPT_SSLKEYPASSWD CURLOPT_SSLKEYTYPE CURLOPT_SSLVERSION CURLOPT_SSL_CIPHER_LIST CURLOPT_SSL_OPTIONS CURLOPT_SSL_SESSIONID_CACHE CURLOPT_SSL_VERIFYHOST CURLOPT_SSL_VERIFYPEER CURLOPT_STDERR CURLOPT_TCP_KEEPALIVE CURLOPT_TCP_KEEPIDLE CURLOPT_TCP_KEEPINTVL CURLOPT_TCP_NODELAY CURLOPT_TELNETOPTIONS CURLOPT_TFTP_BLKSIZE CURLOPT_TIMECONDITION CURLOPT_TIMEOUT CURLOPT_TIMEOUT_MS CURLOPT_TIMEVALUE CURLOPT_TLSAUTH_PASSWORD CURLOPT_TLSAUTH_TYPE CURLOPT_TLSAUTH_USERNAME CURLOPT_TRANSFERTEXT CURLOPT_TRANSFER_ENCODING CURLOPT_UNRESTRICTED_AUTH CURLOPT_UPLOAD CURLOPT_URL CURLOPT_USERAGENT CURLOPT_USERNAME CURLOPT_USERPWD CURLOPT_USE_SSL CURLOPT_VERBOSE CURLOPT_WILDCARDMATCH CURLOPT_WRITEFUNCTION CURLOPT_WRITEHEADER CURLPAUSE_ALL CURLPAUSE_CONT CURLPAUSE_RECV CURLPAUSE_RECV_CONT CURLPAUSE_SEND CURLPAUSE_SEND_CONT CURLPROTO_ALL CURLPROTO_DICT CURLPROTO_FILE CURLPROTO_FTP CURLPROTO_FTPS CURLPROTO_GOPHER CURLPROTO_HTTP CURLPROTO_HTTPS CURLPROTO_IMAP CURLPROTO_IMAPS CURLPROTO_LDAP CURLPROTO_LDAPS CURLPROTO_POP3 CURLPROTO_POP3S CURLPROTO_RTMP CURLPROTO_RTMPE CURLPROTO_RTMPS CURLPROTO_RTMPT CURLPROTO_RTMPTE CURLPROTO_RTMPTS CURLPROTO_RTSP CURLPROTO_SCP CURLPROTO_SFTP CURLPROTO_SMTP CURLPROTO_SMTPS CURLPROTO_TELNET CURLPROTO_TFTP CURLPROXY_HTTP CURLPROXY_SOCKS4 CURLPROXY_SOCKS4A CURLPROXY_SOCKS5 CURLPROXY_SOCKS5_HOSTNAME CURLSHOPT_NONE CURLSHOPT_SHARE CURLSHOPT_UNSHARE CURLSSH_AUTH_ANY CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_HOST CURLSSH_AUTH_KEYBOARD CURLSSH_AUTH_NONE CURLSSH_AUTH_PASSWORD CURLSSH_AUTH_PUBLICKEY CURLSSLOPT_ALLOW_BEAST CURLUSESSL_ALL CURLUSESSL_CONTROL CURLUSESSL_NONE CURLUSESSL_TRY CURLVERSION_NOW CURL_FNMATCHFUNC_FAIL CURL_FNMATCHFUNC_MATCH CURL_FNMATCHFUNC_NOMATCH CURL_HTTP_VERSION_1_0 CURL_HTTP_VERSION_1_1 CURL_HTTP_VERSION_2_0 CURL_HTTP_VERSION_NONE CURL_IPRESOLVE_V4 CURL_IPRESOLVE_V6 CURL_IPRESOLVE_WHATEVER CURL_LOCK_DATA_COOKIE CURL_LOCK_DATA_DNS CURL_LOCK_DATA_SSL_SESSION CURL_NETRC_IGNORED CURL_NETRC_OPTIONAL CURL_NETRC_REQUIRED CURL_READFUNC_PAUSE CURL_RTSPREQ_ANNOUNCE CURL_RTSPREQ_DESCRIBE CURL_RTSPREQ_GET_PARAMETER CURL_RTSPREQ_OPTIONS CURL_RTSPREQ_PAUSE CURL_RTSPREQ_PLAY CURL_RTSPREQ_RECEIVE CURL_RTSPREQ_RECORD CURL_RTSPREQ_SETUP CURL_RTSPREQ_SET_PARAMETER CURL_RTSPREQ_TEARDOWN CURL_SSLVERSION_DEFAULT CURL_SSLVERSION_SSLv2 CURL_SSLVERSION_SSLv3 CURL_SSLVERSION_TLSv1 CURL_SSLVERSION_TLSv1_0 CURL_SSLVERSION_TLSv1_1 CURL_SSLVERSION_TLSv1_2 CURL_TIMECOND_IFMODSINCE CURL_TIMECOND_IFUNMODSINCE CURL_TIMECOND_LASTMOD CURL_TIMECOND_NONE CURL_TLSAUTH_SRP CURL_VERSION_HTTP2 CURL_VERSION_IPV6 CURL_VERSION_KERBEROS4 CURL_VERSION_LIBZ CURL_VERSION_SSL CURL_WRITEFUNC_PAUSE contained +syn keyword phpConstants CURLAUTH_ANY CURLAUTH_ANYSAFE CURLAUTH_BASIC CURLAUTH_DIGEST CURLAUTH_DIGEST_IE CURLAUTH_GSSNEGOTIATE CURLAUTH_NONE CURLAUTH_NTLM CURLAUTH_NTLM_WB CURLAUTH_ONLY CURLE_ABORTED_BY_CALLBACK CURLE_BAD_CALLING_ORDER CURLE_BAD_CONTENT_ENCODING CURLE_BAD_DOWNLOAD_RESUME CURLE_BAD_FUNCTION_ARGUMENT CURLE_BAD_PASSWORD_ENTERED CURLE_COULDNT_CONNECT CURLE_COULDNT_RESOLVE_HOST CURLE_COULDNT_RESOLVE_PROXY CURLE_FAILED_INIT CURLE_FILESIZE_EXCEEDED CURLE_FILE_COULDNT_READ_FILE CURLE_FTP_ACCESS_DENIED CURLE_FTP_BAD_DOWNLOAD_RESUME CURLE_FTP_CANT_GET_HOST CURLE_FTP_CANT_RECONNECT CURLE_FTP_COULDNT_GET_SIZE CURLE_FTP_COULDNT_RETR_FILE CURLE_FTP_COULDNT_SET_ASCII CURLE_FTP_COULDNT_SET_BINARY CURLE_FTP_COULDNT_STOR_FILE CURLE_FTP_COULDNT_USE_REST CURLE_FTP_PARTIAL_FILE CURLE_FTP_PORT_FAILED CURLE_FTP_QUOTE_ERROR CURLE_FTP_SSL_FAILED CURLE_FTP_USER_PASSWORD_INCORRECT CURLE_FTP_WEIRD_227_FORMAT CURLE_FTP_WEIRD_PASS_REPLY CURLE_FTP_WEIRD_PASV_REPLY CURLE_FTP_WEIRD_SERVER_REPLY CURLE_FTP_WEIRD_USER_REPLY CURLE_FTP_WRITE_ERROR CURLE_FUNCTION_NOT_FOUND CURLE_GOT_NOTHING CURLE_HTTP_NOT_FOUND CURLE_HTTP_PORT_FAILED CURLE_HTTP_POST_ERROR CURLE_HTTP_RANGE_ERROR CURLE_HTTP_RETURNED_ERROR CURLE_LDAP_CANNOT_BIND CURLE_LDAP_INVALID_URL CURLE_LDAP_SEARCH_FAILED CURLE_LIBRARY_NOT_FOUND CURLE_MALFORMAT_USER CURLE_OBSOLETE CURLE_OK CURLE_OPERATION_TIMEDOUT CURLE_OPERATION_TIMEOUTED CURLE_OUT_OF_MEMORY CURLE_PARTIAL_FILE CURLE_READ_ERROR CURLE_RECV_ERROR CURLE_SEND_ERROR CURLE_SHARE_IN_USE CURLE_SSH CURLE_SSL_CACERT CURLE_SSL_CACERT_BADFILE CURLE_SSL_CERTPROBLEM CURLE_SSL_CIPHER CURLE_SSL_CONNECT_ERROR CURLE_SSL_ENGINE_NOTFOUND CURLE_SSL_ENGINE_SETFAILED CURLE_SSL_PEER_CERTIFICATE CURLE_TELNET_OPTION_SYNTAX CURLE_TOO_MANY_REDIRECTS CURLE_UNKNOWN_TELNET_OPTION CURLE_UNSUPPORTED_PROTOCOL CURLE_URL_MALFORMAT CURLE_URL_MALFORMAT_USER CURLE_WRITE_ERROR CURLFTPAUTH_DEFAULT CURLFTPAUTH_SSL CURLFTPAUTH_TLS CURLFTPMETHOD_MULTICWD CURLFTPMETHOD_NOCWD CURLFTPMETHOD_SINGLECWD CURLFTPSSL_ALL CURLFTPSSL_CCC_ACTIVE CURLFTPSSL_CCC_NONE CURLFTPSSL_CCC_PASSIVE CURLFTPSSL_CONTROL CURLFTPSSL_NONE CURLFTPSSL_TRY CURLFTP_CREATE_DIR CURLFTP_CREATE_DIR_NONE CURLFTP_CREATE_DIR_RETRY CURLGSSAPI_DELEGATION_FLAG CURLGSSAPI_DELEGATION_POLICY_FLAG CURLINFO_APPCONNECT_TIME CURLINFO_CERTINFO CURLINFO_CONDITION_UNMET CURLINFO_CONNECT_TIME CURLINFO_CONTENT_LENGTH_DOWNLOAD CURLINFO_CONTENT_LENGTH_UPLOAD CURLINFO_CONTENT_TYPE CURLINFO_COOKIELIST CURLINFO_EFFECTIVE_URL CURLINFO_FILETIME CURLINFO_FTP_ENTRY_PATH CURLINFO_HEADER_OUT CURLINFO_HEADER_SIZE CURLINFO_HTTPAUTH_AVAIL CURLINFO_HTTP_CODE CURLINFO_HTTP_CONNECTCODE CURLINFO_LASTONE CURLINFO_LOCAL_IP CURLINFO_LOCAL_PORT CURLINFO_NAMELOOKUP_TIME CURLINFO_NUM_CONNECTS CURLINFO_OS_ERRNO CURLINFO_PRETRANSFER_TIME CURLINFO_PRIMARY_IP CURLINFO_PRIMARY_PORT CURLINFO_PRIVATE CURLINFO_PROXYAUTH_AVAIL CURLINFO_REDIRECT_COUNT CURLINFO_REDIRECT_TIME CURLINFO_REDIRECT_URL CURLINFO_REQUEST_SIZE CURLINFO_RESPONSE_CODE CURLINFO_RTSP_CLIENT_CSEQ CURLINFO_RTSP_CSEQ_RECV CURLINFO_RTSP_SERVER_CSEQ CURLINFO_RTSP_SESSION_ID CURLINFO_SIZE_DOWNLOAD CURLINFO_SIZE_UPLOAD CURLINFO_SPEED_DOWNLOAD CURLINFO_SPEED_UPLOAD CURLINFO_SSL_ENGINES CURLINFO_SSL_VERIFYRESULT CURLINFO_STARTTRANSFER_TIME CURLINFO_TOTAL_TIME CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE CURLMOPT_MAXCONNECTS CURLMOPT_MAX_HOST_CONNECTIONS CURLMOPT_MAX_PIPELINE_LENGTH CURLMOPT_MAX_TOTAL_CONNECTIONS CURLMOPT_PIPELINING CURLMSG_DONE CURLM_ADDED_ALREADY CURLM_BAD_EASY_HANDLE CURLM_BAD_HANDLE CURLM_CALL_MULTI_PERFORM CURLM_INTERNAL_ERROR CURLM_OK CURLM_OUT_OF_MEMORY CURLOPT_ACCEPTTIMEOUT_MS CURLOPT_ACCEPT_ENCODING CURLOPT_ADDRESS_SCOPE CURLOPT_APPEND CURLOPT_AUTOREFERER CURLOPT_BINARYTRANSFER CURLOPT_BUFFERSIZE CURLOPT_CAINFO CURLOPT_CAPATH CURLOPT_CERTINFO CURLOPT_CONNECTTIMEOUT CURLOPT_CONNECTTIMEOUT_MS CURLOPT_CONNECT_ONLY CURLOPT_COOKIE CURLOPT_COOKIEFILE CURLOPT_COOKIEJAR CURLOPT_COOKIELIST CURLOPT_COOKIESESSION CURLOPT_CRLF CURLOPT_CRLFILE CURLOPT_CUSTOMREQUEST CURLOPT_DIRLISTONLY CURLOPT_DNS_CACHE_TIMEOUT CURLOPT_DNS_INTERFACE CURLOPT_DNS_LOCAL_IP4 CURLOPT_DNS_LOCAL_IP6 CURLOPT_DNS_SERVERS CURLOPT_DNS_USE_GLOBAL_CACHE CURLOPT_EGDSOCKET CURLOPT_ENCODING CURLOPT_FAILONERROR CURLOPT_FILE CURLOPT_FILETIME CURLOPT_FNMATCH_FUNCTION CURLOPT_FOLLOWLOCATION CURLOPT_FORBID_REUSE CURLOPT_FRESH_CONNECT CURLOPT_FTPAPPEND CURLOPT_FTPLISTONLY CURLOPT_FTPPORT CURLOPT_FTPSSLAUTH CURLOPT_FTP_ACCOUNT CURLOPT_FTP_ALTERNATIVE_TO_USER CURLOPT_FTP_CREATE_MISSING_DIRS CURLOPT_FTP_FILEMETHOD CURLOPT_FTP_RESPONSE_TIMEOUT CURLOPT_FTP_SKIP_PASV_IP CURLOPT_FTP_SSL CURLOPT_FTP_SSL_CCC CURLOPT_FTP_USE_EPRT CURLOPT_FTP_USE_EPSV CURLOPT_FTP_USE_PRET CURLOPT_GSSAPI_DELEGATION CURLOPT_HEADER CURLOPT_HEADERFUNCTION CURLOPT_HTTP200ALIASES CURLOPT_HTTPAUTH CURLOPT_HTTPGET CURLOPT_HTTPHEADER CURLOPT_HTTPPROXYTUNNEL CURLOPT_HTTP_CONTENT_DECODING CURLOPT_HTTP_TRANSFER_DECODING CURLOPT_HTTP_VERSION CURLOPT_IGNORE_CONTENT_LENGTH CURLOPT_INFILE CURLOPT_INFILESIZE CURLOPT_INTERFACE CURLOPT_IPRESOLVE CURLOPT_ISSUERCERT CURLOPT_KEYPASSWD CURLOPT_KRB4LEVEL CURLOPT_KRBLEVEL CURLOPT_LOCALPORT CURLOPT_LOCALPORTRANGE CURLOPT_LOGIN_OPTIONS CURLOPT_LOW_SPEED_LIMIT CURLOPT_LOW_SPEED_TIME CURLOPT_MAIL_AUTH CURLOPT_MAIL_FROM CURLOPT_MAIL_RCPT CURLOPT_MAXCONNECTS CURLOPT_MAXFILESIZE CURLOPT_MAXREDIRS CURLOPT_MAX_RECV_SPEED_LARGE CURLOPT_MAX_SEND_SPEED_LARGE CURLOPT_NETRC CURLOPT_NETRC_FILE CURLOPT_NEW_DIRECTORY_PERMS CURLOPT_NEW_FILE_PERMS CURLOPT_NOBODY CURLOPT_NOPROGRESS CURLOPT_NOPROXY CURLOPT_NOSIGNAL CURLOPT_PASSWORD CURLOPT_PORT CURLOPT_POST CURLOPT_POSTFIELDS CURLOPT_POSTQUOTE CURLOPT_POSTREDIR CURLOPT_PREQUOTE CURLOPT_PRIVATE CURLOPT_PROGRESSFUNCTION CURLOPT_PROTOCOLS CURLOPT_PROXY CURLOPT_PROXYAUTH CURLOPT_PROXYPASSWORD CURLOPT_PROXYPORT CURLOPT_PROXYTYPE CURLOPT_PROXYUSERNAME CURLOPT_PROXYUSERPWD CURLOPT_PROXY_TRANSFER_MODE CURLOPT_PUT CURLOPT_QUOTE CURLOPT_RANDOM_FILE CURLOPT_RANGE CURLOPT_READDATA CURLOPT_READFUNCTION CURLOPT_REDIR_PROTOCOLS CURLOPT_REFERER CURLOPT_RESOLVE CURLOPT_RESUME_FROM CURLOPT_RETURNTRANSFER CURLOPT_RTSP_CLIENT_CSEQ CURLOPT_RTSP_REQUEST CURLOPT_RTSP_SERVER_CSEQ CURLOPT_RTSP_SESSION_ID CURLOPT_RTSP_STREAM_URI CURLOPT_RTSP_TRANSPORT CURLOPT_SAFE_UPLOAD CURLOPT_SASL_IR CURLOPT_SHARE CURLOPT_SOCKS5_GSSAPI_NEC CURLOPT_SOCKS5_GSSAPI_SERVICE CURLOPT_SSH_AUTH_TYPES CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 CURLOPT_SSH_KNOWNHOSTS CURLOPT_SSH_PRIVATE_KEYFILE CURLOPT_SSH_PUBLIC_KEYFILE CURLOPT_SSLCERT CURLOPT_SSLCERTPASSWD CURLOPT_SSLCERTTYPE CURLOPT_SSLENGINE CURLOPT_SSLENGINE_DEFAULT CURLOPT_SSLKEY CURLOPT_SSLKEYPASSWD CURLOPT_SSLKEYTYPE CURLOPT_SSLVERSION CURLOPT_SSL_CIPHER_LIST CURLOPT_SSL_OPTIONS CURLOPT_SSL_SESSIONID_CACHE CURLOPT_SSL_VERIFYHOST CURLOPT_SSL_VERIFYPEER CURLOPT_STDERR CURLOPT_TCP_KEEPALIVE CURLOPT_TCP_KEEPIDLE CURLOPT_TCP_KEEPINTVL CURLOPT_TCP_NODELAY CURLOPT_TELNETOPTIONS CURLOPT_TFTP_BLKSIZE CURLOPT_TIMECONDITION CURLOPT_TIMEOUT CURLOPT_TIMEOUT_MS CURLOPT_TIMEVALUE CURLOPT_TLSAUTH_PASSWORD CURLOPT_TLSAUTH_TYPE CURLOPT_TLSAUTH_USERNAME CURLOPT_TRANSFERTEXT CURLOPT_TRANSFER_ENCODING CURLOPT_UNRESTRICTED_AUTH CURLOPT_UPLOAD CURLOPT_URL CURLOPT_USERAGENT CURLOPT_USERNAME CURLOPT_USERPWD CURLOPT_USE_SSL CURLOPT_VERBOSE CURLOPT_WILDCARDMATCH CURLOPT_WRITEFUNCTION CURLOPT_WRITEHEADER CURLOPT_XOAUTH2_BEARER CURLPAUSE_ALL CURLPAUSE_CONT CURLPAUSE_RECV CURLPAUSE_RECV_CONT CURLPAUSE_SEND CURLPAUSE_SEND_CONT CURLPROTO_ALL CURLPROTO_DICT CURLPROTO_FILE CURLPROTO_FTP CURLPROTO_FTPS CURLPROTO_GOPHER CURLPROTO_HTTP CURLPROTO_HTTPS CURLPROTO_IMAP CURLPROTO_IMAPS CURLPROTO_LDAP CURLPROTO_LDAPS CURLPROTO_POP3 CURLPROTO_POP3S CURLPROTO_RTMP CURLPROTO_RTMPE CURLPROTO_RTMPS CURLPROTO_RTMPT CURLPROTO_RTMPTE CURLPROTO_RTMPTS CURLPROTO_RTSP CURLPROTO_SCP CURLPROTO_SFTP CURLPROTO_SMTP CURLPROTO_SMTPS CURLPROTO_TELNET CURLPROTO_TFTP CURLPROXY_HTTP CURLPROXY_HTTP_1_0 CURLPROXY_SOCKS4 CURLPROXY_SOCKS4A CURLPROXY_SOCKS5 CURLPROXY_SOCKS5_HOSTNAME CURLSHOPT_NONE CURLSHOPT_SHARE CURLSHOPT_UNSHARE CURLSSH_AUTH_AGENT CURLSSH_AUTH_ANY CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_HOST CURLSSH_AUTH_KEYBOARD CURLSSH_AUTH_NONE CURLSSH_AUTH_PASSWORD CURLSSH_AUTH_PUBLICKEY CURLSSLOPT_ALLOW_BEAST CURLUSESSL_ALL CURLUSESSL_CONTROL CURLUSESSL_NONE CURLUSESSL_TRY CURLVERSION_NOW CURL_FNMATCHFUNC_FAIL CURL_FNMATCHFUNC_MATCH CURL_FNMATCHFUNC_NOMATCH CURL_HTTP_VERSION_1_0 CURL_HTTP_VERSION_1_1 CURL_HTTP_VERSION_2_0 CURL_HTTP_VERSION_NONE CURL_IPRESOLVE_V4 CURL_IPRESOLVE_V6 CURL_IPRESOLVE_WHATEVER CURL_LOCK_DATA_COOKIE CURL_LOCK_DATA_DNS CURL_LOCK_DATA_SSL_SESSION CURL_NETRC_IGNORED CURL_NETRC_OPTIONAL CURL_NETRC_REQUIRED CURL_READFUNC_PAUSE CURL_REDIR_POST_301 CURL_REDIR_POST_302 CURL_REDIR_POST_303 CURL_REDIR_POST_ALL CURL_RTSPREQ_ANNOUNCE CURL_RTSPREQ_DESCRIBE CURL_RTSPREQ_GET_PARAMETER CURL_RTSPREQ_OPTIONS CURL_RTSPREQ_PAUSE CURL_RTSPREQ_PLAY CURL_RTSPREQ_RECEIVE CURL_RTSPREQ_RECORD CURL_RTSPREQ_SETUP CURL_RTSPREQ_SET_PARAMETER CURL_RTSPREQ_TEARDOWN CURL_SSLVERSION_DEFAULT CURL_SSLVERSION_SSLv2 CURL_SSLVERSION_SSLv3 CURL_SSLVERSION_TLSv1 CURL_SSLVERSION_TLSv1_0 CURL_SSLVERSION_TLSv1_1 CURL_SSLVERSION_TLSv1_2 CURL_TIMECOND_IFMODSINCE CURL_TIMECOND_IFUNMODSINCE CURL_TIMECOND_LASTMOD CURL_TIMECOND_NONE CURL_TLSAUTH_SRP CURL_VERSION_HTTP2 CURL_VERSION_IPV6 CURL_VERSION_KERBEROS4 CURL_VERSION_LIBZ CURL_VERSION_SSL CURL_WRITEFUNC_PAUSE contained endif if index(g:php_syntax_extensions_enabled, "date") >= 0 && index(g:php_syntax_extensions_disabled, "date") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "date") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "date") < 0) " date constants -syn keyword phpConstants AFRICA ALL ALL_WITH_BC AMERICA ANTARCTICA ARCTIC ASIA ATLANTIC ATOM AUSTRALIA COOKIE DATE_ATOM DATE_COOKIE DATE_ISO8601 DATE_RFC822 DATE_RFC850 DATE_RFC1036 DATE_RFC1123 DATE_RFC2822 DATE_RFC3339 DATE_RSS DATE_W3C EUROPE EXCLUDE_START_DATE INDIAN ISO8601 PACIFIC PER_COUNTRY RFC822 RFC850 RFC1036 RFC1123 RFC2822 RFC3339 RSS SUNFUNCS_RET_DOUBLE SUNFUNCS_RET_STRING SUNFUNCS_RET_TIMESTAMP UTC W3C contained +syn keyword phpConstants AFRICA ALL ALL_WITH_BC AMERICA ANTARCTICA ARCTIC ASIA ATLANTIC ATOM AUSTRALIA COOKIE DATE_ATOM DATE_COOKIE DATE_ISO8601 DATE_RFC822 DATE_RFC850 DATE_RFC1036 DATE_RFC1123 DATE_RFC2822 DATE_RFC3339 DATE_RFC3339_EXTENDED DATE_RSS DATE_W3C EUROPE EXCLUDE_START_DATE INDIAN ISO8601 PACIFIC PER_COUNTRY RFC822 RFC850 RFC1036 RFC1123 RFC2822 RFC3339 RFC3339_EXTENDED RSS SUNFUNCS_RET_DOUBLE SUNFUNCS_RET_STRING SUNFUNCS_RET_TIMESTAMP UTC W3C contained endif if index(g:php_syntax_extensions_enabled, "dom") >= 0 && index(g:php_syntax_extensions_disabled, "dom") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "dom") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "dom") < 0) " dom constants @@ -213,7 +213,7 @@ syn keyword phpConstants DOMSTRING_SIZE_ERR DOM_HIERARCHY_REQUEST_ERR DOM_INDEX_ endif if index(g:php_syntax_extensions_enabled, "gd") >= 0 && index(g:php_syntax_extensions_disabled, "gd") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "gd") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "gd") < 0) " gd constants -syn keyword phpConstants GD_BUNDLED GD_EXTRA_VERSION GD_MAJOR_VERSION GD_MINOR_VERSION GD_RELEASE_VERSION GD_VERSION IMG_AFFINE_ROTATE IMG_AFFINE_SCALE IMG_AFFINE_SHEAR_HORIZONTAL IMG_AFFINE_SHEAR_VERTICAL IMG_AFFINE_TRANSLATE IMG_ARC_CHORD IMG_ARC_EDGED IMG_ARC_NOFILL IMG_ARC_PIE IMG_ARC_ROUNDED IMG_BELL IMG_BESSEL IMG_BICUBIC IMG_BICUBIC_FIXED IMG_BILINEAR_FIXED IMG_BLACKMAN IMG_BOX IMG_BSPLINE IMG_CATMULLROM IMG_COLOR_BRUSHED IMG_COLOR_STYLED IMG_COLOR_STYLEDBRUSHED IMG_COLOR_TILED IMG_COLOR_TRANSPARENT IMG_CROP_BLACK IMG_CROP_DEFAULT IMG_CROP_SIDES IMG_CROP_THRESHOLD IMG_CROP_TRANSPARENT IMG_CROP_WHITE IMG_EFFECT_ALPHABLEND IMG_EFFECT_NORMAL IMG_EFFECT_OVERLAY IMG_EFFECT_REPLACE IMG_FILTER_BRIGHTNESS IMG_FILTER_COLORIZE IMG_FILTER_CONTRAST IMG_FILTER_EDGEDETECT IMG_FILTER_EMBOSS IMG_FILTER_GAUSSIAN_BLUR IMG_FILTER_GRAYSCALE IMG_FILTER_MEAN_REMOVAL IMG_FILTER_NEGATE IMG_FILTER_PIXELATE IMG_FILTER_SELECTIVE_BLUR IMG_FILTER_SMOOTH IMG_FLIP_BOTH IMG_FLIP_HORIZONTAL IMG_FLIP_VERTICAL IMG_GAUSSIAN IMG_GD2_COMPRESSED IMG_GD2_RAW IMG_GENERALIZED_CUBIC IMG_GIF IMG_HAMMING IMG_HANNING IMG_HERMITE IMG_JPEG IMG_JPG IMG_MITCHELL IMG_NEAREST_NEIGHBOUR IMG_PNG IMG_POWER IMG_QUADRATIC IMG_SINC IMG_TRIANGLE IMG_WBMP IMG_WEIGHTED4 IMG_XPM PNG_ALL_FILTERS PNG_FILTER_AVG PNG_FILTER_NONE PNG_FILTER_PAETH PNG_FILTER_SUB PNG_FILTER_UP PNG_NO_FILTER contained +syn keyword phpConstants GD_BUNDLED GD_EXTRA_VERSION GD_MAJOR_VERSION GD_MINOR_VERSION GD_RELEASE_VERSION GD_VERSION IMG_AFFINE_ROTATE IMG_AFFINE_SCALE IMG_AFFINE_SHEAR_HORIZONTAL IMG_AFFINE_SHEAR_VERTICAL IMG_AFFINE_TRANSLATE IMG_ARC_CHORD IMG_ARC_EDGED IMG_ARC_NOFILL IMG_ARC_PIE IMG_ARC_ROUNDED IMG_BELL IMG_BESSEL IMG_BICUBIC IMG_BICUBIC_FIXED IMG_BILINEAR_FIXED IMG_BLACKMAN IMG_BOX IMG_BSPLINE IMG_CATMULLROM IMG_COLOR_BRUSHED IMG_COLOR_STYLED IMG_COLOR_STYLEDBRUSHED IMG_COLOR_TILED IMG_COLOR_TRANSPARENT IMG_CROP_BLACK IMG_CROP_DEFAULT IMG_CROP_SIDES IMG_CROP_THRESHOLD IMG_CROP_TRANSPARENT IMG_CROP_WHITE IMG_EFFECT_ALPHABLEND IMG_EFFECT_NORMAL IMG_EFFECT_OVERLAY IMG_EFFECT_REPLACE IMG_FILTER_BRIGHTNESS IMG_FILTER_COLORIZE IMG_FILTER_CONTRAST IMG_FILTER_EDGEDETECT IMG_FILTER_EMBOSS IMG_FILTER_GAUSSIAN_BLUR IMG_FILTER_GRAYSCALE IMG_FILTER_MEAN_REMOVAL IMG_FILTER_NEGATE IMG_FILTER_PIXELATE IMG_FILTER_SELECTIVE_BLUR IMG_FILTER_SMOOTH IMG_FLIP_BOTH IMG_FLIP_HORIZONTAL IMG_FLIP_VERTICAL IMG_GAUSSIAN IMG_GD2_COMPRESSED IMG_GD2_RAW IMG_GENERALIZED_CUBIC IMG_GIF IMG_HAMMING IMG_HANNING IMG_HERMITE IMG_JPEG IMG_JPG IMG_MITCHELL IMG_NEAREST_NEIGHBOUR IMG_PNG IMG_POWER IMG_QUADRATIC IMG_SINC IMG_TRIANGLE IMG_WBMP IMG_WEBP IMG_WEIGHTED4 IMG_XPM PNG_ALL_FILTERS PNG_FILTER_AVG PNG_FILTER_NONE PNG_FILTER_PAETH PNG_FILTER_SUB PNG_FILTER_UP PNG_NO_FILTER contained endif if index(g:php_syntax_extensions_enabled, "hash") >= 0 && index(g:php_syntax_extensions_disabled, "hash") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "hash") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "hash") < 0) " hash constants @@ -225,11 +225,11 @@ syn keyword phpConstants ICONV_IMPL ICONV_MIME_DECODE_CONTINUE_ON_ERROR ICONV_MI endif if index(g:php_syntax_extensions_enabled, "json") >= 0 && index(g:php_syntax_extensions_disabled, "json") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "json") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "json") < 0) " json constants -syn keyword phpConstants JSON_BIGINT_AS_STRING JSON_C_BUNDLED JSON_C_VERSION JSON_ERROR_CTRL_CHAR JSON_ERROR_DEPTH JSON_ERROR_INF_OR_NAN JSON_ERROR_NONE JSON_ERROR_RECURSION JSON_ERROR_STATE_MISMATCH JSON_ERROR_SYNTAX JSON_ERROR_UNSUPPORTED_TYPE JSON_ERROR_UTF8 JSON_FORCE_OBJECT JSON_HEX_AMP JSON_HEX_APOS JSON_HEX_QUOT JSON_HEX_TAG JSON_NUMERIC_CHECK JSON_OBJECT_AS_ARRAY JSON_PARSER_CONTINUE JSON_PARSER_NOTSTRICT JSON_PARSER_SUCCESS JSON_PARTIAL_OUTPUT_ON_ERROR JSON_PRESERVE_ZERO_FRACTION JSON_PRETTY_PRINT JSON_UNESCAPED_SLASHES JSON_UNESCAPED_UNICODE contained +syn keyword phpConstants JSON_BIGINT_AS_STRING JSON_ERROR_CTRL_CHAR JSON_ERROR_DEPTH JSON_ERROR_INF_OR_NAN JSON_ERROR_INVALID_PROPERTY_NAME JSON_ERROR_NONE JSON_ERROR_RECURSION JSON_ERROR_STATE_MISMATCH JSON_ERROR_SYNTAX JSON_ERROR_UNSUPPORTED_TYPE JSON_ERROR_UTF8 JSON_ERROR_UTF16 JSON_FORCE_OBJECT JSON_HEX_AMP JSON_HEX_APOS JSON_HEX_QUOT JSON_HEX_TAG JSON_NUMERIC_CHECK JSON_OBJECT_AS_ARRAY JSON_PARTIAL_OUTPUT_ON_ERROR JSON_PRESERVE_ZERO_FRACTION JSON_PRETTY_PRINT JSON_UNESCAPED_LINE_TERMINATORS JSON_UNESCAPED_SLASHES JSON_UNESCAPED_UNICODE contained endif if index(g:php_syntax_extensions_enabled, "libxml") >= 0 && index(g:php_syntax_extensions_disabled, "libxml") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "libxml") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "libxml") < 0) " libxml constants -syn keyword phpConstants LIBXML_COMPACT LIBXML_DOTTED_VERSION LIBXML_DTDATTR LIBXML_DTDLOAD LIBXML_DTDVALID LIBXML_ERR_ERROR LIBXML_ERR_FATAL LIBXML_ERR_NONE LIBXML_ERR_WARNING LIBXML_HTML_NODEFDTD LIBXML_HTML_NOIMPLIED LIBXML_LOADED_VERSION LIBXML_NOBLANKS LIBXML_NOCDATA LIBXML_NOEMPTYTAG LIBXML_NOENT LIBXML_NOERROR LIBXML_NONET LIBXML_NOWARNING LIBXML_NOXMLDECL LIBXML_NSCLEAN LIBXML_PARSEHUGE LIBXML_PEDANTIC LIBXML_SCHEMA_CREATE LIBXML_VERSION LIBXML_XINCLUDE contained +syn keyword phpConstants LIBXML_BIGLINES LIBXML_COMPACT LIBXML_DOTTED_VERSION LIBXML_DTDATTR LIBXML_DTDLOAD LIBXML_DTDVALID LIBXML_ERR_ERROR LIBXML_ERR_FATAL LIBXML_ERR_NONE LIBXML_ERR_WARNING LIBXML_HTML_NODEFDTD LIBXML_HTML_NOIMPLIED LIBXML_LOADED_VERSION LIBXML_NOBLANKS LIBXML_NOCDATA LIBXML_NOEMPTYTAG LIBXML_NOENT LIBXML_NOERROR LIBXML_NONET LIBXML_NOWARNING LIBXML_NOXMLDECL LIBXML_NSCLEAN LIBXML_PARSEHUGE LIBXML_PEDANTIC LIBXML_SCHEMA_CREATE LIBXML_VERSION LIBXML_XINCLUDE contained endif if index(g:php_syntax_extensions_enabled, "mbstring") >= 0 && index(g:php_syntax_extensions_disabled, "mbstring") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "mbstring") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "mbstring") < 0) " mbstring constants @@ -245,7 +245,7 @@ syn keyword phpConstants MYSQL_ASSOC MYSQL_BOTH MYSQL_CLIENT_COMPRESS MYSQL_CLIE endif if index(g:php_syntax_extensions_enabled, "mysqli") >= 0 && index(g:php_syntax_extensions_disabled, "mysqli") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "mysqli") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "mysqli") < 0) " mysqli constants -syn keyword phpConstants MYSQLI_ASSOC MYSQLI_AUTO_INCREMENT_FLAG MYSQLI_BINARY_FLAG MYSQLI_BLOB_FLAG MYSQLI_BOTH MYSQLI_CLIENT_COMPRESS MYSQLI_CLIENT_FOUND_ROWS MYSQLI_CLIENT_IGNORE_SPACE MYSQLI_CLIENT_INTERACTIVE MYSQLI_CLIENT_NO_SCHEMA MYSQLI_CLIENT_SSL MYSQLI_CURSOR_TYPE_FOR_UPDATE MYSQLI_CURSOR_TYPE_NO_CURSOR MYSQLI_CURSOR_TYPE_READ_ONLY MYSQLI_CURSOR_TYPE_SCROLLABLE MYSQLI_DATA_TRUNCATED MYSQLI_DEBUG_TRACE_ENABLED MYSQLI_ENUM_FLAG MYSQLI_GROUP_FLAG MYSQLI_INIT_COMMAND MYSQLI_MULTIPLE_KEY_FLAG MYSQLI_NOT_NULL_FLAG MYSQLI_NO_DATA MYSQLI_NO_DEFAULT_VALUE_FLAG MYSQLI_NUM MYSQLI_NUM_FLAG MYSQLI_OPT_CONNECT_TIMEOUT MYSQLI_OPT_LOCAL_INFILE MYSQLI_OPT_SSL_VERIFY_SERVER_CERT MYSQLI_PART_KEY_FLAG MYSQLI_PRI_KEY_FLAG MYSQLI_READ_DEFAULT_FILE MYSQLI_READ_DEFAULT_GROUP MYSQLI_REFRESH_GRANT MYSQLI_REFRESH_HOSTS MYSQLI_REFRESH_LOG MYSQLI_REFRESH_MASTER MYSQLI_REFRESH_SLAVE MYSQLI_REFRESH_STATUS MYSQLI_REFRESH_TABLES MYSQLI_REFRESH_THREADS MYSQLI_REPORT_ALL MYSQLI_REPORT_ERROR MYSQLI_REPORT_INDEX MYSQLI_REPORT_OFF MYSQLI_REPORT_STRICT MYSQLI_SERVER_PS_OUT_PARAMS MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED MYSQLI_SERVER_QUERY_NO_INDEX_USED MYSQLI_SERVER_QUERY_WAS_SLOW MYSQLI_SET_CHARSET_DIR MYSQLI_SET_CHARSET_NAME MYSQLI_SET_FLAG MYSQLI_STMT_ATTR_CURSOR_TYPE MYSQLI_STMT_ATTR_PREFETCH_ROWS MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH MYSQLI_STORE_RESULT MYSQLI_TIMESTAMP_FLAG MYSQLI_TRANS_COR_AND_CHAIN MYSQLI_TRANS_COR_AND_NO_CHAIN MYSQLI_TRANS_COR_NO_RELEASE MYSQLI_TRANS_COR_RELEASE MYSQLI_TRANS_START_READ_ONLY MYSQLI_TRANS_START_READ_WRITE MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT MYSQLI_TYPE_BIT MYSQLI_TYPE_BLOB MYSQLI_TYPE_CHAR MYSQLI_TYPE_DATE MYSQLI_TYPE_DATETIME MYSQLI_TYPE_DECIMAL MYSQLI_TYPE_DOUBLE MYSQLI_TYPE_ENUM MYSQLI_TYPE_FLOAT MYSQLI_TYPE_GEOMETRY MYSQLI_TYPE_INT24 MYSQLI_TYPE_INTERVAL MYSQLI_TYPE_LONG MYSQLI_TYPE_LONGLONG MYSQLI_TYPE_LONG_BLOB MYSQLI_TYPE_MEDIUM_BLOB MYSQLI_TYPE_NEWDATE MYSQLI_TYPE_NEWDECIMAL MYSQLI_TYPE_NULL MYSQLI_TYPE_SET MYSQLI_TYPE_SHORT MYSQLI_TYPE_STRING MYSQLI_TYPE_TIME MYSQLI_TYPE_TIMESTAMP MYSQLI_TYPE_TINY MYSQLI_TYPE_TINY_BLOB MYSQLI_TYPE_VAR_STRING MYSQLI_TYPE_YEAR MYSQLI_UNIQUE_KEY_FLAG MYSQLI_UNSIGNED_FLAG MYSQLI_USE_RESULT MYSQLI_ZEROFILL_FLAG contained +syn keyword phpConstants MYSQLI_ASSOC MYSQLI_ASYNC MYSQLI_AUTO_INCREMENT_FLAG MYSQLI_BINARY_FLAG MYSQLI_BLOB_FLAG MYSQLI_BOTH MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS MYSQLI_CLIENT_COMPRESS MYSQLI_CLIENT_FOUND_ROWS MYSQLI_CLIENT_IGNORE_SPACE MYSQLI_CLIENT_INTERACTIVE MYSQLI_CLIENT_NO_SCHEMA MYSQLI_CLIENT_SSL MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT MYSQLI_CURSOR_TYPE_FOR_UPDATE MYSQLI_CURSOR_TYPE_NO_CURSOR MYSQLI_CURSOR_TYPE_READ_ONLY MYSQLI_CURSOR_TYPE_SCROLLABLE MYSQLI_DATA_TRUNCATED MYSQLI_DEBUG_TRACE_ENABLED MYSQLI_ENUM_FLAG MYSQLI_GROUP_FLAG MYSQLI_INIT_COMMAND MYSQLI_MULTIPLE_KEY_FLAG MYSQLI_NOT_NULL_FLAG MYSQLI_NO_DATA MYSQLI_NO_DEFAULT_VALUE_FLAG MYSQLI_NUM MYSQLI_NUM_FLAG MYSQLI_ON_UPDATE_NOW_FLAG MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS MYSQLI_OPT_CONNECT_TIMEOUT MYSQLI_OPT_INT_AND_FLOAT_NATIVE MYSQLI_OPT_LOCAL_INFILE MYSQLI_OPT_NET_CMD_BUFFER_SIZE MYSQLI_OPT_NET_READ_BUFFER_SIZE MYSQLI_OPT_SSL_VERIFY_SERVER_CERT MYSQLI_PART_KEY_FLAG MYSQLI_PRI_KEY_FLAG MYSQLI_READ_DEFAULT_FILE MYSQLI_READ_DEFAULT_GROUP MYSQLI_REFRESH_BACKUP_LOG MYSQLI_REFRESH_GRANT MYSQLI_REFRESH_HOSTS MYSQLI_REFRESH_LOG MYSQLI_REFRESH_MASTER MYSQLI_REFRESH_SLAVE MYSQLI_REFRESH_STATUS MYSQLI_REFRESH_TABLES MYSQLI_REFRESH_THREADS MYSQLI_REPORT_ALL MYSQLI_REPORT_ERROR MYSQLI_REPORT_INDEX MYSQLI_REPORT_OFF MYSQLI_REPORT_STRICT MYSQLI_SERVER_PS_OUT_PARAMS MYSQLI_SERVER_PUBLIC_KEY MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED MYSQLI_SERVER_QUERY_NO_INDEX_USED MYSQLI_SERVER_QUERY_WAS_SLOW MYSQLI_SET_CHARSET_DIR MYSQLI_SET_CHARSET_NAME MYSQLI_SET_FLAG MYSQLI_STMT_ATTR_CURSOR_TYPE MYSQLI_STMT_ATTR_PREFETCH_ROWS MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH MYSQLI_STORE_RESULT MYSQLI_STORE_RESULT_COPY_DATA MYSQLI_TIMESTAMP_FLAG MYSQLI_TRANS_COR_AND_CHAIN MYSQLI_TRANS_COR_AND_NO_CHAIN MYSQLI_TRANS_COR_NO_RELEASE MYSQLI_TRANS_COR_RELEASE MYSQLI_TRANS_START_READ_ONLY MYSQLI_TRANS_START_READ_WRITE MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT MYSQLI_TYPE_BIT MYSQLI_TYPE_BLOB MYSQLI_TYPE_CHAR MYSQLI_TYPE_DATE MYSQLI_TYPE_DATETIME MYSQLI_TYPE_DECIMAL MYSQLI_TYPE_DOUBLE MYSQLI_TYPE_ENUM MYSQLI_TYPE_FLOAT MYSQLI_TYPE_GEOMETRY MYSQLI_TYPE_INT24 MYSQLI_TYPE_INTERVAL MYSQLI_TYPE_JSON MYSQLI_TYPE_LONG MYSQLI_TYPE_LONGLONG MYSQLI_TYPE_LONG_BLOB MYSQLI_TYPE_MEDIUM_BLOB MYSQLI_TYPE_NEWDATE MYSQLI_TYPE_NEWDECIMAL MYSQLI_TYPE_NULL MYSQLI_TYPE_SET MYSQLI_TYPE_SHORT MYSQLI_TYPE_STRING MYSQLI_TYPE_TIME MYSQLI_TYPE_TIMESTAMP MYSQLI_TYPE_TINY MYSQLI_TYPE_TINY_BLOB MYSQLI_TYPE_VAR_STRING MYSQLI_TYPE_YEAR MYSQLI_UNIQUE_KEY_FLAG MYSQLI_UNSIGNED_FLAG MYSQLI_USE_RESULT MYSQLI_ZEROFILL_FLAG contained endif if index(g:php_syntax_extensions_enabled, "openssl") >= 0 && index(g:php_syntax_extensions_disabled, "openssl") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "openssl") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "openssl") < 0) " openssl constants @@ -253,15 +253,15 @@ syn keyword phpConstants OPENSSL_ALGO_DSS1 OPENSSL_ALGO_MD4 OPENSSL_ALGO_MD5 OPE endif if index(g:php_syntax_extensions_enabled, "pcre") >= 0 && index(g:php_syntax_extensions_disabled, "pcre") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "pcre") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "pcre") < 0) " pcre constants -syn keyword phpConstants PCRE_VERSION PREG_BACKTRACK_LIMIT_ERROR PREG_BAD_UTF8_ERROR PREG_BAD_UTF8_OFFSET_ERROR PREG_GREP_INVERT PREG_INTERNAL_ERROR PREG_NO_ERROR PREG_OFFSET_CAPTURE PREG_PATTERN_ORDER PREG_RECURSION_LIMIT_ERROR PREG_SET_ORDER PREG_SPLIT_DELIM_CAPTURE PREG_SPLIT_NO_EMPTY PREG_SPLIT_OFFSET_CAPTURE contained +syn keyword phpConstants PCRE_VERSION PREG_BACKTRACK_LIMIT_ERROR PREG_BAD_UTF8_ERROR PREG_BAD_UTF8_OFFSET_ERROR PREG_GREP_INVERT PREG_INTERNAL_ERROR PREG_JIT_STACKLIMIT_ERROR PREG_NO_ERROR PREG_OFFSET_CAPTURE PREG_PATTERN_ORDER PREG_RECURSION_LIMIT_ERROR PREG_SET_ORDER PREG_SPLIT_DELIM_CAPTURE PREG_SPLIT_NO_EMPTY PREG_SPLIT_OFFSET_CAPTURE contained endif if index(g:php_syntax_extensions_enabled, "pdo") >= 0 && index(g:php_syntax_extensions_disabled, "pdo") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "pdo") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "pdo") < 0) " PDO constants -syn keyword phpConstants ATTR_AUTOCOMMIT ATTR_CASE ATTR_CLIENT_VERSION ATTR_CONNECTION_STATUS ATTR_CURSOR ATTR_CURSOR_NAME ATTR_DEFAULT_FETCH_MODE ATTR_DRIVER_NAME ATTR_EMULATE_PREPARES ATTR_ERRMODE ATTR_FETCH_CATALOG_NAMES ATTR_FETCH_TABLE_NAMES ATTR_MAX_COLUMN_LEN ATTR_ORACLE_NULLS ATTR_PERSISTENT ATTR_PREFETCH ATTR_SERVER_INFO ATTR_SERVER_VERSION ATTR_STATEMENT_CLASS ATTR_STRINGIFY_FETCHES ATTR_TIMEOUT CASE_LOWER CASE_NATURAL CASE_UPPER CURSOR_FWDONLY CURSOR_SCROLL ERRMODE_EXCEPTION ERRMODE_SILENT ERRMODE_WARNING ERR_NONE FETCH_ASSOC FETCH_BOTH FETCH_BOUND FETCH_CLASS FETCH_CLASSTYPE FETCH_COLUMN FETCH_FUNC FETCH_GROUP FETCH_INTO FETCH_KEY_PAIR FETCH_LAZY FETCH_NAMED FETCH_NUM FETCH_OBJ FETCH_ORI_ABS FETCH_ORI_FIRST FETCH_ORI_LAST FETCH_ORI_NEXT FETCH_ORI_PRIOR FETCH_ORI_REL FETCH_PROPS_LATE FETCH_SERIALIZE FETCH_UNIQUE MYSQL_ATTR_COMPRESS MYSQL_ATTR_DIRECT_QUERY MYSQL_ATTR_FOUND_ROWS MYSQL_ATTR_IGNORE_SPACE MYSQL_ATTR_INIT_COMMAND MYSQL_ATTR_LOCAL_INFILE MYSQL_ATTR_MAX_BUFFER_SIZE MYSQL_ATTR_MULTI_STATEMENTS MYSQL_ATTR_READ_DEFAULT_FILE MYSQL_ATTR_READ_DEFAULT_GROUP MYSQL_ATTR_SSL_CA MYSQL_ATTR_SSL_CAPATH MYSQL_ATTR_SSL_CERT MYSQL_ATTR_SSL_CIPHER MYSQL_ATTR_SSL_KEY MYSQL_ATTR_USE_BUFFERED_QUERY NULL_EMPTY_STRING NULL_NATURAL NULL_TO_STRING PARAM_BOOL PARAM_EVT_ALLOC PARAM_EVT_EXEC_POST PARAM_EVT_EXEC_PRE PARAM_EVT_FETCH_POST PARAM_EVT_FETCH_PRE PARAM_EVT_FREE PARAM_EVT_NORMALIZE PARAM_INPUT_OUTPUT PARAM_INT PARAM_LOB PARAM_NULL PARAM_STMT PARAM_STR PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT PGSQL_ATTR_DISABLE_PREPARES PGSQL_TRANSACTION_ACTIVE PGSQL_TRANSACTION_IDLE PGSQL_TRANSACTION_INERROR PGSQL_TRANSACTION_INTRANS PGSQL_TRANSACTION_UNKNOWN contained +syn keyword phpConstants ATTR_AUTOCOMMIT ATTR_CASE ATTR_CLIENT_VERSION ATTR_CONNECTION_STATUS ATTR_CURSOR ATTR_CURSOR_NAME ATTR_DEFAULT_FETCH_MODE ATTR_DRIVER_NAME ATTR_EMULATE_PREPARES ATTR_ERRMODE ATTR_FETCH_CATALOG_NAMES ATTR_FETCH_TABLE_NAMES ATTR_MAX_COLUMN_LEN ATTR_ORACLE_NULLS ATTR_PERSISTENT ATTR_PREFETCH ATTR_SERVER_INFO ATTR_SERVER_VERSION ATTR_STATEMENT_CLASS ATTR_STRINGIFY_FETCHES ATTR_TIMEOUT CASE_LOWER CASE_NATURAL CASE_UPPER CURSOR_FWDONLY CURSOR_SCROLL ERRMODE_EXCEPTION ERRMODE_SILENT ERRMODE_WARNING ERR_NONE FETCH_ASSOC FETCH_BOTH FETCH_BOUND FETCH_CLASS FETCH_CLASSTYPE FETCH_COLUMN FETCH_FUNC FETCH_GROUP FETCH_INTO FETCH_KEY_PAIR FETCH_LAZY FETCH_NAMED FETCH_NUM FETCH_OBJ FETCH_ORI_ABS FETCH_ORI_FIRST FETCH_ORI_LAST FETCH_ORI_NEXT FETCH_ORI_PRIOR FETCH_ORI_REL FETCH_PROPS_LATE FETCH_SERIALIZE FETCH_UNIQUE MYSQL_ATTR_COMPRESS MYSQL_ATTR_DIRECT_QUERY MYSQL_ATTR_FOUND_ROWS MYSQL_ATTR_IGNORE_SPACE MYSQL_ATTR_INIT_COMMAND MYSQL_ATTR_LOCAL_INFILE MYSQL_ATTR_MULTI_STATEMENTS MYSQL_ATTR_SERVER_PUBLIC_KEY MYSQL_ATTR_SSL_CA MYSQL_ATTR_SSL_CAPATH MYSQL_ATTR_SSL_CERT MYSQL_ATTR_SSL_CIPHER MYSQL_ATTR_SSL_KEY MYSQL_ATTR_USE_BUFFERED_QUERY NULL_EMPTY_STRING NULL_NATURAL NULL_TO_STRING PARAM_BOOL PARAM_EVT_ALLOC PARAM_EVT_EXEC_POST PARAM_EVT_EXEC_PRE PARAM_EVT_FETCH_POST PARAM_EVT_FETCH_PRE PARAM_EVT_FREE PARAM_EVT_NORMALIZE PARAM_INPUT_OUTPUT PARAM_INT PARAM_LOB PARAM_NULL PARAM_STMT PARAM_STR PGSQL_ATTR_DISABLE_PREPARES PGSQL_TRANSACTION_ACTIVE PGSQL_TRANSACTION_IDLE PGSQL_TRANSACTION_INERROR PGSQL_TRANSACTION_INTRANS PGSQL_TRANSACTION_UNKNOWN contained endif if index(g:php_syntax_extensions_enabled, "pgsql") >= 0 && index(g:php_syntax_extensions_disabled, "pgsql") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "pgsql") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "pgsql") < 0) " pgsql constants -syn keyword phpConstants PGSQL_ASSOC PGSQL_BAD_RESPONSE PGSQL_BOTH PGSQL_COMMAND_OK PGSQL_CONNECTION_AUTH_OK PGSQL_CONNECTION_AWAITING_RESPONSE PGSQL_CONNECTION_BAD PGSQL_CONNECTION_MADE PGSQL_CONNECTION_OK PGSQL_CONNECTION_SETENV PGSQL_CONNECTION_STARTED PGSQL_CONNECT_ASYNC PGSQL_CONNECT_FORCE_NEW PGSQL_CONV_FORCE_NULL PGSQL_CONV_IGNORE_DEFAULT PGSQL_CONV_IGNORE_NOT_NULL PGSQL_COPY_IN PGSQL_COPY_OUT PGSQL_DIAG_CONTEXT PGSQL_DIAG_INTERNAL_POSITION PGSQL_DIAG_INTERNAL_QUERY PGSQL_DIAG_MESSAGE_DETAIL PGSQL_DIAG_MESSAGE_HINT PGSQL_DIAG_MESSAGE_PRIMARY PGSQL_DIAG_SEVERITY PGSQL_DIAG_SOURCE_FILE PGSQL_DIAG_SOURCE_FUNCTION PGSQL_DIAG_SOURCE_LINE PGSQL_DIAG_SQLSTATE PGSQL_DIAG_STATEMENT_POSITION PGSQL_DML_ASYNC PGSQL_DML_ESCAPE PGSQL_DML_EXEC PGSQL_DML_NO_CONV PGSQL_DML_STRING PGSQL_EMPTY_QUERY PGSQL_ERRORS_DEFAULT PGSQL_ERRORS_TERSE PGSQL_ERRORS_VERBOSE PGSQL_FATAL_ERROR PGSQL_LIBPQ_VERSION PGSQL_LIBPQ_VERSION_STR PGSQL_NONFATAL_ERROR PGSQL_NUM PGSQL_POLLING_ACTIVE PGSQL_POLLING_FAILED PGSQL_POLLING_OK PGSQL_POLLING_READING PGSQL_POLLING_WRITING PGSQL_SEEK_CUR PGSQL_SEEK_END PGSQL_SEEK_SET PGSQL_STATUS_LONG PGSQL_STATUS_STRING PGSQL_TRANSACTION_ACTIVE PGSQL_TRANSACTION_IDLE PGSQL_TRANSACTION_INERROR PGSQL_TRANSACTION_INTRANS PGSQL_TRANSACTION_UNKNOWN PGSQL_TUPLES_OK contained +syn keyword phpConstants PGSQL_ASSOC PGSQL_BAD_RESPONSE PGSQL_BOTH PGSQL_COMMAND_OK PGSQL_CONNECTION_AUTH_OK PGSQL_CONNECTION_AWAITING_RESPONSE PGSQL_CONNECTION_BAD PGSQL_CONNECTION_MADE PGSQL_CONNECTION_OK PGSQL_CONNECTION_SETENV PGSQL_CONNECTION_STARTED PGSQL_CONNECT_ASYNC PGSQL_CONNECT_FORCE_NEW PGSQL_CONV_FORCE_NULL PGSQL_CONV_IGNORE_DEFAULT PGSQL_CONV_IGNORE_NOT_NULL PGSQL_COPY_IN PGSQL_COPY_OUT PGSQL_DIAG_CONTEXT PGSQL_DIAG_INTERNAL_POSITION PGSQL_DIAG_INTERNAL_QUERY PGSQL_DIAG_MESSAGE_DETAIL PGSQL_DIAG_MESSAGE_HINT PGSQL_DIAG_MESSAGE_PRIMARY PGSQL_DIAG_SEVERITY PGSQL_DIAG_SOURCE_FILE PGSQL_DIAG_SOURCE_FUNCTION PGSQL_DIAG_SOURCE_LINE PGSQL_DIAG_SQLSTATE PGSQL_DIAG_STATEMENT_POSITION PGSQL_DML_ASYNC PGSQL_DML_ESCAPE PGSQL_DML_EXEC PGSQL_DML_NO_CONV PGSQL_DML_STRING PGSQL_EMPTY_QUERY PGSQL_ERRORS_DEFAULT PGSQL_ERRORS_TERSE PGSQL_ERRORS_VERBOSE PGSQL_FATAL_ERROR PGSQL_LIBPQ_VERSION PGSQL_LIBPQ_VERSION_STR PGSQL_NONFATAL_ERROR PGSQL_NOTICE_ALL PGSQL_NOTICE_CLEAR PGSQL_NOTICE_LAST PGSQL_NUM PGSQL_POLLING_ACTIVE PGSQL_POLLING_FAILED PGSQL_POLLING_OK PGSQL_POLLING_READING PGSQL_POLLING_WRITING PGSQL_SEEK_CUR PGSQL_SEEK_END PGSQL_SEEK_SET PGSQL_STATUS_LONG PGSQL_STATUS_STRING PGSQL_TRANSACTION_ACTIVE PGSQL_TRANSACTION_IDLE PGSQL_TRANSACTION_INERROR PGSQL_TRANSACTION_INTRANS PGSQL_TRANSACTION_UNKNOWN PGSQL_TUPLES_OK contained endif if index(g:php_syntax_extensions_enabled, "phar") >= 0 && index(g:php_syntax_extensions_disabled, "phar") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "phar") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "phar") < 0) " Phar constants @@ -281,7 +281,7 @@ syn keyword phpConstants APACHE_MAP SOAP_1_1 SOAP_1_2 SOAP_ACTOR_NEXT SOAP_ACTOR endif if index(g:php_syntax_extensions_enabled, "sockets") >= 0 && index(g:php_syntax_extensions_disabled, "sockets") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "sockets") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "sockets") < 0) " sockets constants -syn keyword phpConstants AF_INET AF_INET6 AF_UNIX IPPROTO_IP IPPROTO_IPV6 IPV6_HOPLIMIT IPV6_MULTICAST_HOPS IPV6_MULTICAST_IF IPV6_MULTICAST_LOOP IPV6_PKTINFO IPV6_RECVHOPLIMIT IPV6_RECVPKTINFO IPV6_RECVTCLASS IPV6_TCLASS IPV6_UNICAST_HOPS IP_MULTICAST_IF IP_MULTICAST_LOOP IP_MULTICAST_TTL MCAST_BLOCK_SOURCE MCAST_JOIN_GROUP MCAST_JOIN_SOURCE_GROUP MCAST_LEAVE_GROUP MCAST_LEAVE_SOURCE_GROUP MCAST_UNBLOCK_SOURCE MSG_CMSG_CLOEXEC MSG_CONFIRM MSG_CTRUNC MSG_DONTROUTE MSG_DONTWAIT MSG_EOF MSG_EOR MSG_ERRQUEUE MSG_MORE MSG_NOSIGNAL MSG_OOB MSG_PEEK MSG_TRUNC MSG_WAITALL MSG_WAITFORONE PHP_BINARY_READ PHP_NORMAL_READ SCM_CREDENTIALS SCM_RIGHTS SOCKET_E2BIG SOCKET_EACCES SOCKET_EADDRINUSE SOCKET_EADDRNOTAVAIL SOCKET_EADV SOCKET_EAFNOSUPPORT SOCKET_EAGAIN SOCKET_EALREADY SOCKET_EBADE SOCKET_EBADF SOCKET_EBADFD SOCKET_EBADMSG SOCKET_EBADR SOCKET_EBADRQC SOCKET_EBADSLT SOCKET_EBUSY SOCKET_ECHRNG SOCKET_ECOMM SOCKET_ECONNABORTED SOCKET_ECONNREFUSED SOCKET_ECONNRESET SOCKET_EDESTADDRREQ SOCKET_EDQUOT SOCKET_EEXIST SOCKET_EFAULT SOCKET_EHOSTDOWN SOCKET_EHOSTUNREACH SOCKET_EIDRM SOCKET_EINPROGRESS SOCKET_EINTR SOCKET_EINVAL SOCKET_EIO SOCKET_EISCONN SOCKET_EISDIR SOCKET_EISNAM SOCKET_EL2HLT SOCKET_EL2NSYNC SOCKET_EL3HLT SOCKET_EL3RST SOCKET_ELNRNG SOCKET_ELOOP SOCKET_EMEDIUMTYPE SOCKET_EMFILE SOCKET_EMLINK SOCKET_EMSGSIZE SOCKET_EMULTIHOP SOCKET_ENAMETOOLONG SOCKET_ENETDOWN SOCKET_ENETRESET SOCKET_ENETUNREACH SOCKET_ENFILE SOCKET_ENOANO SOCKET_ENOBUFS SOCKET_ENOCSI SOCKET_ENODATA SOCKET_ENODEV SOCKET_ENOENT SOCKET_ENOLCK SOCKET_ENOLINK SOCKET_ENOMEDIUM SOCKET_ENOMEM SOCKET_ENOMSG SOCKET_ENONET SOCKET_ENOPROTOOPT SOCKET_ENOSPC SOCKET_ENOSR SOCKET_ENOSTR SOCKET_ENOSYS SOCKET_ENOTBLK SOCKET_ENOTCONN SOCKET_ENOTDIR SOCKET_ENOTEMPTY SOCKET_ENOTSOCK SOCKET_ENOTTY SOCKET_ENOTUNIQ SOCKET_ENXIO SOCKET_EOPNOTSUPP SOCKET_EPERM SOCKET_EPFNOSUPPORT SOCKET_EPIPE SOCKET_EPROTO SOCKET_EPROTONOSUPPORT SOCKET_EPROTOTYPE SOCKET_EREMCHG SOCKET_EREMOTE SOCKET_EREMOTEIO SOCKET_ERESTART SOCKET_EROFS SOCKET_ESHUTDOWN SOCKET_ESOCKTNOSUPPORT SOCKET_ESPIPE SOCKET_ESRMNT SOCKET_ESTRPIPE SOCKET_ETIME SOCKET_ETIMEDOUT SOCKET_ETOOMANYREFS SOCKET_EUNATCH SOCKET_EUSERS SOCKET_EWOULDBLOCK SOCKET_EXDEV SOCKET_EXFULL SOCK_DGRAM SOCK_RAW SOCK_RDM SOCK_SEQPACKET SOCK_STREAM SOL_SOCKET SOL_TCP SOL_UDP SOMAXCONN SO_BINDTODEVICE SO_BROADCAST SO_DEBUG SO_DONTROUTE SO_ERROR SO_KEEPALIVE SO_LINGER SO_OOBINLINE SO_PASSCRED SO_RCVBUF SO_RCVLOWAT SO_RCVTIMEO SO_REUSEADDR SO_REUSEPORT SO_SNDBUF SO_SNDLOWAT SO_SNDTIMEO SO_TYPE TCP_NODELAY contained +syn keyword phpConstants AF_INET AF_INET6 AF_UNIX IPPROTO_IP IPPROTO_IPV6 IPV6_HOPLIMIT IPV6_MULTICAST_HOPS IPV6_MULTICAST_IF IPV6_MULTICAST_LOOP IPV6_PKTINFO IPV6_RECVHOPLIMIT IPV6_RECVPKTINFO IPV6_RECVTCLASS IPV6_TCLASS IPV6_UNICAST_HOPS IPV6_V6ONLY IP_MULTICAST_IF IP_MULTICAST_LOOP IP_MULTICAST_TTL MCAST_BLOCK_SOURCE MCAST_JOIN_GROUP MCAST_JOIN_SOURCE_GROUP MCAST_LEAVE_GROUP MCAST_LEAVE_SOURCE_GROUP MCAST_UNBLOCK_SOURCE MSG_CMSG_CLOEXEC MSG_CONFIRM MSG_CTRUNC MSG_DONTROUTE MSG_DONTWAIT MSG_EOF MSG_EOR MSG_ERRQUEUE MSG_MORE MSG_NOSIGNAL MSG_OOB MSG_PEEK MSG_TRUNC MSG_WAITALL MSG_WAITFORONE PHP_BINARY_READ PHP_NORMAL_READ SCM_CREDENTIALS SCM_RIGHTS SOCKET_E2BIG SOCKET_EACCES SOCKET_EADDRINUSE SOCKET_EADDRNOTAVAIL SOCKET_EADV SOCKET_EAFNOSUPPORT SOCKET_EAGAIN SOCKET_EALREADY SOCKET_EBADE SOCKET_EBADF SOCKET_EBADFD SOCKET_EBADMSG SOCKET_EBADR SOCKET_EBADRQC SOCKET_EBADSLT SOCKET_EBUSY SOCKET_ECHRNG SOCKET_ECOMM SOCKET_ECONNABORTED SOCKET_ECONNREFUSED SOCKET_ECONNRESET SOCKET_EDESTADDRREQ SOCKET_EDQUOT SOCKET_EEXIST SOCKET_EFAULT SOCKET_EHOSTDOWN SOCKET_EHOSTUNREACH SOCKET_EIDRM SOCKET_EINPROGRESS SOCKET_EINTR SOCKET_EINVAL SOCKET_EIO SOCKET_EISCONN SOCKET_EISDIR SOCKET_EISNAM SOCKET_EL2HLT SOCKET_EL2NSYNC SOCKET_EL3HLT SOCKET_EL3RST SOCKET_ELNRNG SOCKET_ELOOP SOCKET_EMEDIUMTYPE SOCKET_EMFILE SOCKET_EMLINK SOCKET_EMSGSIZE SOCKET_EMULTIHOP SOCKET_ENAMETOOLONG SOCKET_ENETDOWN SOCKET_ENETRESET SOCKET_ENETUNREACH SOCKET_ENFILE SOCKET_ENOANO SOCKET_ENOBUFS SOCKET_ENOCSI SOCKET_ENODATA SOCKET_ENODEV SOCKET_ENOENT SOCKET_ENOLCK SOCKET_ENOLINK SOCKET_ENOMEDIUM SOCKET_ENOMEM SOCKET_ENOMSG SOCKET_ENONET SOCKET_ENOPROTOOPT SOCKET_ENOSPC SOCKET_ENOSR SOCKET_ENOSTR SOCKET_ENOSYS SOCKET_ENOTBLK SOCKET_ENOTCONN SOCKET_ENOTDIR SOCKET_ENOTEMPTY SOCKET_ENOTSOCK SOCKET_ENOTTY SOCKET_ENOTUNIQ SOCKET_ENXIO SOCKET_EOPNOTSUPP SOCKET_EPERM SOCKET_EPFNOSUPPORT SOCKET_EPIPE SOCKET_EPROTO SOCKET_EPROTONOSUPPORT SOCKET_EPROTOTYPE SOCKET_EREMCHG SOCKET_EREMOTE SOCKET_EREMOTEIO SOCKET_ERESTART SOCKET_EROFS SOCKET_ESHUTDOWN SOCKET_ESOCKTNOSUPPORT SOCKET_ESPIPE SOCKET_ESRMNT SOCKET_ESTRPIPE SOCKET_ETIME SOCKET_ETIMEDOUT SOCKET_ETOOMANYREFS SOCKET_EUNATCH SOCKET_EUSERS SOCKET_EWOULDBLOCK SOCKET_EXDEV SOCKET_EXFULL SOCK_DGRAM SOCK_RAW SOCK_RDM SOCK_SEQPACKET SOCK_STREAM SOL_SOCKET SOL_TCP SOL_UDP SOMAXCONN SO_BINDTODEVICE SO_BROADCAST SO_DEBUG SO_DONTROUTE SO_ERROR SO_KEEPALIVE SO_LINGER SO_OOBINLINE SO_PASSCRED SO_RCVBUF SO_RCVLOWAT SO_RCVTIMEO SO_REUSEADDR SO_REUSEPORT SO_SNDBUF SO_SNDLOWAT SO_SNDTIMEO SO_TYPE TCP_NODELAY contained endif if index(g:php_syntax_extensions_enabled, "spl") >= 0 && index(g:php_syntax_extensions_disabled, "spl") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "spl") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "spl") < 0) " SPL constants @@ -293,11 +293,11 @@ syn keyword phpConstants SQLITE3_ASSOC SQLITE3_BLOB SQLITE3_BOTH SQLITE3_FLOAT S endif if index(g:php_syntax_extensions_enabled, "standard") >= 0 && index(g:php_syntax_extensions_disabled, "standard") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "standard") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "standard") < 0) " standard constants -syn keyword phpConstants ABDAY_1 ABDAY_2 ABDAY_3 ABDAY_4 ABDAY_5 ABDAY_6 ABDAY_7 ABMON_1 ABMON_2 ABMON_3 ABMON_4 ABMON_5 ABMON_6 ABMON_7 ABMON_8 ABMON_9 ABMON_10 ABMON_11 ABMON_12 ALT_DIGITS AM_STR ARRAY_FILTER_USE_BOTH ARRAY_FILTER_USE_KEY ASSERT_ACTIVE ASSERT_BAIL ASSERT_CALLBACK ASSERT_QUIET_EVAL ASSERT_WARNING CASE_LOWER CASE_UPPER CHAR_MAX CODESET CONNECTION_ABORTED CONNECTION_NORMAL CONNECTION_TIMEOUT COUNT_NORMAL COUNT_RECURSIVE CREDITS_ALL CREDITS_DOCS CREDITS_FULLPAGE CREDITS_GENERAL CREDITS_GROUP CREDITS_MODULES CREDITS_QA CREDITS_SAPI CRNCYSTR CRYPT_BLOWFISH CRYPT_EXT_DES CRYPT_MD5 CRYPT_SALT_LENGTH CRYPT_SHA256 CRYPT_SHA512 CRYPT_STD_DES DAY_1 DAY_2 DAY_3 DAY_4 DAY_5 DAY_6 DAY_7 DIRECTORY_SEPARATOR DNS_A DNS_A6 DNS_AAAA DNS_ALL DNS_ANY DNS_CNAME DNS_HINFO DNS_MX DNS_NAPTR DNS_NS DNS_PTR DNS_SOA DNS_SRV DNS_TXT D_FMT D_T_FMT ENT_COMPAT ENT_DISALLOWED ENT_HTML5 ENT_HTML401 ENT_IGNORE ENT_NOQUOTES ENT_QUOTES ENT_SUBSTITUTE ENT_XHTML ENT_XML1 ERA ERA_D_FMT ERA_D_T_FMT ERA_T_FMT EXTR_IF_EXISTS EXTR_OVERWRITE EXTR_PREFIX_ALL EXTR_PREFIX_IF_EXISTS EXTR_PREFIX_INVALID EXTR_PREFIX_SAME EXTR_REFS EXTR_SKIP FILE_APPEND FILE_BINARY FILE_IGNORE_NEW_LINES FILE_NO_DEFAULT_CONTEXT FILE_SKIP_EMPTY_LINES FILE_TEXT FILE_USE_INCLUDE_PATH FNM_CASEFOLD FNM_NOESCAPE FNM_PATHNAME FNM_PERIOD GLOB_AVAILABLE_FLAGS GLOB_BRACE GLOB_ERR GLOB_MARK GLOB_NOCHECK GLOB_NOESCAPE GLOB_NOSORT GLOB_ONLYDIR HTML_ENTITIES HTML_SPECIALCHARS IMAGETYPE_BMP IMAGETYPE_COUNT IMAGETYPE_GIF IMAGETYPE_ICO IMAGETYPE_IFF IMAGETYPE_JB2 IMAGETYPE_JP2 IMAGETYPE_JPC IMAGETYPE_JPEG IMAGETYPE_JPEG2000 IMAGETYPE_JPX IMAGETYPE_PNG IMAGETYPE_PSD IMAGETYPE_SWC IMAGETYPE_SWF IMAGETYPE_TIFF_II IMAGETYPE_TIFF_MM IMAGETYPE_UNKNOWN IMAGETYPE_WBMP IMAGETYPE_XBM INF INFO_ALL INFO_CONFIGURATION INFO_CREDITS INFO_ENVIRONMENT INFO_GENERAL INFO_LICENSE INFO_MODULES INFO_VARIABLES INI_ALL INI_PERDIR INI_SCANNER_NORMAL INI_SCANNER_RAW INI_SCANNER_TYPED INI_SYSTEM INI_USER LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCK_EX LOCK_NB LOCK_SH LOCK_UN LOG_ALERT LOG_AUTH LOG_AUTHPRIV LOG_CONS LOG_CRIT LOG_CRON LOG_DAEMON LOG_DEBUG LOG_EMERG LOG_ERR LOG_INFO LOG_KERN LOG_LOCAL0 LOG_LOCAL1 LOG_LOCAL2 LOG_LOCAL3 LOG_LOCAL4 LOG_LOCAL5 LOG_LOCAL6 LOG_LOCAL7 LOG_LPR LOG_MAIL LOG_NDELAY LOG_NEWS LOG_NOTICE LOG_NOWAIT LOG_ODELAY LOG_PERROR LOG_PID LOG_SYSLOG LOG_USER LOG_UUCP LOG_WARNING MON_1 MON_2 MON_3 MON_4 MON_5 MON_6 MON_7 MON_8 MON_9 MON_10 MON_11 MON_12 M_1_PI M_2_PI M_2_SQRTPI M_E M_EULER M_LN2 M_LN10 M_LNPI M_LOG2E M_LOG10E M_PI M_PI_2 M_PI_4 M_SQRT1_2 M_SQRT2 M_SQRT3 M_SQRTPI NAN NOEXPR PASSWORD_BCRYPT PASSWORD_BCRYPT_DEFAULT_COST PASSWORD_DEFAULT PATHINFO_BASENAME PATHINFO_DIRNAME PATHINFO_EXTENSION PATHINFO_FILENAME PATH_SEPARATOR PHP_QUERY_RFC1738 PHP_QUERY_RFC3986 PHP_ROUND_HALF_DOWN PHP_ROUND_HALF_EVEN PHP_ROUND_HALF_ODD PHP_ROUND_HALF_UP PHP_URL_FRAGMENT PHP_URL_HOST PHP_URL_PASS PHP_URL_PATH PHP_URL_PORT PHP_URL_QUERY PHP_URL_SCHEME PHP_URL_USER PM_STR PSFS_ERR_FATAL PSFS_FEED_ME PSFS_FLAG_FLUSH_CLOSE PSFS_FLAG_FLUSH_INC PSFS_FLAG_NORMAL PSFS_PASS_ON RADIXCHAR SCANDIR_SORT_ASCENDING SCANDIR_SORT_DESCENDING SCANDIR_SORT_NONE SEEK_CUR SEEK_END SEEK_SET SORT_ASC SORT_DESC SORT_FLAG_CASE SORT_LOCALE_STRING SORT_NATURAL SORT_NUMERIC SORT_REGULAR SORT_STRING STREAM_BUFFER_FULL STREAM_BUFFER_LINE STREAM_BUFFER_NONE STREAM_CAST_AS_STREAM STREAM_CAST_FOR_SELECT STREAM_CLIENT_ASYNC_CONNECT STREAM_CLIENT_CONNECT STREAM_CLIENT_PERSISTENT STREAM_CRYPTO_METHOD_ANY_CLIENT STREAM_CRYPTO_METHOD_ANY_SERVER STREAM_CRYPTO_METHOD_SSLv2_CLIENT STREAM_CRYPTO_METHOD_SSLv2_SERVER STREAM_CRYPTO_METHOD_SSLv3_CLIENT STREAM_CRYPTO_METHOD_SSLv3_SERVER STREAM_CRYPTO_METHOD_SSLv23_CLIENT STREAM_CRYPTO_METHOD_SSLv23_SERVER STREAM_CRYPTO_METHOD_TLS_CLIENT STREAM_CRYPTO_METHOD_TLS_SERVER STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT STREAM_CRYPTO_METHOD_TLSv1_0_SERVER STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT STREAM_CRYPTO_METHOD_TLSv1_1_SERVER STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT STREAM_CRYPTO_METHOD_TLSv1_2_SERVER STREAM_FILTER_ALL STREAM_FILTER_READ STREAM_FILTER_WRITE STREAM_IGNORE_URL STREAM_IPPROTO_ICMP STREAM_IPPROTO_IP STREAM_IPPROTO_RAW STREAM_IPPROTO_TCP STREAM_IPPROTO_UDP STREAM_IS_URL STREAM_META_ACCESS STREAM_META_GROUP STREAM_META_GROUP_NAME STREAM_META_OWNER STREAM_META_OWNER_NAME STREAM_META_TOUCH STREAM_MKDIR_RECURSIVE STREAM_MUST_SEEK STREAM_NOTIFY_AUTH_REQUIRED STREAM_NOTIFY_AUTH_RESULT STREAM_NOTIFY_COMPLETED STREAM_NOTIFY_CONNECT STREAM_NOTIFY_FAILURE STREAM_NOTIFY_FILE_SIZE_IS STREAM_NOTIFY_MIME_TYPE_IS STREAM_NOTIFY_PROGRESS STREAM_NOTIFY_REDIRECTED STREAM_NOTIFY_RESOLVE STREAM_NOTIFY_SEVERITY_ERR STREAM_NOTIFY_SEVERITY_INFO STREAM_NOTIFY_SEVERITY_WARN STREAM_OOB STREAM_OPTION_BLOCKING STREAM_OPTION_READ_BUFFER STREAM_OPTION_READ_TIMEOUT STREAM_OPTION_WRITE_BUFFER STREAM_PEEK STREAM_PF_INET STREAM_PF_INET6 STREAM_PF_UNIX STREAM_REPORT_ERRORS STREAM_SERVER_BIND STREAM_SERVER_LISTEN STREAM_SHUT_RD STREAM_SHUT_RDWR STREAM_SHUT_WR STREAM_SOCK_DGRAM STREAM_SOCK_RAW STREAM_SOCK_RDM STREAM_SOCK_SEQPACKET STREAM_SOCK_STREAM STREAM_URL_STAT_LINK STREAM_URL_STAT_QUIET STREAM_USE_PATH STR_PAD_BOTH STR_PAD_LEFT STR_PAD_RIGHT THOUSEP T_FMT T_FMT_AMPM YESEXPR contained +syn keyword phpConstants ABDAY_1 ABDAY_2 ABDAY_3 ABDAY_4 ABDAY_5 ABDAY_6 ABDAY_7 ABMON_1 ABMON_2 ABMON_3 ABMON_4 ABMON_5 ABMON_6 ABMON_7 ABMON_8 ABMON_9 ABMON_10 ABMON_11 ABMON_12 ALT_DIGITS AM_STR ARRAY_FILTER_USE_BOTH ARRAY_FILTER_USE_KEY ASSERT_ACTIVE ASSERT_BAIL ASSERT_CALLBACK ASSERT_EXCEPTION ASSERT_QUIET_EVAL ASSERT_WARNING CASE_LOWER CASE_UPPER CHAR_MAX CODESET CONNECTION_ABORTED CONNECTION_NORMAL CONNECTION_TIMEOUT COUNT_NORMAL COUNT_RECURSIVE CREDITS_ALL CREDITS_DOCS CREDITS_FULLPAGE CREDITS_GENERAL CREDITS_GROUP CREDITS_MODULES CREDITS_QA CREDITS_SAPI CRNCYSTR CRYPT_BLOWFISH CRYPT_EXT_DES CRYPT_MD5 CRYPT_SALT_LENGTH CRYPT_SHA256 CRYPT_SHA512 CRYPT_STD_DES DAY_1 DAY_2 DAY_3 DAY_4 DAY_5 DAY_6 DAY_7 DIRECTORY_SEPARATOR DNS_A DNS_A6 DNS_AAAA DNS_ALL DNS_ANY DNS_CNAME DNS_HINFO DNS_MX DNS_NAPTR DNS_NS DNS_PTR DNS_SOA DNS_SRV DNS_TXT D_FMT D_T_FMT ENT_COMPAT ENT_DISALLOWED ENT_HTML5 ENT_HTML401 ENT_IGNORE ENT_NOQUOTES ENT_QUOTES ENT_SUBSTITUTE ENT_XHTML ENT_XML1 ERA ERA_D_FMT ERA_D_T_FMT ERA_T_FMT EXTR_IF_EXISTS EXTR_OVERWRITE EXTR_PREFIX_ALL EXTR_PREFIX_IF_EXISTS EXTR_PREFIX_INVALID EXTR_PREFIX_SAME EXTR_REFS EXTR_SKIP FILE_APPEND FILE_BINARY FILE_IGNORE_NEW_LINES FILE_NO_DEFAULT_CONTEXT FILE_SKIP_EMPTY_LINES FILE_TEXT FILE_USE_INCLUDE_PATH FNM_CASEFOLD FNM_NOESCAPE FNM_PATHNAME FNM_PERIOD GLOB_AVAILABLE_FLAGS GLOB_BRACE GLOB_ERR GLOB_MARK GLOB_NOCHECK GLOB_NOESCAPE GLOB_NOSORT GLOB_ONLYDIR HTML_ENTITIES HTML_SPECIALCHARS IMAGETYPE_BMP IMAGETYPE_COUNT IMAGETYPE_GIF IMAGETYPE_ICO IMAGETYPE_IFF IMAGETYPE_JB2 IMAGETYPE_JP2 IMAGETYPE_JPC IMAGETYPE_JPEG IMAGETYPE_JPEG2000 IMAGETYPE_JPX IMAGETYPE_PNG IMAGETYPE_PSD IMAGETYPE_SWC IMAGETYPE_SWF IMAGETYPE_TIFF_II IMAGETYPE_TIFF_MM IMAGETYPE_UNKNOWN IMAGETYPE_WBMP IMAGETYPE_WEBP IMAGETYPE_XBM INF INFO_ALL INFO_CONFIGURATION INFO_CREDITS INFO_ENVIRONMENT INFO_GENERAL INFO_LICENSE INFO_MODULES INFO_VARIABLES INI_ALL INI_PERDIR INI_SCANNER_NORMAL INI_SCANNER_RAW INI_SCANNER_TYPED INI_SYSTEM INI_USER LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCK_EX LOCK_NB LOCK_SH LOCK_UN LOG_ALERT LOG_AUTH LOG_AUTHPRIV LOG_CONS LOG_CRIT LOG_CRON LOG_DAEMON LOG_DEBUG LOG_EMERG LOG_ERR LOG_INFO LOG_KERN LOG_LOCAL0 LOG_LOCAL1 LOG_LOCAL2 LOG_LOCAL3 LOG_LOCAL4 LOG_LOCAL5 LOG_LOCAL6 LOG_LOCAL7 LOG_LPR LOG_MAIL LOG_NDELAY LOG_NEWS LOG_NOTICE LOG_NOWAIT LOG_ODELAY LOG_PERROR LOG_PID LOG_SYSLOG LOG_USER LOG_UUCP LOG_WARNING MON_1 MON_2 MON_3 MON_4 MON_5 MON_6 MON_7 MON_8 MON_9 MON_10 MON_11 MON_12 MT_RAND_MT19937 MT_RAND_PHP M_1_PI M_2_PI M_2_SQRTPI M_E M_EULER M_LN2 M_LN10 M_LNPI M_LOG2E M_LOG10E M_PI M_PI_2 M_PI_4 M_SQRT1_2 M_SQRT2 M_SQRT3 M_SQRTPI NAN NOEXPR PASSWORD_BCRYPT PASSWORD_BCRYPT_DEFAULT_COST PASSWORD_DEFAULT PATHINFO_BASENAME PATHINFO_DIRNAME PATHINFO_EXTENSION PATHINFO_FILENAME PATH_SEPARATOR PHP_QUERY_RFC1738 PHP_QUERY_RFC3986 PHP_ROUND_HALF_DOWN PHP_ROUND_HALF_EVEN PHP_ROUND_HALF_ODD PHP_ROUND_HALF_UP PHP_URL_FRAGMENT PHP_URL_HOST PHP_URL_PASS PHP_URL_PATH PHP_URL_PORT PHP_URL_QUERY PHP_URL_SCHEME PHP_URL_USER PM_STR PSFS_ERR_FATAL PSFS_FEED_ME PSFS_FLAG_FLUSH_CLOSE PSFS_FLAG_FLUSH_INC PSFS_FLAG_NORMAL PSFS_PASS_ON RADIXCHAR SCANDIR_SORT_ASCENDING SCANDIR_SORT_DESCENDING SCANDIR_SORT_NONE SEEK_CUR SEEK_END SEEK_SET SORT_ASC SORT_DESC SORT_FLAG_CASE SORT_LOCALE_STRING SORT_NATURAL SORT_NUMERIC SORT_REGULAR SORT_STRING STREAM_BUFFER_FULL STREAM_BUFFER_LINE STREAM_BUFFER_NONE STREAM_CAST_AS_STREAM STREAM_CAST_FOR_SELECT STREAM_CLIENT_ASYNC_CONNECT STREAM_CLIENT_CONNECT STREAM_CLIENT_PERSISTENT STREAM_CRYPTO_METHOD_ANY_CLIENT STREAM_CRYPTO_METHOD_ANY_SERVER STREAM_CRYPTO_METHOD_SSLv2_CLIENT STREAM_CRYPTO_METHOD_SSLv2_SERVER STREAM_CRYPTO_METHOD_SSLv3_CLIENT STREAM_CRYPTO_METHOD_SSLv3_SERVER STREAM_CRYPTO_METHOD_SSLv23_CLIENT STREAM_CRYPTO_METHOD_SSLv23_SERVER STREAM_CRYPTO_METHOD_TLS_CLIENT STREAM_CRYPTO_METHOD_TLS_SERVER STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT STREAM_CRYPTO_METHOD_TLSv1_0_SERVER STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT STREAM_CRYPTO_METHOD_TLSv1_1_SERVER STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT STREAM_CRYPTO_METHOD_TLSv1_2_SERVER STREAM_FILTER_ALL STREAM_FILTER_READ STREAM_FILTER_WRITE STREAM_IGNORE_URL STREAM_IPPROTO_ICMP STREAM_IPPROTO_IP STREAM_IPPROTO_RAW STREAM_IPPROTO_TCP STREAM_IPPROTO_UDP STREAM_IS_URL STREAM_META_ACCESS STREAM_META_GROUP STREAM_META_GROUP_NAME STREAM_META_OWNER STREAM_META_OWNER_NAME STREAM_META_TOUCH STREAM_MKDIR_RECURSIVE STREAM_MUST_SEEK STREAM_NOTIFY_AUTH_REQUIRED STREAM_NOTIFY_AUTH_RESULT STREAM_NOTIFY_COMPLETED STREAM_NOTIFY_CONNECT STREAM_NOTIFY_FAILURE STREAM_NOTIFY_FILE_SIZE_IS STREAM_NOTIFY_MIME_TYPE_IS STREAM_NOTIFY_PROGRESS STREAM_NOTIFY_REDIRECTED STREAM_NOTIFY_RESOLVE STREAM_NOTIFY_SEVERITY_ERR STREAM_NOTIFY_SEVERITY_INFO STREAM_NOTIFY_SEVERITY_WARN STREAM_OOB STREAM_OPTION_BLOCKING STREAM_OPTION_READ_BUFFER STREAM_OPTION_READ_TIMEOUT STREAM_OPTION_WRITE_BUFFER STREAM_PEEK STREAM_PF_INET STREAM_PF_INET6 STREAM_PF_UNIX STREAM_REPORT_ERRORS STREAM_SERVER_BIND STREAM_SERVER_LISTEN STREAM_SHUT_RD STREAM_SHUT_RDWR STREAM_SHUT_WR STREAM_SOCK_DGRAM STREAM_SOCK_RAW STREAM_SOCK_RDM STREAM_SOCK_SEQPACKET STREAM_SOCK_STREAM STREAM_URL_STAT_LINK STREAM_URL_STAT_QUIET STREAM_USE_PATH STR_PAD_BOTH STR_PAD_LEFT STR_PAD_RIGHT THOUSEP T_FMT T_FMT_AMPM YESEXPR contained endif if index(g:php_syntax_extensions_enabled, "tokenizer") >= 0 && index(g:php_syntax_extensions_disabled, "tokenizer") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "tokenizer") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "tokenizer") < 0) " tokenizer constants -syn keyword phpConstants T_ABSTRACT T_AND_EQUAL T_ARRAY T_ARRAY_CAST T_AS T_BAD_CHARACTER T_BOOLEAN_AND T_BOOLEAN_OR T_BOOL_CAST T_BREAK T_CALLABLE T_CASE T_CATCH T_CHARACTER T_CLASS T_CLASS_C T_CLONE T_CLOSE_TAG T_COMMENT T_CONCAT_EQUAL T_CONST T_CONSTANT_ENCAPSED_STRING T_CONTINUE T_CURLY_OPEN T_DEC T_DECLARE T_DEFAULT T_DIR T_DIV_EQUAL T_DNUMBER T_DO T_DOC_COMMENT T_DOLLAR_OPEN_CURLY_BRACES T_DOUBLE_ARROW T_DOUBLE_CAST T_DOUBLE_COLON T_ECHO T_ELLIPSIS T_ELSE T_ELSEIF T_EMPTY T_ENCAPSED_AND_WHITESPACE T_ENDDECLARE T_ENDFOR T_ENDFOREACH T_ENDIF T_ENDSWITCH T_ENDWHILE T_END_HEREDOC T_EVAL T_EXIT T_EXTENDS T_FILE T_FINAL T_FINALLY T_FOR T_FOREACH T_FUNCTION T_FUNC_C T_GLOBAL T_GOTO T_HALT_COMPILER T_IF T_IMPLEMENTS T_INC T_INCLUDE T_INCLUDE_ONCE T_INLINE_HTML T_INSTANCEOF T_INSTEADOF T_INTERFACE T_INT_CAST T_ISSET T_IS_EQUAL T_IS_GREATER_OR_EQUAL T_IS_IDENTICAL T_IS_NOT_EQUAL T_IS_NOT_IDENTICAL T_IS_SMALLER_OR_EQUAL T_LINE T_LIST T_LNUMBER T_LOGICAL_AND T_LOGICAL_OR T_LOGICAL_XOR T_METHOD_C T_MINUS_EQUAL T_MOD_EQUAL T_MUL_EQUAL T_NAMESPACE T_NEW T_NS_C T_NS_SEPARATOR T_NUM_STRING T_OBJECT_CAST T_OBJECT_OPERATOR T_OPEN_TAG T_OPEN_TAG_WITH_ECHO T_OR_EQUAL T_PAAMAYIM_NEKUDOTAYIM T_PLUS_EQUAL T_POW T_POW_EQUAL T_PRINT T_PRIVATE T_PROTECTED T_PUBLIC T_REQUIRE T_REQUIRE_ONCE T_RETURN T_SL T_SL_EQUAL T_SR T_SR_EQUAL T_START_HEREDOC T_STATIC T_STRING T_STRING_CAST T_STRING_VARNAME T_SWITCH T_THROW T_TRAIT T_TRAIT_C T_TRY T_UNSET T_UNSET_CAST T_USE T_VAR T_VARIABLE T_WHILE T_WHITESPACE T_XOR_EQUAL T_YIELD contained +syn keyword phpConstants TOKEN_PARSE T_ABSTRACT T_AND_EQUAL T_ARRAY T_ARRAY_CAST T_AS T_BOOLEAN_AND T_BOOLEAN_OR T_BOOL_CAST T_BREAK T_CALLABLE T_CASE T_CATCH T_CLASS T_CLASS_C T_CLONE T_CLOSE_TAG T_COALESCE T_COMMENT T_CONCAT_EQUAL T_CONST T_CONSTANT_ENCAPSED_STRING T_CONTINUE T_CURLY_OPEN T_DEC T_DECLARE T_DEFAULT T_DIR T_DIV_EQUAL T_DNUMBER T_DO T_DOC_COMMENT T_DOLLAR_OPEN_CURLY_BRACES T_DOUBLE_ARROW T_DOUBLE_CAST T_DOUBLE_COLON T_ECHO T_ELLIPSIS T_ELSE T_ELSEIF T_EMPTY T_ENCAPSED_AND_WHITESPACE T_ENDDECLARE T_ENDFOR T_ENDFOREACH T_ENDIF T_ENDSWITCH T_ENDWHILE T_END_HEREDOC T_EVAL T_EXIT T_EXTENDS T_FILE T_FINAL T_FINALLY T_FOR T_FOREACH T_FUNCTION T_FUNC_C T_GLOBAL T_GOTO T_HALT_COMPILER T_IF T_IMPLEMENTS T_INC T_INCLUDE T_INCLUDE_ONCE T_INLINE_HTML T_INSTANCEOF T_INSTEADOF T_INTERFACE T_INT_CAST T_ISSET T_IS_EQUAL T_IS_GREATER_OR_EQUAL T_IS_IDENTICAL T_IS_NOT_EQUAL T_IS_NOT_IDENTICAL T_IS_SMALLER_OR_EQUAL T_LINE T_LIST T_LNUMBER T_LOGICAL_AND T_LOGICAL_OR T_LOGICAL_XOR T_METHOD_C T_MINUS_EQUAL T_MOD_EQUAL T_MUL_EQUAL T_NAMESPACE T_NEW T_NS_C T_NS_SEPARATOR T_NUM_STRING T_OBJECT_CAST T_OBJECT_OPERATOR T_OPEN_TAG T_OPEN_TAG_WITH_ECHO T_OR_EQUAL T_PAAMAYIM_NEKUDOTAYIM T_PLUS_EQUAL T_POW T_POW_EQUAL T_PRINT T_PRIVATE T_PROTECTED T_PUBLIC T_REQUIRE T_REQUIRE_ONCE T_RETURN T_SL T_SL_EQUAL T_SPACESHIP T_SR T_SR_EQUAL T_START_HEREDOC T_STATIC T_STRING T_STRING_CAST T_STRING_VARNAME T_SWITCH T_THROW T_TRAIT T_TRAIT_C T_TRY T_UNSET T_UNSET_CAST T_USE T_VAR T_VARIABLE T_WHILE T_WHITESPACE T_XOR_EQUAL T_YIELD T_YIELD_FROM contained endif if index(g:php_syntax_extensions_enabled, "xml") >= 0 && index(g:php_syntax_extensions_disabled, "xml") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "xml") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "xml") < 0) " xml constants @@ -309,11 +309,11 @@ syn keyword phpConstants ATTRIBUTE CDATA COMMENT DEFAULTATTRS DOC DOC_FRAGMENT D endif if index(g:php_syntax_extensions_enabled, "zip") >= 0 && index(g:php_syntax_extensions_disabled, "zip") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "zip") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "zip") < 0) " zip constants -syn keyword phpConstants CHECKCONS CM_BZIP2 CM_DEFAULT CM_DEFLATE CM_DEFLATE64 CM_IMPLODE CM_LZ77 CM_LZMA CM_PKWARE_IMPLODE CM_PPMD CM_REDUCE_1 CM_REDUCE_2 CM_REDUCE_3 CM_REDUCE_4 CM_SHRINK CM_STORE CM_TERSE CM_WAVPACK CREATE ER_CHANGED ER_CLOSE ER_COMPNOTSUPP ER_CRC ER_DELETED ER_EOF ER_EXISTS ER_INCONS ER_INTERNAL ER_INVAL ER_MEMORY ER_MULTIDISK ER_NOENT ER_NOZIP ER_OK ER_OPEN ER_READ ER_REMOVE ER_RENAME ER_SEEK ER_TMPOPEN ER_WRITE ER_ZIPCLOSED ER_ZLIB EXCL FL_COMPRESSED FL_NOCASE FL_NODIR FL_UNCHANGED OPSYS_ACORN_RISC OPSYS_ALTERNATE_MVS OPSYS_AMIGA OPSYS_ATARI_ST OPSYS_BEOS OPSYS_DEFAULT OPSYS_DOS OPSYS_MACINTOSH OPSYS_MVS OPSYS_OPENVMS OPSYS_OS_2 OPSYS_OS_400 OPSYS_OS_X OPSYS_TANDEM OPSYS_UNIX OPSYS_VFAT OPSYS_VM_CMS OPSYS_VSE OPSYS_WINDOWS_NTFS OPSYS_Z_CPM OPSYS_Z_SYSTEM OVERWRITE contained +syn keyword phpConstants CHECKCONS CM_BZIP2 CM_DEFAULT CM_DEFLATE CM_DEFLATE64 CM_IMPLODE CM_LZ77 CM_LZMA CM_PKWARE_IMPLODE CM_PPMD CM_REDUCE_1 CM_REDUCE_2 CM_REDUCE_3 CM_REDUCE_4 CM_SHRINK CM_STORE CM_TERSE CM_WAVPACK CREATE ER_CHANGED ER_CLOSE ER_COMPNOTSUPP ER_CRC ER_DELETED ER_EOF ER_EXISTS ER_INCONS ER_INTERNAL ER_INVAL ER_MEMORY ER_MULTIDISK ER_NOENT ER_NOZIP ER_OK ER_OPEN ER_READ ER_REMOVE ER_RENAME ER_SEEK ER_TMPOPEN ER_WRITE ER_ZIPCLOSED ER_ZLIB EXCL FL_COMPRESSED FL_ENC_CP437 FL_ENC_GUESS FL_ENC_RAW FL_ENC_STRICT FL_ENC_UTF_8 FL_NOCASE FL_NODIR FL_UNCHANGED OPSYS_ACORN_RISC OPSYS_ALTERNATE_MVS OPSYS_AMIGA OPSYS_ATARI_ST OPSYS_BEOS OPSYS_DEFAULT OPSYS_DOS OPSYS_MACINTOSH OPSYS_MVS OPSYS_OPENVMS OPSYS_OS_2 OPSYS_OS_400 OPSYS_OS_X OPSYS_TANDEM OPSYS_UNIX OPSYS_VFAT OPSYS_VM_CMS OPSYS_VSE OPSYS_WINDOWS_NTFS OPSYS_Z_CPM OPSYS_Z_SYSTEM OVERWRITE contained endif if index(g:php_syntax_extensions_enabled, "zlib") >= 0 && index(g:php_syntax_extensions_disabled, "zlib") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "zlib") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "zlib") < 0) " zlib constants -syn keyword phpConstants FORCE_DEFLATE FORCE_GZIP ZLIB_ENCODING_DEFLATE ZLIB_ENCODING_GZIP ZLIB_ENCODING_RAW contained +syn keyword phpConstants FORCE_DEFLATE FORCE_GZIP ZLIB_BLOCK ZLIB_DEFAULT_STRATEGY ZLIB_ENCODING_DEFLATE ZLIB_ENCODING_GZIP ZLIB_ENCODING_RAW ZLIB_FILTERED ZLIB_FINISH ZLIB_FIXED ZLIB_FULL_FLUSH ZLIB_HUFFMAN_ONLY ZLIB_NO_FLUSH ZLIB_PARTIAL_FLUSH ZLIB_RLE ZLIB_SYNC_FLUSH ZLIB_VERNUM ZLIB_VERSION contained endif syn case ignore if index(g:php_syntax_extensions_enabled, "bcmath") >= 0 && index(g:php_syntax_extensions_disabled, "bcmath") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "bcmath") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "bcmath") < 0) @@ -326,13 +326,13 @@ syn keyword phpFunctions bzclose bzcompress bzdecompress bzerrno bzerror bzerrst endif if index(g:php_syntax_extensions_enabled, "core") >= 0 && index(g:php_syntax_extensions_disabled, "core") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "core") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "core") < 0) " Core functions -syn keyword phpFunctions class_alias class_exists create_function debug_backtrace debug_print_backtrace define defined each error_reporting extension_loaded func_get_arg func_get_args func_num_args function_exists gc_collect_cycles gc_disable gc_enable gc_enabled get_called_class get_class get_class_methods get_class_vars get_declared_classes get_declared_interfaces get_declared_traits get_defined_constants get_defined_functions get_defined_vars get_extension_funcs get_included_files get_loaded_extensions get_object_vars get_parent_class get_required_files get_resource_type interface_exists is_a is_subclass_of method_exists property_exists restore_error_handler restore_exception_handler set_error_handler set_exception_handler strcasecmp strcmp strlen strncasecmp strncmp trait_exists trigger_error user_error zend_version contained +syn keyword phpFunctions class_alias class_exists create_function debug_backtrace debug_print_backtrace define defined each error_reporting extension_loaded func_get_arg func_get_args func_num_args function_exists gc_collect_cycles gc_disable gc_enable gc_enabled gc_mem_caches get_called_class get_class get_class_methods get_class_vars get_declared_classes get_declared_interfaces get_declared_traits get_defined_constants get_defined_functions get_defined_vars get_extension_funcs get_included_files get_loaded_extensions get_object_vars get_parent_class get_required_files get_resource_type get_resources interface_exists is_a is_subclass_of method_exists property_exists restore_error_handler restore_exception_handler set_error_handler set_exception_handler strcasecmp strcmp strlen strncasecmp strncmp trait_exists trigger_error user_error zend_version contained " Core classes and interfaces -syn keyword phpClasses ArrayAccess Closure ErrorException Exception Generator Iterator IteratorAggregate Serializable Traversable stdClass contained +syn keyword phpClasses ArgumentCountError ArithmeticError ArrayAccess ClosedGeneratorException Closure DivisionByZeroError Error ErrorException Exception Generator Iterator IteratorAggregate ParseError Serializable Throwable Traversable TypeError stdClass contained endif if index(g:php_syntax_extensions_enabled, "curl") >= 0 && index(g:php_syntax_extensions_disabled, "curl") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "curl") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "curl") < 0) " curl functions -syn keyword phpFunctions curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt curl_setopt_array curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version contained +syn keyword phpFunctions curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_errno curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt curl_setopt_array curl_share_close curl_share_errno curl_share_init curl_share_setopt curl_share_strerror curl_strerror curl_unescape curl_version contained " curl classes and interfaces syn keyword phpClasses CURLFile contained endif @@ -372,7 +372,7 @@ if index(g:php_syntax_extensions_enabled, "json") >= 0 && index(g:php_syntax_ext " json functions syn keyword phpFunctions json_decode json_encode json_last_error json_last_error_msg contained " json classes and interfaces -syn keyword phpClasses JsonIncrementalParser JsonSerializable contained +syn keyword phpClasses JsonSerializable contained endif if index(g:php_syntax_extensions_enabled, "libxml") >= 0 && index(g:php_syntax_extensions_disabled, "libxml") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "libxml") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "libxml") < 0) " libxml functions @@ -386,7 +386,7 @@ syn keyword phpFunctions mb_check_encoding mb_convert_case mb_convert_encoding m endif if index(g:php_syntax_extensions_enabled, "mcrypt") >= 0 && index(g:php_syntax_extensions_disabled, "mcrypt") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "mcrypt") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "mcrypt") < 0) " mcrypt functions -syn keyword phpFunctions mcrypt_cbc mcrypt_cfb mcrypt_create_iv mcrypt_decrypt mcrypt_ecb mcrypt_enc_get_algorithms_name mcrypt_enc_get_block_size mcrypt_enc_get_iv_size mcrypt_enc_get_key_size mcrypt_enc_get_modes_name mcrypt_enc_get_supported_key_sizes mcrypt_enc_is_block_algorithm mcrypt_enc_is_block_algorithm_mode mcrypt_enc_is_block_mode mcrypt_enc_self_test mcrypt_encrypt mcrypt_generic mcrypt_generic_deinit mcrypt_generic_end mcrypt_generic_init mcrypt_get_block_size mcrypt_get_cipher_name mcrypt_get_iv_size mcrypt_get_key_size mcrypt_list_algorithms mcrypt_list_modes mcrypt_module_close mcrypt_module_get_algo_block_size mcrypt_module_get_algo_key_size mcrypt_module_get_supported_key_sizes mcrypt_module_is_block_algorithm mcrypt_module_is_block_algorithm_mode mcrypt_module_is_block_mode mcrypt_module_open mcrypt_module_self_test mcrypt_ofb mdecrypt_generic contained +syn keyword phpFunctions mcrypt_create_iv mcrypt_decrypt mcrypt_enc_get_algorithms_name mcrypt_enc_get_block_size mcrypt_enc_get_iv_size mcrypt_enc_get_key_size mcrypt_enc_get_modes_name mcrypt_enc_get_supported_key_sizes mcrypt_enc_is_block_algorithm mcrypt_enc_is_block_algorithm_mode mcrypt_enc_is_block_mode mcrypt_enc_self_test mcrypt_encrypt mcrypt_generic mcrypt_generic_deinit mcrypt_generic_init mcrypt_get_block_size mcrypt_get_cipher_name mcrypt_get_iv_size mcrypt_get_key_size mcrypt_list_algorithms mcrypt_list_modes mcrypt_module_close mcrypt_module_get_algo_block_size mcrypt_module_get_algo_key_size mcrypt_module_get_supported_key_sizes mcrypt_module_is_block_algorithm mcrypt_module_is_block_algorithm_mode mcrypt_module_is_block_mode mcrypt_module_open mcrypt_module_self_test mdecrypt_generic contained endif if index(g:php_syntax_extensions_enabled, "mysql") >= 0 && index(g:php_syntax_extensions_disabled, "mysql") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "mysql") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "mysql") < 0) " mysql functions @@ -394,17 +394,17 @@ syn keyword phpFunctions mysql mysql_affected_rows mysql_client_encoding mysql_c endif if index(g:php_syntax_extensions_enabled, "mysqli") >= 0 && index(g:php_syntax_extensions_disabled, "mysqli") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "mysqli") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "mysqli") < 0) " mysqli functions -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_debug mysqli_dump_debug_info mysqli_errno mysqli_error mysqli_error_list mysqli_escape_string mysqli_execute mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field mysqli_fetch_field_direct mysqli_fetch_fields mysqli_fetch_lengths 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_links_stats mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_get_warnings mysqli_info mysqli_init 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_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_refresh mysqli_release_savepoint mysqli_report mysqli_rollback mysqli_savepoint mysqli_select_db mysqli_set_charset mysqli_set_opt mysqli_sqlstate mysqli_ssl_set mysqli_stat 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_execute 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_sqlstate mysqli_stmt_store_result mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count 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_debug mysqli_dump_debug_info mysqli_errno mysqli_error mysqli_error_list mysqli_escape_string mysqli_execute mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field mysqli_fetch_field_direct mysqli_fetch_fields mysqli_fetch_lengths 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_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_links_stats mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_get_warnings mysqli_info mysqli_init 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_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_release_savepoint mysqli_report mysqli_rollback mysqli_savepoint mysqli_select_db mysqli_set_charset mysqli_set_opt mysqli_sqlstate mysqli_ssl_set mysqli_stat 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_execute 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_sqlstate mysqli_stmt_store_result mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count contained " mysqli classes and interfaces syn keyword phpClasses mysqli mysqli_driver mysqli_result mysqli_sql_exception mysqli_stmt mysqli_warning contained endif if index(g:php_syntax_extensions_enabled, "openssl") >= 0 && index(g:php_syntax_extensions_disabled, "openssl") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "openssl") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "openssl") < 0) " openssl functions -syn keyword phpFunctions openssl_cipher_iv_length openssl_csr_export openssl_csr_export_to_file openssl_csr_get_public_key openssl_csr_get_subject openssl_csr_new openssl_csr_sign openssl_decrypt openssl_dh_compute_key openssl_digest openssl_encrypt openssl_error_string openssl_free_key openssl_get_cert_locations openssl_get_cipher_methods openssl_get_md_methods openssl_get_privatekey openssl_get_publickey openssl_open openssl_pbkdf2 openssl_pkcs7_decrypt openssl_pkcs7_encrypt openssl_pkcs7_sign openssl_pkcs7_verify openssl_pkcs12_export openssl_pkcs12_export_to_file openssl_pkcs12_read openssl_pkey_export openssl_pkey_export_to_file openssl_pkey_free openssl_pkey_get_details openssl_pkey_get_private openssl_pkey_get_public openssl_pkey_new openssl_private_decrypt openssl_private_encrypt openssl_public_decrypt openssl_public_encrypt openssl_random_pseudo_bytes openssl_seal openssl_sign openssl_spki_export openssl_spki_export_challenge openssl_spki_new openssl_spki_verify openssl_verify openssl_x509_check_private_key openssl_x509_checkpurpose openssl_x509_export openssl_x509_export_to_file openssl_x509_fingerprint openssl_x509_free openssl_x509_parse openssl_x509_read contained +syn keyword phpFunctions openssl_cipher_iv_length openssl_csr_export openssl_csr_export_to_file openssl_csr_get_public_key openssl_csr_get_subject openssl_csr_new openssl_csr_sign openssl_decrypt openssl_dh_compute_key openssl_digest openssl_encrypt openssl_error_string openssl_free_key openssl_get_cert_locations openssl_get_cipher_methods openssl_get_curve_names openssl_get_md_methods openssl_get_privatekey openssl_get_publickey openssl_open openssl_pbkdf2 openssl_pkcs7_decrypt openssl_pkcs7_encrypt openssl_pkcs7_sign openssl_pkcs7_verify openssl_pkcs12_export openssl_pkcs12_export_to_file openssl_pkcs12_read openssl_pkey_export openssl_pkey_export_to_file openssl_pkey_free openssl_pkey_get_details openssl_pkey_get_private openssl_pkey_get_public openssl_pkey_new openssl_private_decrypt openssl_private_encrypt openssl_public_decrypt openssl_public_encrypt openssl_random_pseudo_bytes openssl_seal openssl_sign openssl_spki_export openssl_spki_export_challenge openssl_spki_new openssl_spki_verify openssl_verify openssl_x509_check_private_key openssl_x509_checkpurpose openssl_x509_export openssl_x509_export_to_file openssl_x509_fingerprint openssl_x509_free openssl_x509_parse openssl_x509_read contained endif if index(g:php_syntax_extensions_enabled, "pcre") >= 0 && index(g:php_syntax_extensions_disabled, "pcre") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "pcre") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "pcre") < 0) " pcre functions -syn keyword phpFunctions preg_filter preg_grep preg_last_error preg_match preg_match_all preg_quote preg_replace preg_replace_callback preg_split contained +syn keyword phpFunctions preg_filter preg_grep preg_last_error preg_match preg_match_all preg_quote preg_replace preg_replace_callback preg_replace_callback_array preg_split contained endif if index(g:php_syntax_extensions_enabled, "pdo") >= 0 && index(g:php_syntax_extensions_disabled, "pdo") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "pdo") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "pdo") < 0) " PDO functions @@ -422,13 +422,13 @@ syn keyword phpClasses Phar PharData PharException PharFileInfo contained endif if index(g:php_syntax_extensions_enabled, "reflection") >= 0 && index(g:php_syntax_extensions_disabled, "reflection") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "reflection") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "reflection") < 0) " Reflection classes and interfaces -syn keyword phpClasses Reflection ReflectionClass ReflectionException ReflectionExtension ReflectionFunction ReflectionFunctionAbstract ReflectionMethod ReflectionObject ReflectionParameter ReflectionProperty ReflectionZendExtension Reflector contained +syn keyword phpClasses Reflection ReflectionClass ReflectionClassConstant ReflectionException ReflectionExtension ReflectionFunction ReflectionFunctionAbstract ReflectionGenerator ReflectionMethod ReflectionNamedType ReflectionObject ReflectionParameter ReflectionProperty ReflectionType ReflectionZendExtension Reflector contained endif if index(g:php_syntax_extensions_enabled, "session") >= 0 && index(g:php_syntax_extensions_disabled, "session") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "session") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "session") < 0) " session functions -syn keyword phpFunctions session_abort session_cache_expire session_cache_limiter session_commit session_decode session_destroy session_encode session_get_cookie_params session_id session_module_name session_name session_regenerate_id session_register_shutdown session_reset session_save_path session_set_cookie_params session_set_save_handler session_start session_status session_unset session_write_close contained +syn keyword phpFunctions session_abort session_cache_expire session_cache_limiter session_commit session_create_id session_decode session_destroy session_encode session_gc session_get_cookie_params session_id session_module_name session_name session_regenerate_id session_register_shutdown session_reset session_save_path session_set_cookie_params session_set_save_handler session_start session_status session_unset session_write_close contained " session classes and interfaces -syn keyword phpClasses SessionHandler SessionHandlerInterface SessionIdInterface contained +syn keyword phpClasses SessionHandler SessionHandlerInterface SessionIdInterface SessionUpdateTimestampHandlerInterface contained endif if index(g:php_syntax_extensions_enabled, "simplexml") >= 0 && index(g:php_syntax_extensions_disabled, "simplexml") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "simplexml") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "simplexml") < 0) " SimpleXML functions @@ -444,7 +444,7 @@ syn keyword phpClasses SoapClient SoapFault SoapHeader SoapParam SoapServer Soap endif if index(g:php_syntax_extensions_enabled, "sockets") >= 0 && index(g:php_syntax_extensions_disabled, "sockets") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "sockets") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "sockets") < 0) " sockets functions -syn keyword phpFunctions socket_accept socket_bind socket_clear_error socket_close socket_cmsg_space socket_connect socket_create socket_create_listen socket_create_pair socket_get_option socket_getopt socket_getpeername socket_getsockname socket_import_stream socket_last_error socket_listen socket_read socket_recv socket_recvfrom socket_recvmsg socket_select socket_send socket_sendmsg socket_sendto socket_set_block socket_set_nonblock socket_set_option socket_setopt socket_shutdown socket_strerror socket_write contained +syn keyword phpFunctions socket_accept socket_bind socket_clear_error socket_close socket_cmsg_space socket_connect socket_create socket_create_listen socket_create_pair socket_export_stream socket_get_option socket_getopt socket_getpeername socket_getsockname socket_import_stream socket_last_error socket_listen socket_read socket_recv socket_recvfrom socket_recvmsg socket_select socket_send socket_sendmsg socket_sendto socket_set_block socket_set_nonblock socket_set_option socket_setopt socket_shutdown socket_strerror socket_write contained endif if index(g:php_syntax_extensions_enabled, "spl") >= 0 && index(g:php_syntax_extensions_disabled, "spl") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "spl") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "spl") < 0) " SPL functions @@ -458,9 +458,9 @@ syn keyword phpClasses SQLite3 SQLite3Result SQLite3Stmt contained endif if index(g:php_syntax_extensions_enabled, "standard") >= 0 && index(g:php_syntax_extensions_disabled, "standard") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "standard") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "standard") < 0) " standard functions -syn keyword phpFunctions abs acos acosh addcslashes addslashes array_change_key_case array_chunk array_column array_combine array_count_values array_diff array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_fill array_fill_keys array_filter array_flip array_intersect array_intersect_assoc array_intersect_key array_intersect_uassoc array_intersect_ukey array_key_exists array_keys array_map array_merge array_merge_recursive array_multisort array_pad array_pop array_product array_push array_rand array_reduce array_replace array_replace_recursive array_reverse array_search array_shift array_slice array_splice array_sum array_udiff array_udiff_assoc array_udiff_uassoc array_uintersect array_uintersect_assoc array_uintersect_uassoc array_unique array_unshift array_values array_walk array_walk_recursive arsort asin asinh asort assert assert_options atan atan2 atanh base64_decode base64_encode base_convert basename bin2hex bindec boolval call_user_func call_user_func_array call_user_method call_user_method_array ceil chdir checkdnsrr chgrp chmod chop chown chr chroot chunk_split clearstatcache cli_get_process_title cli_set_process_title closedir closelog compact connection_aborted connection_status constant convert_cyr_string convert_uudecode convert_uuencode copy cos cosh count count_chars crc32 crypt current debug_zval_dump decbin dechex decoct deg2rad dir dirname disk_free_space disk_total_space diskfreespace dl dns_check_record dns_get_mx dns_get_record doubleval end error_get_last error_log escapeshellarg escapeshellcmd exec exp explode expm1 extract ezmlm_hash fclose feof fflush fgetc fgetcsv fgets fgetss file file_exists file_get_contents file_put_contents fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype floatval flock floor flush fmod fnmatch fopen forward_static_call forward_static_call_array fpassthru fprintf fputcsv fputs fread fscanf fseek fsockopen fstat ftell ftok ftruncate fwrite get_browser get_cfg_var get_current_user get_headers get_html_translation_table get_include_path get_magic_quotes_gpc get_magic_quotes_runtime get_meta_tags getcwd getenv gethostbyaddr gethostbyname gethostbynamel gethostname getimagesize getimagesizefromstring getlastmod getmxrr getmygid getmyinode getmypid getmyuid getopt getprotobyname getprotobynumber getrandmax getrusage getservbyname getservbyport gettimeofday gettype glob header header_register_callback header_remove headers_list headers_sent hebrev hebrevc hex2bin hexdec highlight_file highlight_string html_entity_decode htmlentities htmlspecialchars htmlspecialchars_decode http_build_query http_response_code hypot ignore_user_abort image_type_to_extension image_type_to_mime_type implode in_array inet_ntop inet_pton ini_alter ini_get ini_get_all ini_restore ini_set intval ip2long iptcembed iptcparse is_array is_bool is_callable is_dir is_double is_executable is_file is_finite is_float is_infinite is_int is_integer is_link is_long is_nan is_null is_numeric is_object is_readable is_real is_resource is_scalar is_string is_uploaded_file is_writable is_writeable join key key_exists krsort ksort lcfirst lcg_value lchgrp lchown levenshtein link linkinfo localeconv log log1p log10 long2ip lstat ltrim magic_quotes_runtime mail max md5 md5_file memory_get_peak_usage memory_get_usage metaphone microtime min mkdir money_format move_uploaded_file mt_getrandmax mt_rand mt_srand natcasesort natsort next nl2br nl_langinfo number_format ob_clean ob_end_clean ob_end_flush ob_flush ob_get_clean ob_get_contents ob_get_flush ob_get_length ob_get_level ob_get_status ob_implicit_flush ob_list_handlers ob_start octdec opendir openlog ord output_add_rewrite_var output_reset_rewrite_vars pack parse_ini_file parse_ini_string parse_str parse_url passthru password_get_info password_hash password_needs_rehash password_verify pathinfo pclose pfsockopen php_ini_loaded_file php_ini_scanned_files php_sapi_name php_strip_whitespace php_uname phpcredits phpinfo phpversion pi popen pos pow prev print_r printf proc_close proc_get_status proc_nice proc_open proc_terminate putenv quoted_printable_decode quoted_printable_encode quotemeta rad2deg rand range rawurldecode rawurlencode readdir readfile readlink realpath realpath_cache_get realpath_cache_size register_shutdown_function register_tick_function rename reset restore_include_path rewind rewinddir rmdir round rsort rtrim scandir serialize set_file_buffer set_include_path set_magic_quotes_runtime set_socket_blocking set_time_limit setcookie setlocale setrawcookie settype sha1 sha1_file shell_exec show_source shuffle similar_text sin sinh sizeof sleep socket_get_status socket_set_blocking socket_set_timeout sort soundex sprintf sqrt srand sscanf stat str_getcsv str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split str_word_count strchr strcoll strcspn stream_bucket_append stream_bucket_make_writeable stream_bucket_new stream_bucket_prepend stream_context_create stream_context_get_default stream_context_get_options stream_context_get_params stream_context_set_default stream_context_set_option stream_context_set_params stream_copy_to_stream stream_filter_append stream_filter_prepend stream_filter_register stream_filter_remove stream_get_contents stream_get_filters stream_get_line stream_get_meta_data stream_get_transports stream_get_wrappers stream_is_local stream_register_wrapper stream_resolve_include_path stream_select stream_set_blocking stream_set_chunk_size stream_set_read_buffer stream_set_timeout stream_set_write_buffer stream_socket_accept stream_socket_client stream_socket_enable_crypto stream_socket_get_name stream_socket_pair stream_socket_recvfrom stream_socket_sendto stream_socket_server stream_socket_shutdown stream_supports_lock stream_wrapper_register stream_wrapper_restore stream_wrapper_unregister strip_tags stripcslashes stripos stripslashes stristr strnatcasecmp strnatcmp strpbrk strpos strptime strrchr strrev strripos strrpos strspn strstr strtok strtolower strtoupper strtr strval substr substr_compare substr_count substr_replace symlink sys_get_temp_dir sys_getloadavg syslog system tan tanh tempnam time_nanosleep time_sleep_until tmpfile touch trim uasort ucfirst ucwords uksort umask uniqid unlink unpack unregister_tick_function unserialize urldecode urlencode usleep usort var_dump var_export version_compare vfprintf vprintf vsprintf wordwrap contained +syn keyword phpFunctions abs acos acosh addcslashes addslashes array_change_key_case array_chunk array_column array_combine array_count_values array_diff array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_fill array_fill_keys array_filter array_flip array_intersect array_intersect_assoc array_intersect_key array_intersect_uassoc array_intersect_ukey array_key_exists array_keys array_map array_merge array_merge_recursive array_multisort array_pad array_pop array_product array_push array_rand array_reduce array_replace array_replace_recursive array_reverse array_search array_shift array_slice array_splice array_sum array_udiff array_udiff_assoc array_udiff_uassoc array_uintersect array_uintersect_assoc array_uintersect_uassoc array_unique array_unshift array_values array_walk array_walk_recursive arsort asin asinh asort assert assert_options atan atan2 atanh base64_decode base64_encode base_convert basename bin2hex bindec boolval call_user_func call_user_func_array ceil chdir checkdnsrr chgrp chmod chop chown chr chroot chunk_split clearstatcache cli_get_process_title cli_set_process_title closedir closelog compact connection_aborted connection_status constant convert_cyr_string convert_uudecode convert_uuencode copy cos cosh count count_chars crc32 crypt current debug_zval_dump decbin dechex decoct deg2rad dir dirname disk_free_space disk_total_space diskfreespace dl dns_check_record dns_get_mx dns_get_record doubleval end error_clear_last error_get_last error_log escapeshellarg escapeshellcmd exec exp explode expm1 extract ezmlm_hash fclose feof fflush fgetc fgetcsv fgets fgetss file file_exists file_get_contents file_put_contents fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype floatval flock floor flush fmod fnmatch fopen forward_static_call forward_static_call_array fpassthru fprintf fputcsv fputs fread fscanf fseek fsockopen fstat ftell ftok ftruncate fwrite get_browser get_cfg_var get_current_user get_headers get_html_translation_table get_include_path get_magic_quotes_gpc get_magic_quotes_runtime get_meta_tags getcwd getenv gethostbyaddr gethostbyname gethostbynamel gethostname getimagesize getimagesizefromstring getlastmod getmxrr getmygid getmyinode getmypid getmyuid getopt getprotobyname getprotobynumber getrandmax getrusage getservbyname getservbyport gettimeofday gettype glob header header_register_callback header_remove headers_list headers_sent hebrev hebrevc hex2bin hexdec highlight_file highlight_string html_entity_decode htmlentities htmlspecialchars htmlspecialchars_decode http_build_query http_response_code hypot ignore_user_abort image_type_to_extension image_type_to_mime_type implode in_array inet_ntop inet_pton ini_alter ini_get ini_get_all ini_restore ini_set intdiv intval ip2long iptcembed iptcparse is_array is_bool is_callable is_dir is_double is_executable is_file is_finite is_float is_infinite is_int is_integer is_iterable is_link is_long is_nan is_null is_numeric is_object is_readable is_real is_resource is_scalar is_string is_uploaded_file is_writable is_writeable join key key_exists krsort ksort lcfirst lcg_value lchgrp lchown levenshtein link linkinfo localeconv log log1p log10 long2ip lstat ltrim mail max md5 md5_file memory_get_peak_usage memory_get_usage metaphone microtime min mkdir money_format move_uploaded_file mt_getrandmax mt_rand mt_srand natcasesort natsort next nl2br nl_langinfo number_format ob_clean ob_end_clean ob_end_flush ob_flush ob_get_clean ob_get_contents ob_get_flush ob_get_length ob_get_level ob_get_status ob_implicit_flush ob_list_handlers ob_start octdec opendir openlog ord output_add_rewrite_var output_reset_rewrite_vars pack parse_ini_file parse_ini_string parse_str parse_url passthru password_get_info password_hash password_needs_rehash password_verify pathinfo pclose pfsockopen php_ini_loaded_file php_ini_scanned_files php_sapi_name php_strip_whitespace php_uname phpcredits phpinfo phpversion pi popen pos pow prev print_r printf proc_close proc_get_status proc_nice proc_open proc_terminate putenv quoted_printable_decode quoted_printable_encode quotemeta rad2deg rand random_bytes random_int range rawurldecode rawurlencode readdir readfile readlink realpath realpath_cache_get realpath_cache_size register_shutdown_function register_tick_function rename reset restore_include_path rewind rewinddir rmdir round rsort rtrim scandir serialize set_file_buffer set_include_path set_time_limit setcookie setlocale setrawcookie settype sha1 sha1_file shell_exec show_source shuffle similar_text sin sinh sizeof sleep socket_get_status socket_set_blocking socket_set_timeout sort soundex sprintf sqrt srand sscanf stat str_getcsv str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split str_word_count strchr strcoll strcspn stream_bucket_append stream_bucket_make_writeable stream_bucket_new stream_bucket_prepend stream_context_create stream_context_get_default stream_context_get_options stream_context_get_params stream_context_set_default stream_context_set_option stream_context_set_params stream_copy_to_stream stream_filter_append stream_filter_prepend stream_filter_register stream_filter_remove stream_get_contents stream_get_filters stream_get_line stream_get_meta_data stream_get_transports stream_get_wrappers stream_is_local stream_register_wrapper stream_resolve_include_path stream_select stream_set_blocking stream_set_chunk_size stream_set_read_buffer stream_set_timeout stream_set_write_buffer stream_socket_accept stream_socket_client stream_socket_enable_crypto stream_socket_get_name stream_socket_pair stream_socket_recvfrom stream_socket_sendto stream_socket_server stream_socket_shutdown stream_supports_lock stream_wrapper_register stream_wrapper_restore stream_wrapper_unregister strip_tags stripcslashes stripos stripslashes stristr strnatcasecmp strnatcmp strpbrk strpos strptime strrchr strrev strripos strrpos strspn strstr strtok strtolower strtoupper strtr strval substr substr_compare substr_count substr_replace symlink sys_get_temp_dir sys_getloadavg syslog system tan tanh tempnam time_nanosleep time_sleep_until tmpfile touch trim uasort ucfirst ucwords uksort umask uniqid unlink unpack unregister_tick_function unserialize urldecode urlencode usleep usort var_dump var_export version_compare vfprintf vprintf vsprintf wordwrap contained " standard classes and interfaces -syn keyword phpClasses Directory __PHP_Incomplete_Class php_user_filter contained +syn keyword phpClasses AssertionError Directory __PHP_Incomplete_Class php_user_filter contained endif if index(g:php_syntax_extensions_enabled, "tokenizer") >= 0 && index(g:php_syntax_extensions_disabled, "tokenizer") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "tokenizer") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "tokenizer") < 0) " tokenizer functions @@ -492,7 +492,7 @@ syn keyword phpClasses ZipArchive contained endif if index(g:php_syntax_extensions_enabled, "zlib") >= 0 && index(g:php_syntax_extensions_disabled, "zlib") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "zlib") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "zlib") < 0) " zlib functions -syn keyword phpFunctions gzclose gzcompress gzdecode gzdeflate gzencode gzeof gzfile gzgetc gzgets gzgetss gzinflate gzopen gzpassthru gzputs gzread gzrewind gzseek gztell gzuncompress gzwrite ob_gzhandler readgzfile zlib_decode zlib_encode zlib_get_coding_type contained +syn keyword phpFunctions deflate_add deflate_init gzclose gzcompress gzdecode gzdeflate gzencode gzeof gzfile gzgetc gzgets gzgetss gzinflate gzopen gzpassthru gzputs gzread gzrewind gzseek gztell gzuncompress gzwrite inflate_add inflate_init ob_gzhandler readgzfile zlib_decode zlib_encode zlib_get_coding_type contained endif " }}} @@ -524,7 +524,7 @@ syn keyword phpKeyword die exit eval empty isset unset list instanceof insteadof syn keyword phpInclude include include_once require require_once namespace contained " Types -syn keyword phpType bool[ean] int[eger] real double float string array object null self parent global this stdClass callable contained +syn keyword phpType bool[ean] int[eger] real double float string array object null self parent global this stdClass callable iterable void contained " Operator syn match phpOperator "[-=+%^&|*!.~?:]" contained display @@ -540,7 +540,7 @@ syn match phpVarSelector "\$" contained display " highlight static and object variables inside strings syn match phpMethodsVar "\%(->\|::$\?\)\h\w*" contained contains=phpMethods,phpMemberSelector,phpIdentifier display containedin=phpStringDouble syn match phpMethodsVar "\%(->\|::\%($\)\@!\)\s*\h\w*\s*("me=e-1 skipwhite skipempty contained contains=phpMemberSelector,phpMethod display containedin=phpStringDouble -syn match phpMethod /\h\w*/ +syn match phpMethod /\h\w*/ contained syn match phpSplatOperator "\.\.\." contained display " Identifier @@ -603,9 +603,9 @@ if !exists("php_ignore_phpdoc") || !php_ignore_phpdoc syn region phpCommentTitle contained matchgroup=phpDocComment start="/\*\*" matchgroup=phpCommentTitle 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,@Spell containedin=phpDocComment syn region phpDocTags start="{@\(example\|id\|internal\|inheritdoc\|link\|source\|toc\|tutorial\)" end="}" containedin=phpDocComment - syn match phpDocTags "@\%(abstract\|access\|api\|author\|brief\|bug\|category\|class\|copyright\|created\|date\|deprecated\|details\|example\|exception\|file\|filesource\|final\|global\|id\|ignore\|inheritdoc\|internal\|license\|link\|magic\|method\|name\|package\|param\|property\|return\|see\|since\|source\|static\|staticvar\|struct\|subpackage\|throws\|toc\|todo\|tutorial\|type\|uses\|var\|version\|warning\)" containedin=phpDocComment nextgroup=phpDocParam,phpDocIdentifier skipwhite - syn match phpDocParam "\s\+\zs\%(\h\w*|\?\)\+" nextgroup=phpDocIdentifier skipwhite - syn match phpDocIdentifier "\s\+\zs$\h\w*" + syn match phpDocTags "@\%(abstract\|access\|api\|author\|brief\|bug\|category\|class\|copyright\|created\|date\|deprecated\|details\|example\|exception\|file\|filesource\|final\|global\|id\|ignore\|inheritdoc\|internal\|license\|link\|magic\|method\|name\|package\|param\|property\|return\|see\|since\|source\|static\|staticvar\|struct\|subpackage\|throws\|toc\|todo\|tutorial\|type\|uses\|var\|version\|warning\)" containedin=phpDocComment nextgroup=phpDocParam,phpDocIdentifier skipwhite contained + syn match phpDocParam "\s\+\zs\%(\h\w*|\?\)\+" nextgroup=phpDocIdentifier skipwhite contained + syn match phpDocIdentifier "\s\+\zs$\h\w*" contained syn case match endif @@ -668,12 +668,12 @@ syn match phpStaticClasses "\v\h\w+(::)@=" contained display " Class name syn keyword phpKeyword class contained \ nextgroup=phpClass skipwhite skipempty -syn match phpClass /\h\w*/ +syn match phpClass /\h\w*/ contained " Class extends syn keyword phpKeyword extends contained \ nextgroup=phpClassExtends skipwhite skipempty -syn match phpClassExtends /\(\\\|\h\w*\)*\h\w*/ +syn match phpClassExtends /\(\\\|\h\w*\)*\h\w*/ contained " Class implements syntax keyword phpKeyword implements contained @@ -696,7 +696,7 @@ syn match phpUseKeyword /\(function\|as\)\_s\+/ contained contains=phpKeyword " Function name syn keyword phpKeyword function contained \ nextgroup=phpFunction skipwhite skipempty -syn match phpFunction /\h\w*/ +syn match phpFunction /\h\w*/ contained " Clusters syn cluster phpClConst contains=phpFunctions,phpClasses,phpStaticClasses,phpIdentifier,phpStatement,phpKeyword,phpOperator,phpSplatOperator,phpStringSingle,phpStringDouble,phpBacktick,phpNumber,phpType,phpBoolean,phpStructure,phpMethodsVar,phpConstants,phpException,phpSuperglobals,phpMagicConstants,phpServerVars @@ -743,7 +743,7 @@ if php_folding==1 syn region phpFoldIfContainer start="^\z(\s*\)if\s\+\(.*{$\)\@=" skip="^\z1}\_s*else\%[if]" end="^\z1}$" keepend extend contained contains=@phpClFunction,@phpClControl,phpFCKeyword,phpFoldHtmlInside syn region phpFoldIf matchgroup=phpKeyword start="^\z(\s*\)if\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="\(^\z1\)\@=}\(\_s\+\%[elseif]\s\+[^}]*$\)\@="me=s-1 contained containedin=phpFoldIfContainer keepend nextgroup=phpFoldElseIf,phpFoldElse fold transparent - syn region phpFoldElseIf matchgroup=phpKeyword start="^\z(\s*\)\(}\s\+\)\=elseif\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="\(^\z1\)\@=}\(\s*\%[elseif]\s*[^}]*$\)\@="me=s-1 contained containedin=phpFoldIfContainer keepend nextgroup=phpFoldElseIf,phpFoldElse fold transparent + syn region phpFoldElseIf matchgroup=phpKeyword start="^\z(\s*\)\(}\s\+\)\=elseif\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="\(^\z1\)\@=}\(\s*\%[elseif]\s*[^}]*$\)\@="me=s-1 contained containedin=phpFoldIfContainer keepend nextgroup=phpFoldElseIf,phpFoldElse fold transparent syn region phpFoldElse matchgroup=phpKeyword start="^\z(\s*\)\(}\s\+\)\=else\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="\(^\z1\)\@=}\(\s\+\%[elseif]\s\+[^}]*$\)\@="me=s-1 contained containedin=phpFoldIfContainer keepend fold transparent syn region phpFoldSwitch matchgroup=phpKeyword start="^\z(\s*\)switch\s*\(.*{$\)\@=" matchgroup=Delimiter end="^\z1}$" keepend extend contained contains=@phpClFunction,@phpClControl,phpFCKeyword,phpFoldHtmlInside fold transparent diff --git a/syntax/plantuml.vim b/syntax/plantuml.vim index c8a2428..e3527dd 100644 --- a/syntax/plantuml.vim +++ b/syntax/plantuml.vim @@ -3,9 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'plantuml') == - " Vim syntax file " Language: PlantUML " Maintainer: Anders Thøgersen -" Last Change: 03-Apr-2011 " Version: 0.2 -" TODO: There are some bugs, add << >> " if exists("b:current_syntax") finish @@ -25,10 +23,11 @@ syntax sync minlines=100 syntax match plantumlPreProc /\%(^@startuml\|^@enduml\)\|!\%(include\|define\|undev\|ifdef\|endif\|ifndef\)\s*.*/ contains=plantumlDir syntax region plantumlDir start=/\s\+/ms=s+1 end=/$/ contained -syntax keyword plantumlTypeKeyword actor participant usecase interface abstract enum component state object artifact folder rect node frame cloud database storage agent boundary control entity card +syntax keyword plantumlTypeKeyword actor participant usecase abstract enum component state object artifact folder rect node frame cloud database storage agent boundary control entity card rectangle syntax keyword plantumlKeyword as also autonumber caption title newpage box alt opt loop par break critical note rnote hnote legend group left right of on link over end activate deactivate destroy create footbox hide show skinparam skin top bottom syntax keyword plantumlKeyword package namespace page up down if else elseif endif partition footer header center rotate ref return is repeat start stop while endwhile fork again kill syntax keyword plantumlKeyword then detach +syntax keyword plantumlClassKeyword class interface syntax keyword plantumlCommentTODO XXX TODO FIXME NOTE contained syntax match plantumlColor /#[0-9A-Fa-f]\{6\}\>/ @@ -41,14 +40,17 @@ syntax region plantumlLabel start=/\[/ms=s+1 end=/\]/me=s-1 contained contains=p syntax match plantumlText /\%([0-9A-Za-zÀ-ÿ]\|\s\|[\.,;_-]\)\+/ contained " Class -syntax region plantumlClassString matchgroup=plantumlClass start=/\s*class\ze [^{]\+{/ end=/\s*\ze}/ contains=plantumlKeyword, -\ @plantumlClassOp -syntax match plantumlClass /\s*class\ze [^{]\+$/ +syntax region plantumlClass start=/{/ end=/\s*}/ contains=plantumlClassArrows, +\ plantumlClassKeyword, +\ @plantumlClassOp, +\ plantumlClassSeparator, +\ plantumlComment syntax match plantumlClassPublic /+\w\+/ contained syntax match plantumlClassPrivate /-\w\+/ contained syntax match plantumlClassProtected /#\w\+/ contained syntax match plantumlClassPackPrivate /\~\w\+/ contained +syntax match plantumlClassSeparator /__.\+__\|==.\+==/ contained syntax cluster plantumlClassOp contains=plantumlClassPublic, \ plantumlClassPrivate, @@ -59,7 +61,7 @@ syntax cluster plantumlClassOp contains=plantumlClassPublic, syntax match plantumlSpecialString /\\n/ contained syntax region plantumlString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=plantumlSpecialString syntax region plantumlString start=/'/ skip=/\\\\\|\\'/ end=/'/ contains=plantumlSpecialString -syntax match plantumlComment /'[^']*$/ contains=plantumlCommentTODO +syntax match plantumlComment /'.*$/ contains=plantumlCommentTODO syntax region plantumlMultilineComment start=/\/'/ end=/'\// contains=plantumlCommentTODO " Labels with a colon @@ -127,7 +129,7 @@ syntax keyword plantumlSkinparamKeyword ActorBackgroundColor ActorBorderColor Ac syntax keyword plantumlSkinparamKeyword ActorFontSize ActorFontStyle ActorStereotypeFontColor ActorStereotypeFontName syntax keyword plantumlSkinparamKeyword ActorStereotypeFontSize ActorStereotypeFontStyle ArrowColor ArrowFontColor syntax keyword plantumlSkinparamKeyword ArrowFontName ArrowFontSize ArrowFontStyle AttributeFontColor AttributeFontName -syntax keyword plantumlSkinparamKeyword AttributeFontSize AttributeFontStyle AttributeIconSize BackgroundColor BarColor +syntax keyword plantumlSkinparamKeyword AttributeFontSize AttributeFontStyle AttributeIconSize BarColor syntax keyword plantumlSkinparamKeyword BorderColor CharacterFontColor CharacterFontName CharacterFontSize syntax keyword plantumlSkinparamKeyword CharacterFontStyle CharacterRadius Color DividerBackgroundColor syntax keyword plantumlSkinparamKeyword DividerFontColor DividerFontName DividerFontSize DividerFontStyle EndColor @@ -137,14 +139,13 @@ syntax keyword plantumlSkinparamKeyword GroupingHeaderFontName GroupingHeaderFon syntax keyword plantumlSkinparamKeyword InterfaceBackgroundColor InterfaceBorderColor LifeLineBackgroundColor syntax keyword plantumlSkinparamKeyword LifeLineBorderColor ParticipantBackgroundColor ParticipantBorderColor syntax keyword plantumlSkinparamKeyword ParticipantFontColor ParticipantFontName ParticipantFontSize -syntax keyword plantumlSkinparamKeyword ParticipantFontStyle StartColor stateArrowColor stereotypeABackgroundColor -syntax keyword plantumlSkinparamKeyword stereotypeCBackgroundColor stereotypeEBackgroundColor StereotypeFontColor +syntax keyword plantumlSkinparamKeyword ParticipantFontStyle StartColor StereotypeFontColor syntax keyword plantumlSkinparamKeyword StereotypeFontName StereotypeFontSize StereotypeFontStyle -syntax keyword plantumlSkinparamKeyword stereotypeIBackgroundColor TitleFontColor TitleFontName TitleFontSize TitleFontStyle " Highlight highlight default link plantumlCommentTODO Todo highlight default link plantumlKeyword Keyword +highlight default link plantumlClassKeyword Keyword highlight default link plantumlTypeKeyword Type highlight default link plantumlPreProc PreProc highlight default link plantumlDir Constant @@ -159,6 +160,7 @@ highlight default link plantumlClassPublic Structure highlight default link plantumlClassPrivate Macro highlight default link plantumlClassProtected Statement highlight default link plantumlClassPackPrivate Function +highlight default link plantumlClassSeparator Comment highlight default link plantumlSpecialString Special highlight default link plantumlString String highlight default link plantumlComment Comment diff --git a/syntax/pug.vim b/syntax/pug.vim index 4ac85f8..85cfbcd 100644 --- a/syntax/pug.vim +++ b/syntax/pug.vim @@ -38,8 +38,9 @@ syntax keyword pugCommentTodo contained TODO FIXME XXX TBD syn match pugComment '\(\s\+\|^\)\/\/.*$' contains=pugCommentTodo syn region pugCommentBlock start="\z(\s\+\|^\)\/\/.*$" end="^\%(\z1\s\|\s*$\)\@!" contains=pugCommentTodo keepend syn region pugHtmlConditionalComment start="" contains=pugCommentTodo -syn region pugAttributes matchgroup=pugAttributesDelimiter start="(" end=")" contained contains=@htmlJavascript,pugHtmlArg,htmlArg,htmlEvent,htmlCssDefinition nextgroup=@pugComponent -syn match pugClassChar "\." contained nextgroup=pugClass +syn region pugAngular2 start="(" end=")" contains=htmlEvent +syn region pugAttributes matchgroup=pugAttributesDelimiter start="(" end=")" contained contains=@htmlJavascript,pugHtmlArg,pugAngular2,htmlArg,htmlEvent,htmlCssDefinition nextgroup=@pugComponent +syn match pugClassChar "\." containedin=htmlTagName nextgroup=pugClass syn match pugBlockExpansionChar ":\s\+" contained nextgroup=pugTag,pugClassChar,pugIdChar syn match pugIdChar "#[[{]\@!" contained nextgroup=pugId syn match pugClass "\%(\w\|-\)\+" contained nextgroup=@pugComponent diff --git a/syntax/ruby.vim b/syntax/ruby.vim index ba7d9fe..71abd46 100644 --- a/syntax/ruby.vim +++ b/syntax/ruby.vim @@ -277,10 +277,10 @@ else endif " Here Document {{{1 -syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@