Skip to content

Add modern C++ language feature support to syntax highlighting#5792

Open
shavesha wants to merge 1 commit intoajaxorg:masterfrom
shavesha:modern-cpp-highlighting
Open

Add modern C++ language feature support to syntax highlighting#5792
shavesha wants to merge 1 commit intoajaxorg:masterfrom
shavesha:modern-cpp-highlighting

Conversation

@shavesha
Copy link
Copy Markdown

@shavesha shavesha commented Apr 8, 2025

This commit updates the C++ syntax highlight rules to support:

  • C++20 features: concepts, consteval, constinit, coroutines (co_await, co_yield, co_return)
  • Modules support (import, module)
  • Extended preprocessor directives (__has_include, __has_embed, etc.)
  • Additional control flow directives (elifdef, elifndef)
  • Newer type support (char8_t)
  • Contract programming keywords (pre, post, contract_assert)

These changes ensure proper syntax highlighting for modern C++ codebases using recent language standards.

Issue #, if available:

Description of changes:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Pull Request Checklist:

This commit updates the C++ syntax highlight rules to support: - C++20 features: concepts, consteval, constinit, coroutines (co_await, co_yield, co_return) - Modules support (import, module) - Extended preprocessor directives (__has_include, __has_embed, etc.) - Additional control flow directives (elifdef, elifndef) - Newer type support (char8_t) - Contract programming keywords (pre, post, contract_assert) These changes ensure proper syntax highlighting for modern C++ codebases using recent language standards.
@xyos
Copy link
Copy Markdown
Contributor

xyos commented Jun 3, 2025

@shavesha can you take a look at the failing tests?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants