Commit: runtime(cpp): recognize C++23 stdfloat types

2 views
Skip to first unread message

Christian Brabandt

unread,
Jun 1, 2026, 5:30:15 PM (yesterday) Jun 1
to vim...@googlegroups.com
runtime(cpp): recognize C++23 stdfloat types

Commit: https://github.com/vim/vim/commit/fd30a736cc4acbefe3a1b05e6051f8df13aa6b2b
Author: Yasuhiro Matsumoto <matt...@gmail.com>
Date: Mon Jun 1 21:15:41 2026 +0000

runtime(cpp): recognize C++23 stdfloat types

Add float16_t, float32_t, float64_t, float128_t and bfloat16_t from
<stdfloat> as cppType under a new cpp_no_cpp23 guard.

fixes: #16498
closes: #20367

Signed-off-by: Yasuhiro Matsumoto <matt...@gmail.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index ca5daf1b7..e668de970 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 9.2. Last change: 2026 May 23
+*syntax.txt* For Vim version 9.2. Last change: 2026 Jun 01


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1260,6 +1260,7 @@ cpp_no_cpp11 don't highlight C++11 standard items
cpp_no_cpp14 don't highlight C++14 standard items
cpp_no_cpp17 don't highlight C++17 standard items
cpp_no_cpp20 don't highlight C++20 standard items
+cpp_no_cpp23 don't highlight C++23 standard items


CSH *csh.vim* *ft-csh-syntax*
diff --git a/runtime/syntax/cpp.vim b/runtime/syntax/cpp.vim
index 5ea52ec50..1c725a4bf 100644
--- a/runtime/syntax/cpp.vim
+++ b/runtime/syntax/cpp.vim
@@ -7,6 +7,7 @@
" 2024 May 04 by Vim Project fix digit separator in octals and floats
" 2026 Jan 06 by Vim Project orphaning announcement
" 2026 Jan 08 by Vim Project highlight capital letter prefixes for numbers
+" 2026 May 29 by Vim Project add C++23 stdfloat types (#16498)

" quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -104,6 +105,11 @@ if !exists("cpp_no_cpp20")
syn keyword cppModule import module export
endif

+" C++ 23 extensions
+if !exists("cpp_no_cpp23")
+ syn keyword cppType float16_t float32_t float64_t float128_t bfloat16_t
+endif
+
" The minimum and maximum operators in GNU C++
syn match cppMinMax "[<>]?"

Reply all
Reply to author
Forward
0 new messages