From 21d8a0a12787a382d89d0558f4be2d47f1d8ad41 Mon Sep 17 00:00:00 2001 From: Liu Hao Date: Thu, 7 Dec 2017 17:10:29 +0800 Subject: [PATCH 1/9] syntax: add some more rules for C and C++. Complete list of rules add: C89: typedefs: ptrdiff_t wchar_t C99: keywords: restrict _Complex _Bool _Imaginary _Atomic _Thread_local _Noreturn _Alignas _Alignof _Pragma typedefs: intmax_t uintmax_t macros: true false C11: keywords: _Static_assert _Generic typedefs: char16_t char32_t macros: alignas alignof thread_local static_assert C++98: keywords: true false typeid export static_cast dynamic_cast const_cast reinterpret_cast C++11: keywords: decltype constexpr thread_local nullptr noexcept static_assert thread_local _Pragma identifiers: final C++17: keywords: __has_include Signed-off-by: Liu Hao --- syntax/c.nanorc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/syntax/c.nanorc b/syntax/c.nanorc index 1b782844..c6de55c6 100644 --- a/syntax/c.nanorc +++ b/syntax/c.nanorc @@ -9,14 +9,15 @@ color brightred "\<[A-Z_][0-9A-Z_]+\>" # Labels. color brightmagenta "^[[:space:]]*[A-Z_a-z]+:[[:space:]]*$" -color green "\<(float|double|bool|char|int|short|long|sizeof|enum|void|auto|static|const|struct|union|typedef|extern|(un)?signed|inline)\>" -color green "\<((s?size)|((u_?)?int(8|16|32|64|ptr)))_t\>" -color green "\<(class|namespace|template|public|protected|private|typename|this|friend|virtual|override|using|mutable|volatile|register|explicit)\>" +color green "\<(float|double|bool|true|false|char|int|short|long|sizeof|align(as|of)|decltype|typeid|enum|void|auto|static|const|struct|union|typedef|extern|(un)?signed|inline|constexpr|thread_local|restrict|_Complex|_Bool|_Imaginary|_Atomic|_Thread_local|_Noreturn|_Align(as|of))\>" +color green "\<((s?size)|ptrdiff|((u_?)?int(8|16|32|64|ptr|max))|wchar|char(16|32))_t\>" +color green "\<(class|namespace|template|public|protected|private|typename|this|nullptr|friend|virtual|override|final|noexcept|using|mutable|volatile|register|explicit|export)\>" color brightyellow "\<(for|if|while|do|else|case|default|switch)\>" -color brightyellow "\<(try|throw|catch|operator|new|delete)\>" +color brightyellow "\<(try|throw|catch|operator|new|delete|(static|dynamic|const|reinterpret)_cast|static_assert|_Static_assert)\>" color magenta "\<(goto|continue|break|return)\>" color brightcyan "^[[:space:]]*#[[:space:]]*(define|include(_next)?|(un|ifn?)def|endif|el(if|se)|if|warning|error|pragma)" color brightmagenta "'([^'\]|(\\["'abfnrtv\\]))'" "'\\(([0-3]?[0-7]{1,2}))'" "'\\x[0-9A-Fa-f]{1,2}'" +color brightgreen "\<(_Pragma|__has_include|_Generic)\>" # GCC builtins. color cyan "__attribute__[[:space:]]*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__" -- 2.15.0