63 Commits
Author SHA1 Message Date
Eisuke Kawashima f1a677c4fb runtime(c): support 0O/0o octal prefix (C29)
closes: #21327

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-21 19:45:23 +00:00
Doug Kearns 2daae1553b runtime(c,cpp): Update syntax, fix number patterns
Fix potentially catastrophic backtracking in number patterns when using
regexpengine=1.

closes: #21324

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-16 17:52:06 +00:00
Hirohito HigashiandMaxim Kim 5c9c5a43c1 runtime(c): syntax depends on the 'iskeyword' option
Problem:  C keywords are matched using the characters from 'iskeyword',
          so changing that option highlights part of an identifier as a
          keyword and leaves keywords containing an underscore
          unhighlighted.
Solution: Set the keyword characters with ":syn iskeyword".

fixes:  #21173
closes: #21176

Co-Authored-By: Maxim Kim <habamax@gmail.com>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-30 21:25:07 +00:00
Bogdan Barbu 5a1124e4f5 runtime(c): compound literal braces are highlighted as errors
Problem: Braces in C compound literals and initializers inside parentheses
         and brackets are highlighted as errors.

Solution: Recognize those initializer blocks while preserving syntax recovery
          for malformed parentheses.

fixes:  #18709
closes: #20842

Signed-off-by: Bogdan Barbu <l4b.bogdan.barbu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-04 21:11:56 +00:00
Yasuhiro Matsumoto 77b2376769 runtime(c): classify type qualifiers, function specifiers and C23 attributes
Move const, volatile, restrict and _Atomic to a new cTypeQualifier group
and inline and _Noreturn to cFunctionSpec. Add the C23 standard attributes
deprecated, fallthrough, maybe_unused, nodiscard, unsequenced and
reproducible as cStandardAttribute, and reclassify the existing noreturn
into the same group.

The new groups link to cStorageClass, so the default highlighting and any
existing cStorageClass override are unchanged, while allowing finer-grained
customization.

fixes:  #19574
closes: #20368

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-01 21:04:08 +00:00
Wu Yongwei 5529b750a7 runtime(c): Do not highlight noreturn in C++ code
closes: #19170

Signed-off-by: Wu Yongwei <wuyongwei@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-15 20:37:14 +00:00
Harryandzeertzjq 7fe4b8c1bd runtime(c): Update signal constants in syntax script
closes: #18763

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Harry <166658338+harrystevens4@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-18 20:50:39 +00:00
Doug Kearns e06405181a runtime(c): add new constexpr keyword to syntax file (C23)
closes: #16471

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-18 10:52:27 +01:00
Doug KearnsandAlbin Ahlbäck c2a967a1b9 runtime(c): Update syntax and ftplugin files
- highlight more C keywords, including some from C23

Conditionally highlight C23 features:
- #embed, #elifdef and #elifndef preprocessor directives
- predefined macros
- UTF-8 character constants
- binary integer constants, _BitInt literals, and digit separators
- nullptr_t type and associated constant
- decimal real floating-point, bit precise and char types
- typeof operators

Matchit:
- update for new preprocessor directives

fixes: #13667
fixes: #13679
closes: #12984

