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-zig.min.js | |
| parent | ab355897a12b7bda1089a44de326d41455a0f7a3 (diff) | |
chore: add prismjs for syntax highlighting
Diffstat (limited to 'public/prism/prism-zig.min.js')
| -rw-r--r-- | public/prism/prism-zig.min.js | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/public/prism/prism-zig.min.js b/public/prism/prism-zig.min.js new file mode 100644 index 0000000..509b60b --- /dev/null +++ b/public/prism/prism-zig.min.js @@ -0,0 +1,87 @@ +!(function (n) { + function e(e) { + return function () { + return e; + }; + } + var r = + /\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/, + a = '\\b(?!' + r.source + ')(?!\\d)\\w+\\b', + o = 'align\\s*\\((?:[^()]|\\([^()]*\\))*\\)', + s = + '(?!\\s)(?:!?\\s*(?:' + + '(?:\\?|\\bpromise->|(?:\\[[^[\\]]*\\]|\\*(?!\\*)|\\*\\*)(?:\\s*<ALIGN>|\\s*const\\b|\\s*volatile\\b|\\s*allowzero\\b)*)'.replace( + /<ALIGN>/g, + e(o) + ) + + '\\s*)*' + + '(?:\\bpromise\\b|(?:\\berror\\.)?<ID>(?:\\.<ID>)*(?!\\s+<ID>))'.replace( + /<ID>/g, + e(a) + ) + + ')+'; + (n.languages.zig = { + comment: [{ pattern: /\/\/[/!].*/, alias: 'doc-comment' }, /\/{2}.*/], + string: [ + { + pattern: /(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/, + lookbehind: !0, + greedy: !0, + }, + { + pattern: /([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/, + lookbehind: !0, + greedy: !0, + }, + ], + char: { + pattern: + /(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/, + lookbehind: !0, + greedy: !0, + }, + builtin: /\B@(?!\d)\w+(?=\s*\()/, + label: { + pattern: + /(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/, + lookbehind: !0, + }, + 'class-name': [ + /\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/, + { + pattern: RegExp( + '(:\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?[=;,)])|<TYPE>(?=\\s*(?:<ALIGN>\\s*)?\\{)' + .replace(/<TYPE>/g, e(s)) + .replace(/<ALIGN>/g, e(o)) + ), + lookbehind: !0, + inside: null, + }, + { + pattern: RegExp( + '(\\)\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?;)' + .replace(/<TYPE>/g, e(s)) + .replace(/<ALIGN>/g, e(o)) + ), + lookbehind: !0, + inside: null, + }, + ], + 'builtin-type': { + pattern: + /\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\b/, + alias: 'keyword', + }, + keyword: r, + function: /\b(?!\d)\w+(?=\s*\()/, + number: + /\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/, + boolean: /\b(?:false|true)\b/, + operator: + /\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/, + punctuation: /[.:,;(){}[\]]/, + }), + n.languages.zig['class-name'].forEach(function (e) { + null === e.inside && (e.inside = n.languages.zig); + }); +})(Prism); |
