comparison third_party/highlight/languages/c.min.js @ 173:827c6ac504cd hg-web

Merged in default here.
author MrJuneJune <me@mrjunejune.com>
date Mon, 19 Jan 2026 18:59:10 -0800
parents 2db6253f355d
children
comparison
equal deleted inserted replaced
151:c033667da5f9 173:827c6ac504cd
1 /*! `c` grammar compiled for Highlight.js 11.11.1 */
2 (()=>{var e=(()=>{"use strict";return e=>{const t=e.regex,n=e.COMMENT("//","$",{
3 contains:[{begin:/\\\n/}]
4 }),a="decltype\\(auto\\)",s="[a-zA-Z_]\\w*::",r="("+a+"|"+t.optional(s)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",i={
5 className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{
6 match:/\batomic_[a-z]{3,6}\b/}]},l={className:"string",variants:[{
7 begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{
8 begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",
9 end:"'",illegal:"."},e.END_SAME_AS_BEGIN({
10 begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={
11 className:"number",variants:[{match:/\b(0b[01']+)/},{
12 match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/
13 },{
14 match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/
15 },{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0
16 },c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{
17 keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"
18 },contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{
19 className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={
20 className:"title",begin:t.optional(s)+e.IDENT_RE,relevance:0
21 },_=t.optional(s)+e.IDENT_RE+"\\s*\\(",u={
22 keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],
23 type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],
24 literal:"true false NULL",
25 built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"
26 },m=[c,i,n,e.C_BLOCK_COMMENT_MODE,o,l],g={variants:[{begin:/=/,end:/;/},{
27 begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],
28 keywords:u,contains:m.concat([{begin:/\(/,end:/\)/,keywords:u,
29 contains:m.concat(["self"]),relevance:0}]),relevance:0},p={
30 begin:"("+r+"[\\*&\\s]+)+"+_,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,
31 keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{
32 begin:_,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})],
33 relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,
34 keywords:u,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,l,o,i,{begin:/\(/,
35 end:/\)/,keywords:u,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,l,o,i]
36 }]},i,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u,
37 disableAutodetect:!0,illegal:"</",contains:[].concat(g,p,m,[c,{
38 begin:e.IDENT_RE+"::",keywords:u},{className:"class",
39 beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{
40 beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c,
41 strings:l,keywords:u}}}})();hljs.registerLanguage("c",e)})();