diff options
Diffstat (limited to '')
-rw-r--r-- | syntax/carp.vim | 2 | ||||
-rw-r--r-- | syntax/cmake.vim | 9 | ||||
-rw-r--r-- | syntax/elixir.vim | 2 | ||||
-rw-r--r-- | syntax/elm.vim | 18 | ||||
-rw-r--r-- | syntax/erlang.vim | 3 | ||||
-rw-r--r-- | syntax/git.vim | 2 | ||||
-rw-r--r-- | syntax/go.vim | 2 | ||||
-rw-r--r-- | syntax/html.vim | 2 | ||||
-rw-r--r-- | syntax/javascript.vim | 7 | ||||
-rw-r--r-- | syntax/javascript/html5.vim | 5 | ||||
-rw-r--r-- | syntax/ruby.vim | 2 | ||||
-rw-r--r-- | syntax/vue.vim | 2 |
12 files changed, 40 insertions, 16 deletions
diff --git a/syntax/carp.vim b/syntax/carp.vim index 9896f734..a3a86ad9 100644 --- a/syntax/carp.vim +++ b/syntax/carp.vim @@ -34,7 +34,7 @@ syn keyword carpFunc Int Float Double Bool String Char Array Fn Ref Long λ syn keyword carpFunc Pattern syn keyword carpFunc not or and + - * / = /= >= <= > < inc dec syn keyword carpFunc println print get-line from-string mod random -syn keyword carpFunc random-between str mask delete append count duplicate +syn keyword carpFunc random-between str mask delete append length duplicate syn keyword carpFunc cstr chars from-chars to-int from-int sin cos sqrt acos syn keyword carpFunc atan2 exit time seed-random for cond floor abs sort-with syn keyword carpFunc subarray prefix-array suffix-array reverse sum min max diff --git a/syntax/cmake.vim b/syntax/cmake.vim index cc4a10d5..348222c7 100644 --- a/syntax/cmake.vim +++ b/syntax/cmake.vim @@ -21,8 +21,10 @@ endif let s:keepcpo= &cpo set cpo&vim -syn region cmakeComment start="#" end="$" contains=cmakeTodo,cmakeLuaComment,@Spell -syn region cmakeLuaComment start="\[\z(=*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell +syn region cmakeBracketArgument start="\[\z(=\?\|=[0-9]*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell + +syn region cmakeComment start="#" end="$" contains=cmakeTodo,@Spell +syn region cmakeBracketComment start="#\[\z(=\?\|=[0-9]*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained syn region cmakeRegistry start="\[" end="]" contained oneline contains=cmakeTodo,cmakeEscaped @@ -358,6 +360,8 @@ syn keyword cmakeTodo \ TODO FIXME XXX \ contained +hi def link cmakeBracketArgument String +hi def link cmakeBracketComment Comment hi def link cmakeCommand Function hi def link cmakeCommandConditional Conditional hi def link cmakeCommandDeprecated WarningMsg @@ -367,7 +371,6 @@ hi def link cmakeEnvironment Special hi def link cmakeEscaped Special hi def link cmakeGeneratorExpression WarningMsg hi def link cmakeGeneratorExpressions Constant -hi def link cmakeLuaComment Comment hi def link cmakeModule Include hi def link cmakeProperty Constant hi def link cmakeRegistry Underlined diff --git a/syntax/elixir.vim b/syntax/elixir.vim index 2ed25a5c..6a4a30c0 100644 --- a/syntax/elixir.vim +++ b/syntax/elixir.vim @@ -20,7 +20,7 @@ syn keyword elixirTodo FIXME NOTE TODO OPTIMIZE XXX HACK contained syn match elixirId '\<[_a-zA-Z]\w*[!?]\?\>' contains=elixirUnusedVariable -syn match elixirKeyword '\(\.\)\@<!\<\(for\|case\|when\|with\|cond\|if\|unless\|try\|receive\|send\|exit\|raise\|throw\|after\|rescue\|catch\|else\|quote\|unquote\|super\|spawn\|spawn_link\|spawn_monitor\|is_atom\|is_binary\|is_bitstring\|is_boolean\|is_float\|is_function\|is_integer\|is_list\|is_map\|is_nil\|is_number\|is_pid\|is_port\|is_reference\|is_tuple\|abs\|binary_part\|bit_size\|byte_size\|div\|elem\|hd\|length\|map_size\|node\|rem\|round\|tl\|trunc\|tuple_size\)\>' +syn match elixirKeyword '\(\.\)\@<!\<\(for\|case\|when\|with\|cond\|if\|unless\|try\|receive\|after\|rescue\|catch\|else\|quote\|unquote\|super\|unquote_splicing\)\>:\@!' syn keyword elixirInclude import require alias use diff --git a/syntax/elm.vim b/syntax/elm.vim index fb3874c0..a26fb0f6 100644 --- a/syntax/elm.vim +++ b/syntax/elm.vim @@ -7,13 +7,13 @@ if exists('b:current_syntax') endif " Keywords -syn keyword elmConditional case else if of then +syn keyword elmConditional else if of then syn keyword elmAlias alias -syn keyword elmTypedef type port let in +syn keyword elmTypedef contained type port syn keyword elmImport exposing as import module where " Operators -syn match elmOperator "\([-!#$%`&\*\+./<=>\?@\\^|~:]\|\<_\>\)" +syn match elmOperator contained "\([-!#$%`&\*\+./<=>\?@\\^|~:]\|\<_\>\)" " Types syn match elmType "\<[A-Z][0-9A-Za-z_'-]*" @@ -29,7 +29,7 @@ syn match elmTupleFunction "\((,\+)\)" " Comments syn keyword elmTodo TODO FIXME XXX contained syn match elmLineComment "--.*" contains=elmTodo,@spell -syn region elmComment matchgroup=elmComment start="{-|\=" end="-}" contains=elmTodo,elmComment,@spell +syn region elmComment matchgroup=elmComment start="{-|\=" end="-}" contains=elmTodo,elmComment,@spell fold " Strings syn match elmStringEscape "\\u[0-9a-fA-F]\{4}" contained @@ -45,6 +45,16 @@ syn match elmFloat "\(\<\d\+\.\d\+\>\)" " Identifiers syn match elmTopLevelDecl "^\s*[a-zA-Z][a-zA-z0-9_]*\('\)*\s\+:\s\+" contains=elmOperator +" Folding +syn region elmTopLevelTypedef start="type" end="\n\(\n\n\)\@=" contains=ALL fold +syn region elmTopLevelFunction start="^[a-zA-Z].\+\n[a-zA-Z].\+=" end="^\(\n\+\)\@=" contains=ALL fold +syn region elmCaseBlock matchgroup=elmCaseBlockDefinition start="^\z\(\s\+\)\<case\>" end="^\z1\@!\W\@=" end="\(\n\n\z1\@!\)\@=" end="\n\z1\@!\(\n\n\)\@=" contains=ALL fold +syn region elmCaseItemBlock start="^\z\(\s\+\).\+->$" end="^\z1\@!\W\@=" end="\(\n\n\z1\@!\)\@=" end="\(\n\z1\S\)\@=" contains=ALL fold +syn region elmLetBlock matchgroup=elmLetBlockDefinition start="\<let\>" end="\<in\>" contains=ALL fold + +hi def link elmCaseBlockDefinition Conditional +hi def link elmCaseBlockItemDefinition Conditional +hi def link elmLetBlockDefinition TypeDef hi def link elmTopLevelDecl Function hi def link elmTupleFunction Normal hi def link elmTodo Todo diff --git a/syntax/erlang.vim b/syntax/erlang.vim index c6794a01..11db9c57 100644 --- a/syntax/erlang.vim +++ b/syntax/erlang.vim @@ -81,6 +81,7 @@ syn match erlangGlobalFuncRef '\<\%(\a[[:alnum:]_@]*\%(\s\|\n\|%.*\n\)*\.\%(\s\ syn match erlangVariable '\<[A-Z_][[:alnum:]_@]*' syn match erlangMacro '??\=[[:alnum:]_@]\+' syn match erlangMacro '\%(-define(\)\@<=[[:alnum:]_@]\+' +syn region erlangQuotedMacro start=/??\=\s*'/ end=/'/ contains=erlangQuotedAtomModifier syn match erlangMap '#' syn match erlangRecord '#\s*\l[[:alnum:]_@]*' syn region erlangQuotedRecord start=/#\s*'/ end=/'/ contains=erlangQuotedAtomModifier @@ -193,6 +194,7 @@ hi def link erlangGlobalFuncCall Function hi def link erlangGlobalFuncRef Function hi def link erlangVariable Normal hi def link erlangMacro Normal +hi def link erlangQuotedMacro Normal hi def link erlangRecord Normal hi def link erlangQuotedRecord Normal hi def link erlangMap Normal @@ -204,6 +206,7 @@ hi def link erlangGlobalFuncCall Normal hi def link erlangGlobalFuncRef Normal hi def link erlangVariable Identifier hi def link erlangMacro Macro +hi def link erlangQuotedMacro Macro hi def link erlangRecord Structure hi def link erlangQuotedRecord Structure hi def link erlangMap Structure diff --git a/syntax/git.vim b/syntax/git.vim index 53f44d36..022c1dcc 100644 --- a/syntax/git.vim +++ b/syntax/git.vim @@ -27,7 +27,9 @@ syn region gitDiff start=/^\%(@@ -\)\@=/ end=/^\%(diff --\%(git\|cc\|combined\) syn region gitDiffMerge start=/^\%(diff --\%(cc\|combined\) \)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff syn region gitDiffMerge start=/^\%(@@@@* -\)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff syn match gitDiffAdded "^ \++.*" contained containedin=gitDiffMerge +syn match gitDiffAdded "{+.*+}" contained containedin=gitDiff syn match gitDiffRemoved "^ \+-.*" contained containedin=gitDiffMerge +syn match gitDiffRemoved "\[-.*-\]" contained containedin=gitDiff syn match gitKeyword /^\%(object\|type\|tag\|commit\|tree\|parent\|encoding\)\>/ contained containedin=gitHead nextgroup=gitHash,gitType skipwhite syn match gitKeyword /^\%(tag\>\|ref:\)/ contained containedin=gitHead nextgroup=gitReference skipwhite diff --git a/syntax/go.vim b/syntax/go.vim index c02ad504..ab5ac8af 100644 --- a/syntax/go.vim +++ b/syntax/go.vim @@ -357,7 +357,7 @@ if go#config#HighlightBuildConstraints() || go#config#FoldEnable('package_commen \ . ' end=/\v\n\s*package/he=e-7,me=e-7,re=e-7' \ . ' contains=@goCommentGroup,@Spell' \ . (go#config#FoldEnable('package_comment') ? ' fold' : '') - exe 'syn region goPackageComment start=/\v\/\*.*\n(.*\n)*\s*\*\/\npackage/' + exe 'syn region goPackageComment start=/\v^\s*\/\*.*\n(.*\n)*\s*\*\/\npackage/' \ . ' end=/\v\*\/\n\s*package/he=e-7,me=e-7,re=e-7' \ . ' contains=@goCommentGroup,@Spell' \ . (go#config#FoldEnable('package_comment') ? ' fold' : '') diff --git a/syntax/html.vim b/syntax/html.vim index 4b02bc7f..ee2323de 100644 --- a/syntax/html.vim +++ b/syntax/html.vim @@ -129,6 +129,8 @@ syn keyword htmlArg contained prefetch " syn keyword htmlArg contained preload " <img> syn keyword htmlArg contained decoding +" https://w3c.github.io/selection-api/#extensions-to-globaleventhandlers +syn keyword htmlArg contained onselectstart onselectionchange " Custom Data Attributes " http://w3c.github.io/html/single-page.html#embedding-custom-non-visible-data-with-the-data-attributes diff --git a/syntax/javascript.vim b/syntax/javascript.vim index d10f1ef5..a4ffaa39 100644 --- a/syntax/javascript.vim +++ b/syntax/javascript.vim @@ -35,7 +35,7 @@ syntax match jsParensError /[)}\]]/ " Program Keywords syntax keyword jsStorageClass const var let skipwhite skipempty nextgroup=jsDestructuringBlock,jsDestructuringArray,jsVariableDef syntax match jsVariableDef contained /\<\K\k*/ skipwhite skipempty nextgroup=jsFlowDefinition -syntax keyword jsOperator delete instanceof typeof void new in of skipwhite skipempty nextgroup=@jsExpression +syntax keyword jsOperatorKeyword delete instanceof typeof void new in of skipwhite skipempty nextgroup=@jsExpression syntax match jsOperator "[-!|&+<>=%/*~^]" skipwhite skipempty nextgroup=@jsExpression syntax match jsOperator /::/ skipwhite skipempty nextgroup=@jsExpression syntax keyword jsBooleanTrue true @@ -86,7 +86,7 @@ syntax match jsObjectMethodType contained /\<[gs]et\ze\s\+\K\k*/ skipwhite sk syntax region jsObjectStringKey contained start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1\|$+ 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 : '').' skipwhite skipempty nextgroup=@jsExpression' +exe 'syntax keyword jsReturn return contained '.(exists('g:javascript_conceal_return') ? 'conceal cchar='.g:javascript_conceal_return : '').' skipwhite 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 : '') @@ -232,7 +232,7 @@ if exists("javascript_plugin_flow") runtime extras/flow.vim endif -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,jsForAwait,jsAsyncKeyword,jsStatement +syntax cluster jsExpression contains=jsBracket,jsParen,jsObject,jsTernaryIf,jsTaggedTemplate,jsTemplateString,jsString,jsRegexpString,jsNumber,jsFloat,jsOperator,jsOperatorKeyword,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,jsForAwait,jsAsyncKeyword,jsStatement syntax cluster jsAll contains=@jsExpression,jsStorageClass,jsConditional,jsRepeat,jsReturn,jsException,jsTry,jsNoise,jsBlockLabel " Define the default highlighting. @@ -292,6 +292,7 @@ if version >= 508 || !exists("did_javascript_syn_inits") HiLink jsArguments Special HiLink jsError Error HiLink jsParensError Error + HiLink jsOperatorKeyword jsOperator HiLink jsOperator Operator HiLink jsOf Operator HiLink jsStorageClass StorageClass diff --git a/syntax/javascript/html5.vim b/syntax/javascript/html5.vim index f950d6c5..3176e226 100644 --- a/syntax/javascript/html5.vim +++ b/syntax/javascript/html5.vim @@ -42,9 +42,12 @@ syn keyword javascriptDomElemFuncs load addTextTrack syn keyword javascriptDomElemAttrs videoWidth videoHeight poster " drag and drop -syn keyword javascriptDomElemAttrs onDragStart onDragEnd onDragEnter onDragLeave onDragOver onDrag onDrop draggable dropzone +syn keyword javascriptDomElemAttrs ondragstart ondragend ondragenter ondragleave ondragover ondrag ondrop draggable dropzone " <checkbox> syn keyword javascriptDomElemAttrs indeterminate +" select https://w3c.github.io/selection-api/#extensions-to-globaleventhandlers +syn keyword javascriptDomElemAttrs onselectstart onselectchange + endif diff --git a/syntax/ruby.vim b/syntax/ruby.vim index e61e5f54..9f269980 100644 --- a/syntax/ruby.vim +++ b/syntax/ruby.vim @@ -310,7 +310,7 @@ endif " eRuby Config {{{1 if exists('main_syntax') && main_syntax == 'eruby' let b:ruby_no_expensive = 1 -end +endif " Module, Class, Method and Alias Declarations {{{1 syn match rubyAliasDeclaration "[^[:space:];#.()]\+" contained contains=rubySymbol,rubyGlobalVariable,rubyPredefinedVariable nextgroup=rubyAliasDeclaration2 skipwhite diff --git a/syntax/vue.vim b/syntax/vue.vim index 7dfefdb2..697ca83f 100644 --- a/syntax/vue.vim +++ b/syntax/vue.vim @@ -37,7 +37,7 @@ function! s:register_language(language, tag, ...) unlet! b:current_syntax execute 'syntax region vue_' . a:language \ 'keepend' - \ 'start=/<' . a:tag . ' \_[^>]*' . attr . '\_[^>]*>/' + \ 'start=/<' . a:tag . '\>\_[^>]*' . attr . '\_[^>]*>/' \ 'end="</' . a:tag . '>"me=s-1' \ 'contains=@' . a:language . ',vueSurroundingTag' \ 'fold' |