diff options
| author | Adam Stankiewicz <sheerun@sher.pl> | 2016-05-02 10:42:37 +0200 | 
|---|---|---|
| committer | Adam Stankiewicz <sheerun@sher.pl> | 2016-05-02 10:42:37 +0200 | 
| commit | 5dd1a7e83966c92d220073185f1738dfe441f59e (patch) | |
| tree | 9c4bee389a51a9bb111dcc894c9db0f6d1809d81 /after | |
| parent | bc098370c1bb81840734f5764f431dee270e75ce (diff) | |
| download | vim-polyglot-5dd1a7e83966c92d220073185f1738dfe441f59e.tar.gz vim-polyglot-5dd1a7e83966c92d220073185f1738dfe441f59e.zip | |
Update
Diffstat (limited to 'after')
| -rw-r--r-- | after/ftplugin/cabal.vim | 1 | ||||
| -rw-r--r-- | after/ftplugin/haskell.vim | 1 | ||||
| -rw-r--r-- | after/syntax/cpp.vim | 86 | ||||
| -rw-r--r-- | after/syntax/jsx.vim | 17 | 
4 files changed, 59 insertions, 46 deletions
| diff --git a/after/ftplugin/cabal.vim b/after/ftplugin/cabal.vim index a4f042ba..17bca8f5 100644 --- a/after/ftplugin/cabal.vim +++ b/after/ftplugin/cabal.vim @@ -1,7 +1,6 @@  if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haskell') == -1  setlocal comments=s1fl:{-,mb:-,ex:-},:-- -setlocal formatoptions-=cro formatoptions+=j  setlocal iskeyword+=-,.,*  setlocal commentstring=--\ %s diff --git a/after/ftplugin/haskell.vim b/after/ftplugin/haskell.vim index 387ffe71..766d4f8b 100644 --- a/after/ftplugin/haskell.vim +++ b/after/ftplugin/haskell.vim @@ -1,7 +1,6 @@  if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haskell') == -1  setlocal comments=s1fl:{-,mb:-,ex:-},:-- -setlocal formatoptions-=cro formatoptions+=j  setlocal iskeyword+='  endif diff --git a/after/syntax/cpp.vim b/after/syntax/cpp.vim index f6c866a6..c0bc3ec7 100644 --- a/after/syntax/cpp.vim +++ b/after/syntax/cpp.vim @@ -36,22 +36,56 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'c++11') == -1  " Functions  syn match   cCustomParen    "(" contains=cParen contains=cCppParen -syn match   cCustomFunc     "\w\+\s*(\@=" contains=cCustomParen +syn match   cCustomFunc     "\w\+\s*(\@="  hi def link cCustomFunc  Function -" Template functions -if exists('g:cpp_experimental_template_highlight') && g:cpp_experimental_template_highlight -    syn region  cCustomAngleBrackets matchgroup=AngleBracketContents start="\v%(<operator\_s*)@<!%(%(\_i|template\_s*)@<=\<[<=]@!|\<@<!\<[[:space:]<=]@!)" end='>' contains=@cppSTLgroup,cppStructure,cType,cCustomClass,cCustomAngleBrackets,cNumbers -    syn match   cCustomBrack    "<\|>" contains=cCustomAngleBrackets -    syn match   cCustomTemplateFunc "\w\+\s*<.*>(\@=" contains=cCustomBrack,cCustomAngleBrackets -    hi def link cCustomTemplateFunc  Function -endif -  " Class and namespace scope  if exists('g:cpp_class_scope_highlight') && g:cpp_class_scope_highlight      syn match    cCustomScope    "::" -    syn match    cCustomClass    "\w\+\s*::" contains=cCustomScope -    hi def link cCustomClass Function  " disabled for now +    syn match    cCustomClass    "\w\+\s*::"  +                \contains=cCustomScope  +    " hi def link cCustomClass Function  " disabled for now +    syn match   cCustomClass    "\<\u\w*\s*\>"  +endif + +" Template functions +if exists('g:cpp_experimental_template_highlight') && g:cpp_experimental_template_highlight + +    syn match   cCustomAngleBracketStart "<\_[^;()]\{-}>" contained  +                \contains=cCustomAngleBracketStart, cCustomAngleBracketEnd +    hi def link cCustomAngleBracketStart  cCustomAngleBracketContent + +    syn match   cCustomAngleBracketEnd ">\_[^<>;()]\{-}>" contained  +                \contains=cCustomAngleBracketEnd +    hi def link cCustomAngleBracketEnd  cCustomAngleBracketContent + +    syn match cCustomTemplateFunc "\<\l\w*\s*<\_[^;()]\{-}>(\@="hs=s,he=e-1  +                \contains=cCustomAngleBracketStart +    hi def link cCustomTemplateFunc  cCustomFunc + +    syn match    cCustomTemplateClass    "\<\w\+\s*<\_[^;()]\{-}>"  +                \contains=cCustomAngleBracketStart,cCustomTemplateFunc  +    hi def link cCustomTemplateClass cCustomClass + + +    " Remove 'template' from cppStructure and use a custom match +    syn clear cppStructure  +    syn keyword cppStructure class typename namespace + +    syn match   cCustomTemplate "\<template\>"  +    hi def link cCustomTemplate  cppStructure +    syn match   cTemplateDeclare "\<template\_s*<\_[^;()]\{-}>"  +                \contains=cppStructure,cCustomTemplate,cCustomAngleBracketStart  + +    " Remove 'operator' from cppStructure and use a custom match +    syn clear cppOperator  +    syn keyword cppOperator typeid +    syn keyword cppOperator and bitor or xor compl bitand and_eq or_eq xor_eq not not_eq + +    syn match   cCustomOperator "\<operator\>"  +    hi def link cCustomOperator  cppStructure +    syn match   cTemplateOperatorDeclare "\<operator\_s*<\_[^;()]\{-}>[<>]=\?"  +                \contains=cppOperator,cCustomOperator,cCustomAngleBracketStart   endif  " Alternative syntax that is used in: @@ -65,7 +99,7 @@ syn cluster cppSTLgroup     contains=cppSTLfunction,cppSTLfunctional,cppSTLconst  " -----------------------------------------------------------------------------  "  Standard library types and functions.  " -" Mainly based on the excellent STL Syntax vim script by +" Mainly based on the excellent STL Syntax vim script by   " Mizuchi <ytj000@gmail.com>  "   http://www.vim.org/scripts/script.php?script_id=4293  " which in turn is based on the scripts @@ -136,7 +170,6 @@ syntax keyword cppSTLfunctional binary_negate  syntax keyword cppSTLfunctional bit_and  syntax keyword cppSTLfunctional bit_not  syntax keyword cppSTLfunctional bit_or -syntax keyword cppSTLfunctional bit_xor  syntax keyword cppSTLfunctional divides  syntax keyword cppSTLfunctional equal_to  syntax keyword cppSTLfunctional greater @@ -1324,31 +1357,6 @@ if !exists("cpp_no_cpp14")      "dynarray      syntax keyword cppSTLtype dynarray -    "helper type traits types -    syntax keyword cppSTLtype remove_cv_t -    syntax keyword cppSTLtype remove_const_t -    syntax keyword cppSTLtype remove_volatile_t -    syntax keyword cppSTLtype add_cv_t -    syntax keyword cppSTLtype add_const_t -    syntax keyword cppSTLtype add_volatile_t -    syntax keyword cppSTLtype remove_reference_t -    syntax keyword cppSTLtype add_lvalue_reference_t -    syntax keyword cppSTLtype add_rvalue_reference_t -    syntax keyword cppSTLtype remove_pointer_t -    syntax keyword cppSTLtype add_pointer_t -    syntax keyword cppSTLtype remove_extent_t -    syntax keyword cppSTLtype remove_all_extents_t -    syntax keyword cppSTLtype make_signed_t -    syntax keyword cppSTLtype make_unsigned_t -    syntax keyword cppSTLtype aligned_storage_t -    syntax keyword cppSTLtype aligned_union_t -    syntax keyword cppSTLtype decay_t -    syntax keyword cppSTLtype enable_if_t -    syntax keyword cppSTLtype conditional_t -    syntax keyword cppSTLtype common_type_t -    syntax keyword cppSTLtype underlying_type_t -    syntax keyword cppSTLtype result_of_t -      "thread      syntax keyword cppSTLtype shared_mutex      syntax keyword cppSTLtype shared_lock @@ -1387,7 +1395,7 @@ if version >= 508 || !exists("did_cpp_syntax_inits")    HiLink cppSTLenum         Typedef    HiLink cppSTLios          Function    HiLink cppSTLcast         Statement " be consistent with official syntax -  HiLink cppRawString       String +  HiLink cppRawString       String     HiLink cppRawDelimiter    Delimiter    delcommand HiLink  endif diff --git a/after/syntax/jsx.vim b/after/syntax/jsx.vim index 0aafca12..de544a37 100644 --- a/after/syntax/jsx.vim +++ b/after/syntax/jsx.vim @@ -32,12 +32,23 @@ endif  "   - othree/yajs.vim:              javascriptNoReserved +" JSX attributes should color as JS.  Note the trivial end pattern; we let +" jsBlock take care of ending the region. +syn region xmlString contained start=+{+ end=++ contains=jsBlock,javascriptBlock + +" JSX child blocks behave just like JSX attributes, except that (a) they are +" syntactically distinct, and (b) they need the syn-extend argument, or else +" nested XML end-tag patterns may end the outer jsxRegion. +syn region jsxChild contained start=+{+ end=++ contains=jsBlock,javascriptBlock +  \ extend +  " Highlight JSX regions as XML; recursively match.  "  " Note that we prohibit JSX tags from having a < or word character immediately  " preceding it, to avoid conflicts with, respectively, the left shift operator  " and generic Flow type annotations (http://flowtype.org/). -syn region jsxRegion contains=@XMLSyntax,jsxRegion,jsBlock,javascriptBlock +syn region jsxRegion +  \ contains=@XMLSyntax,jsxRegion,jsxChild,jsBlock,javascriptBlock    \ start=+\%(<\|\w\)\@<!<\z([a-zA-Z][a-zA-Z0-9:\-.]*\)+    \ skip=+<!--\_.\{-}-->+    \ end=+</\z1\_\s\{-}>+ @@ -45,10 +56,6 @@ syn region jsxRegion contains=@XMLSyntax,jsxRegion,jsBlock,javascriptBlock    \ keepend    \ extend -" JSX attributes should color as JS.  Note the trivial end pattern; we let -" jsBlock take care of ending the region. -syn region xmlString contained start=+{+ end=++ contains=jsBlock,javascriptBlock -  " Add jsxRegion to the lowest-level JS syntax cluster.  syn cluster jsExpression add=jsxRegion | 