Co-authored-by: Albin Ahlbäck <albin.ahlback@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-17 14:12:16 +01:00
Wu Yongwei 63c39e4ef7 runtime(c): Recognize "__inline" (#14145)
`__inline` is recognized by GCC, and may even be preferred, as MSVC does
not recognize `__inline__`.

Signed-off-by: Wu Yongwei <wuyongwei@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-05 20:27:27 +01:00
Luca Saccarola ca0e9823a1 runtime(c): Highlight user defined functions
closes: #13763

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23 21:34:09 +01:00
Christian Brabandt e978b4534a Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
* Dedicate upcoming Vim 9.1 to Bram

Also replace in a few more places Brams email address and mention new
maintainers.

* Remove Bram from any Maintainer role

* runtime: Align Header

* it's mailing list not mailinglist
2023-08-13 10:33:05 +02:00
Bram Moolenaar 71badf9547 Update runtime files 2023-04-22 22:40:14 +01:00
Bram Moolenaar 3c053a1a5a Update runtime files 2022-10-16 13:11:12 +01:00
Bram Moolenaar ce001a337e Update runtime files 2022-04-27 15:25:03 +01:00
Bram Moolenaar 47c532e2bc Update runtime files 2022-03-19 15:18:53 +00:00
Bram Moolenaar 0e6adf8a29 Update runtime files 2021-12-16 14:41:10 +00:00
Bram Moolenaar d2ea7cf10a Update runtime files 2021-05-30 20:54:13 +02:00
Bram Moolenaar 98a29d00a4 Update runtime files. 2021-01-18 19:55:44 +01:00
Bram Moolenaar 207f009326 Update runtime files. 2020-08-30 17:20:20 +02:00
Bram Moolenaar 3d1cde8a2f Update runtime files. 2020-08-15 18:55:18 +02:00
Bram Moolenaar 91359014b3 Update runtime files. 2019-11-30 17:57:03 +01:00
Bram Moolenaar a6c27c47dd Update runtime files 2019-05-09 19:16:22 +02:00
Bram Moolenaar 4c92e75dd4 Update runtime files. 2019-02-17 21:18:32 +01:00
Bram Moolenaar 95bafa296a Update runtime files. 2018-10-02 13:26:25 +02:00
Bram Moolenaar 40962ec9c0 Update runtime files. 2018-01-28 22:47:25 +01:00
Bram Moolenaar b4d6c3ea4a Update runtime files. 2017-05-27 16:45:17 +02:00
Bram Moolenaar 5162822914 patch 8.0.0118
Problem:    "make proto" adds extra function prototype.
Solution:   Add #ifdef.
2016-12-01 23:03:28 +01:00
Bram Moolenaar c0514bf477 Updated runtime files. 2016-11-17 14:50:09 +01:00
Bram Moolenaar 6d5ad4c411 Updated runtime files. 2016-10-27 17:00:16 +02:00
Bram Moolenaar 063b9d15ab Updated runtime files. 2016-07-09 20:21:48 +02:00
Bram Moolenaar 03413f4416 Updated runtime files. 2016-04-12 21:07:15 +02:00
Bram Moolenaar 939a1abe93 Updated runtime files. 2016-04-10 01:31:25 +02:00
Bram Moolenaar 38a55639d6 Update runtime files. 2016-02-15 22:07:32 +01:00
Bram Moolenaar d8b77f7dc0 updated for version 7.4.656
Problem:    Missing changes for glob() in one file.
Solution:   Add the missing changes.
2015-03-05 21:21:19 +01:00
Bram Moolenaar 2b8388bd01 Updated runtime files. 2015-02-28 13:11:45 +01:00
Bram Moolenaar 2f3b510b0f Update runtime files. 2014-11-19 18:54:17 +01:00
Bram Moolenaar 3a991dd001 Update runtime files. 2014-10-02 01:41:41 +02:00
Bram Moolenaar 822ff866bd Update runtime files. 2014-06-12 21:46:14 +02:00
Bram Moolenaar bc488a76cc A few updated runtime files. 2013-07-05 21:01:22 +02:00
Bram Moolenaar 203d04d764 Updated runtime files. 2013-06-06 21:36:40 +02:00
Bram Moolenaar 543b7ef700 Updated runtime files and translations. 2013-06-01 14:50:56 +02:00
Bram Moolenaar ac7bd63844 Update runtime files. 2013-03-19 11:35:58 +01:00
Bram Moolenaar 34700a6a15 Updated runtime files. 2013-03-07 13:20:54 +01:00
Bram Moolenaar a3e6bc93d1 Update runtime files. 2013-01-30 14:18:00 +01:00
Bram Moolenaar 1aeaf8c0e0 Updated runtime files. 2012-05-18 13:46:39 +02:00
Bram Moolenaar 6be7f8733f Update runtime files. 2012-01-20 21:08:56 +01:00
Bram Moolenaar 6ee8d89cf9 Updated runtime files. 2012-01-10 14:55:01 +01:00
Bram Moolenaar b6b046b281 Updated runtime files. 2011-12-30 13:11:27 +01:00
Bram Moolenaar 5302d9ebc1 Updated runtime files. 2011-09-14 17:55:08 +02:00