From 006b15b467a5cd835a6eab1b49023100bdc8f2e6 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Fri, 13 Oct 2023 19:32:56 +0200 Subject: refactor(components): rewrite Code component and usePrism hook * move Prism styles to Sass placeholders to avoid repeats * let usePrism consumer define its plugins (remove default ones) * remove `plugins` prop from Code component * add new props to Code component to let consumer configure plugins (and handle plugin list from the given options) However there are some problems with Prism plugins: line-highlight and treeview does not seems to be loaded. I don't want to use Babel instead of SWC so I have no solution for now. --- public/prism/prism-dataweave.min.js | 50 +++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 22 deletions(-) (limited to 'public/prism/prism-dataweave.min.js') diff --git a/public/prism/prism-dataweave.min.js b/public/prism/prism-dataweave.min.js index a0d2dde..85893f8 100644 --- a/public/prism/prism-dataweave.min.js +++ b/public/prism/prism-dataweave.min.js @@ -1,22 +1,28 @@ -Prism.languages.dataweave = { - url: /\b[A-Za-z]+:\/\/[\w/:.?=&-]+|\burn:[\w:.?=&-]+/, - property: { - pattern: /(?:\b\w+#)?(?:"(?:\\.|[^\\"\r\n])*"|\b\w+)(?=\s*[:@])/, - greedy: !0, - }, - string: { pattern: /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/, greedy: !0 }, - 'mime-type': /\b(?:application|audio|image|multipart|text|video)\/[\w+-]+/, - date: { pattern: /\|[\w:+-]+\|/, greedy: !0 }, - comment: [ - { pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, lookbehind: !0, greedy: !0 }, - { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0, greedy: !0 }, - ], - regex: { pattern: /\/(?:[^\\\/\r\n]|\\[^\r\n])+\//, greedy: !0 }, - keyword: - /\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\b/, - function: /\b[A-Z_]\w*(?=\s*\()/i, - number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i, - punctuation: /[{}[\];(),.:@]/, - operator: /<<|>>|->|[<>~=]=?|!=|--?-?|\+\+?|!|\?/, - boolean: /\b(?:false|true)\b/, -}; +!(function (e) { + e.languages.dataweave = { + url: /\b[A-Za-z]+:\/\/[\w/:.?=&-]+|\burn:[\w:.?=&-]+/, + property: { + pattern: /(?:\b\w+#)?(?:"(?:\\.|[^\\"\r\n])*"|\b\w+)(?=\s*[:@])/, + greedy: !0, + }, + string: { pattern: /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/, greedy: !0 }, + 'mime-type': /\b(?:application|audio|image|multipart|text|video)\/[\w+-]+/, + date: { pattern: /\|[\w:+-]+\|/, greedy: !0 }, + comment: [ + { + pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, + lookbehind: !0, + greedy: !0, + }, + { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0, greedy: !0 }, + ], + regex: { pattern: /\/(?:[^\\\/\r\n]|\\[^\r\n])+\//, greedy: !0 }, + keyword: + /\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\b/, + function: /\b[A-Z_]\w*(?=\s*\()/i, + number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i, + punctuation: /[{}[\];(),.:@]/, + operator: /<<|>>|->|[<>~=]=?|!=|--?-?|\+\+?|!|\?/, + boolean: /\b(?:false|true)\b/, + }; +})(Prism); -- cgit v1.2.3