draft: post about formatting lib

This commit is contained in:
りき萌 2025-08-17 22:22:00 +02:00
parent 332fb13668
commit 153ba9f0c2
5 changed files with 699 additions and 5 deletions

View file

@ -22,8 +22,8 @@
"captures": ["identifier", "keyword2"]
}
},
{ "regex": "(u8|u|U|L)'(\\\\'|[^'])'", "is": "string" },
{ "regex": "(u8|u|U|L)\"(\\\\\"|[^\"])*\"", "is": "string" },
{ "regex": "(u8|u|U|L)?'(\\\\'|[^'])'", "is": "string" },
{ "regex": "(u8|u|U|L)?\"(\\\\\"|[^\"])*\"", "is": "string" },
{ "regex": "[a-zA-Z_][a-zA-Z0-9_]*", "is": "identifier" },
{ "regex": "0[bB][01']+[uUlLfFlLdDwWbB]*", "is": "literal" },
{

137
static/syntax/cpp.json Normal file
View file

@ -0,0 +1,137 @@
{
"patterns": [
{
"regex": "#include (<.+?>)",
"is": { "default": "keyword1", "captures": ["string"] }
},
{ "regex": "#[a-zA-Z0-9_]+", "is": "keyword1" },
{ "regex": "\\/\\/.*", "is": "comment" },
{
"regex": "\\/\\*.*?\\*\\/",
"flags": ["dotMatchesNewline"],
"is": "comment"
},
{
"regex": "[a-zA-Z_][a-zA-Z0-9_]*(\\()",
"is": { "default": "function", "captures": ["default"] }
},
{ "regex": "(u8|u|U|L)?'(\\\\'|[^'])'", "is": "string" },
{ "regex": "(u8|u|U|L)?\"(\\\\\"|[^\"])*\"", "is": "string" },
{ "regex": "[a-zA-Z_][a-zA-Z0-9_]*", "is": "identifier" },
{ "regex": "0[bB][01']+[uUlLfFlLdDwWbB]*", "is": "literal" },
{
"regex": "0[xX][0-9a-fA-F']+(\\.[0-9a-fA-F']*([pP][-+]?[0-9a-fA-F']+)?)?+[uUlLwWbB]*",
"is": "literal"
},
{
"regex": "[0-9']+(\\.[0-9']*([eE][-+]?[0-9']+)?)?[uUlLfFlLdDwWbB]*",
"is": "literal"
},
{ "regex": "[+=/*^%<>!~|&\\.?:#-]+", "is": "operator" },
{ "regex": "[,;]", "is": "punct" }
],
"keywords": {
"alignas": { "into": "keyword1" },
"alignof": { "into": "keyword1" },
"and": { "into": "keyword1" },
"and_eq": { "into": "keyword1" },
"asm": { "into": "keyword1" },
"auto": { "into": "keyword1" },
"bitand": { "into": "keyword1" },
"bitor": { "into": "keyword1" },
"break": { "into": "keyword1" },
"case": { "into": "keyword1" },
"catch": { "into": "keyword1" },
"class": { "into": "keyword1" },
"compl": { "into": "keyword1" },
"concept": { "into": "keyword1" },
"const": { "into": "keyword1" },
"consteval": { "into": "keyword1" },
"constexpr": { "into": "keyword1" },
"constinit": { "into": "keyword1" },
"const_cast": { "into": "keyword1" },
"continue": { "into": "keyword1" },
"contract_assert": { "into": "keyword1" },
"co_await": { "into": "keyword1" },
"co_return": { "into": "keyword1" },
"co_yield": { "into": "keyword1" },
"decltype": { "into": "keyword1" },
"default": { "into": "keyword1" },
"delete": { "into": "keyword1" },
"do": { "into": "keyword1" },
"dynamic_cast": { "into": "keyword1" },
"else": { "into": "keyword1" },
"enum": { "into": "keyword1" },
"explicit": { "into": "keyword1" },
"export": { "into": "keyword1" },
"extern": { "into": "keyword1" },
"for": { "into": "keyword1" },
"friend": { "into": "keyword1" },
"goto": { "into": "keyword1" },
"if": { "into": "keyword1" },
"inline": { "into": "keyword1" },
"mutable": { "into": "keyword1" },
"namespace": { "into": "keyword1" },
"new": { "into": "keyword1" },
"noexcept": { "into": "keyword1" },
"not": { "into": "keyword1" },
"not_eq": { "into": "keyword1" },
"operator": { "into": "keyword1" },
"or": { "into": "keyword1" },
"or_eq": { "into": "keyword1" },
"private": { "into": "keyword1" },
"protected": { "into": "keyword1" },
"public": { "into": "keyword1" },
"register": { "into": "keyword1" },
"reinterpret_cast": { "into": "keyword1" },
"requires": { "into": "keyword1" },
"return": { "into": "keyword1" },
"sizeof": { "into": "keyword1" },
"static": { "into": "keyword1" },
"static_assert": { "into": "keyword1" },
"static_cast": { "into": "keyword1" },
"struct": { "into": "keyword1" },
"switch": { "into": "keyword1" },
"template": { "into": "keyword1" },
"this": { "into": "keyword2" },
"thread_local": { "into": "keyword1" },
"throw": { "into": "keyword1" },
"try": { "into": "keyword1" },
"typedef": { "into": "keyword1" },
"typeid": { "into": "keyword1" },
"typename": { "into": "keyword1" },
"union": { "into": "keyword1" },
"using": { "into": "keyword1" },
"virtual": { "into": "keyword1" },
"volatile": { "into": "keyword1" },
"wchar_t": { "into": "keyword1" },
"while": { "into": "keyword1" },
"xor": { "into": "keyword1" },
"xor_eq": { "into": "keyword1" },
"bool": { "into": "keyword2" },
"char": { "into": "keyword2" },
"char8_t": { "into": "keyword2" },
"char16_t": { "into": "keyword2" },
"char32_t": { "into": "keyword2" },
"double": { "into": "keyword2" },
"float": { "into": "keyword2" },
"int": { "into": "keyword2" },
"long": { "into": "keyword2" },
"short": { "into": "keyword2" },
"signed": { "into": "keyword2" },
"unsigned": { "into": "keyword2" },
"void": { "into": "keyword2" },
"_Atomic": { "into": "keyword2" },
"_BitInt": { "into": "keyword2" },
"_Complex": { "into": "keyword2" },
"_Decimal128": { "into": "keyword2" },
"_Decimal32": { "into": "keyword2" },
"_Decimal64": { "into": "keyword2" },
"_Imaginary": { "into": "keyword2" },
"nullptr": { "into": "literal" },
"false": { "into": "literal" },
"true": { "into": "literal" }
}
}