diff options
| author | Armand Philippot <git@armandphilippot.com> | 2021-12-30 19:47:21 +0100 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2021-12-30 19:47:21 +0100 |
| commit | a98b5ea6fe8e8cc98a55e0fd793e6e8660ea31c1 (patch) | |
| tree | 542810ab5aef99150db228bb54fd58303dcb31c7 /public/prism/prism-c.min.js | |
| parent | ab355897a12b7bda1089a44de326d41455a0f7a3 (diff) | |
chore: add prismjs for syntax highlighting
Diffstat (limited to 'public/prism/prism-c.min.js')
| -rw-r--r-- | public/prism/prism-c.min.js | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/public/prism/prism-c.min.js b/public/prism/prism-c.min.js new file mode 100644 index 0000000..c8e821c --- /dev/null +++ b/public/prism/prism-c.min.js @@ -0,0 +1,60 @@ +(Prism.languages.c = Prism.languages.extend('clike', { + comment: { + pattern: + /\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/, + greedy: !0, + }, + string: { pattern: /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/, greedy: !0 }, + 'class-name': { + pattern: + /(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/, + lookbehind: !0, + }, + keyword: + /\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/, + function: /\b[a-z_]\w*(?=\s*\()/i, + number: + /(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i, + operator: />>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/, +})), + Prism.languages.insertBefore('c', 'string', { + char: { pattern: /'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/, greedy: !0 }, + }), + Prism.languages.insertBefore('c', 'string', { + macro: { + pattern: + /(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im, + lookbehind: !0, + greedy: !0, + alias: 'property', + inside: { + string: [ + { pattern: /^(#\s*include\s*)<[^>]+>/, lookbehind: !0 }, + Prism.languages.c.string, + ], + char: Prism.languages.c.char, + comment: Prism.languages.c.comment, + 'macro-name': [ + { pattern: /(^#\s*define\s+)\w+\b(?!\()/i, lookbehind: !0 }, + { + pattern: /(^#\s*define\s+)\w+\b(?=\()/i, + lookbehind: !0, + alias: 'function', + }, + ], + directive: { + pattern: /^(#\s*)[a-z]+/, + lookbehind: !0, + alias: 'keyword', + }, + 'directive-hash': /^#/, + punctuation: /##|\\(?=[\r\n])/, + expression: { pattern: /\S[\s\S]*/, inside: Prism.languages.c }, + }, + }, + }), + Prism.languages.insertBefore('c', 'function', { + constant: + /\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/, + }), + delete Prism.languages.c.boolean; |
