diff --git a/syntax/cpp.vim b/syntax/cpp.vim index 23feecd..882c100 100644 --- a/syntax/cpp.vim +++ b/syntax/cpp.vim @@ -71,8 +71,9 @@ if !exists('cpp_no_cpp14') endif " C++17 -if !exists('cpp_no_cpp17') +if exists('cpp_experimental') && !exists('cpp_no_cpp17') " Attribute Specifier Sequence + " FIXME: This matches range-for and switch case statements " Match: [[using attribute-namespace: attribute-list]] syn match cppAttributeUsingNamespace '\s\+\zs\w\+\ze\s*:' contained contains=cppAttributeUsing syn keyword cppAttributeUsing using contained @@ -86,7 +87,7 @@ if !exists('cpp_no_cpp17') endif " C++20 -if !exists('cpp_no_cpp20') +if exists('cpp_experimental') && !exists('cpp_no_cpp20') syn keyword cppStatement concept requires " TODO: Attribute Specifier Sequence