Name: "C" Details: "The C programming language" Extension: ".c" Multiline Comment Open: "/*" Multiline Comment Close: "*/" Line Comment: "//" String Literal: "\"" String Literal Escape: "\\" Character Literal: "'" Character Literal Escape: "\\" C-Like: true # C does in fact support octal literals, marking them as starting with an # unnecessary initial zero. This is practically obsolete now, and in any case # makes no difference to syntax-colouring. Binary literals were in theory # rejected by the C standards body as useless, but are so useful that gcc # and clang support them anyway. Hexadecimal Literal Prefix: "0x" Binary Literal Prefix: "0b" Negative Literal Prefix: "-" Before Named Paragraph Expansion: "\n{\n" After Named Paragraph Expansion: "}\n" Start Ifdef: "#ifdef %S\n" End Ifdef: "#endif /* %S */\n" Start Ifndef: "#ifndef %S\n" End Ifndef: "#endif /* %S */\n" Line Marker: "#line %d \"%f\"\n" Start Definition: "#define %S\s" Prolong Definition: "\\\n\s\s\s\s" End Definition: "\n" keyword auto keyword break keyword case keyword char keyword const keyword continue keyword default keyword do keyword double keyword else keyword enum keyword extern keyword float keyword for keyword goto keyword if keyword int keyword long keyword register keyword return keyword short keyword signed keyword sizeof keyword static keyword struct keyword switch keyword typedef keyword union keyword unsigned keyword void keyword volatile keyword while colouring { runs of unquoted { runs of !identifier { keyword of !reserved => !reserved keyword of !function => !function keyword of !constant => !constant keyword of !element => { optionally spaced prefix . => !element optionally spaced prefix -> => !element } } } }