From a98b5ea6fe8e8cc98a55e0fd793e6e8660ea31c1 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Thu, 30 Dec 2021 19:47:21 +0100 Subject: chore: add prismjs for syntax highlighting --- public/prism/prism-avro-idl.js | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 public/prism/prism-avro-idl.js (limited to 'public/prism/prism-avro-idl.js') diff --git a/public/prism/prism-avro-idl.js b/public/prism/prism-avro-idl.js new file mode 100644 index 0000000..6bb8615 --- /dev/null +++ b/public/prism/prism-avro-idl.js @@ -0,0 +1,52 @@ +// GitHub: https://github.com/apache/avro +// Docs: https://avro.apache.org/docs/current/idl.html + +Prism.languages['avro-idl'] = { + comment: { + pattern: /\/\/.*|\/\*[\s\S]*?\*\//, + greedy: true, + }, + string: { + pattern: /(^|[^\\])"(?:[^\r\n"\\]|\\.)*"/, + lookbehind: true, + greedy: true, + }, + + annotation: { + pattern: /@(?:[$\w.-]|`[^\r\n`]+`)+/, + greedy: true, + alias: 'function', + }, + 'function-identifier': { + pattern: /`[^\r\n`]+`(?=\s*\()/, + greedy: true, + alias: 'function', + }, + identifier: { + pattern: /`[^\r\n`]+`/, + greedy: true, + }, + + 'class-name': { + pattern: /(\b(?:enum|error|protocol|record|throws)\b\s+)[$\w]+/, + lookbehind: true, + greedy: true, + }, + keyword: + /\b(?:array|boolean|bytes|date|decimal|double|enum|error|false|fixed|float|idl|import|int|local_timestamp_ms|long|map|null|oneway|protocol|record|schema|string|throws|time_ms|timestamp_ms|true|union|uuid|void)\b/, + function: /\b[a-z_]\w*(?=\s*\()/i, + + number: [ + { + pattern: + /(^|[^\w.])-?(?:(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|0x(?:[a-f0-9]+(?:\.[a-f0-9]*)?|\.[a-f0-9]+)(?:p[+-]?\d+)?)[dfl]?(?![\w.])/i, + lookbehind: true, + }, + /-?\b(?:Infinity|NaN)\b/, + ], + + operator: /=/, + punctuation: /[()\[\]{}<>.:,;-]/, +}; + +Prism.languages.avdl = Prism.languages['avro-idl']; -- cgit v1.2.3