From 92495328d1cb029572cf99fc4ea3b69db97c1bb5 Mon Sep 17 00:00:00 2001
From: ozacod <47009516+ozacod@users.noreply.github.com>
Date: Wed, 28 Jan 2026 13:33:28 +0300
Subject: [PATCH] languages: Add first-line C++ language detection for
extensionless libcpp headers (#47443)
Several libcpp headers lack file extensions. Added a first line pattern
for recognition.
https://github.com/llvm/llvm-project/blob/main/libcxx/include/random)](https://github.com/llvm/llvm-project/blob/main/libcxx/include/random
Before:
After:
Release Notes:
- Added first-line C++ language detection for extensionless libcpp
headers.
---
crates/languages/src/cpp/config.toml | 1 +
1 file changed, 1 insertion(+)
diff --git a/crates/languages/src/cpp/config.toml b/crates/languages/src/cpp/config.toml
index 8d85b4f2416cad7cc7935dbb657109d5f1126aa5..74aa1e5f726957eaadb8fd3fdd71e942c1a03f30 100644
--- a/crates/languages/src/cpp/config.toml
+++ b/crates/languages/src/cpp/config.toml
@@ -2,6 +2,7 @@ name = "C++"
grammar = "cpp"
path_suffixes = ["cc", "hh", "cpp", "h", "hpp", "cxx", "hxx", "c++", "h++", "ipp", "inl", "ino", "ixx", "cu", "cuh", "C", "H"]
line_comments = ["// ", "/// ", "//! "]
+first_line_pattern = '\/\/\s*-\*-\s*C\+\+\s*-\*-'
decrease_indent_patterns = [
{ pattern = "^\\s*\\{.*\\}?\\s*$", valid_after = ["if", "for", "while", "do", "switch", "else"] },
{ pattern = "^\\s*else\\b", valid_after = ["if"] }