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-linker-script.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 public/prism/prism-linker-script.js (limited to 'public/prism/prism-linker-script.js') diff --git a/public/prism/prism-linker-script.js b/public/prism/prism-linker-script.js new file mode 100644 index 0000000..3231d53 --- /dev/null +++ b/public/prism/prism-linker-script.js @@ -0,0 +1,30 @@ +Prism.languages['linker-script'] = { + comment: { + pattern: /(^|\s)\/\*[\s\S]*?(?:$|\*\/)/, + lookbehind: true, + greedy: true, + }, + identifier: { + pattern: /"[^"\r\n]*"/, + greedy: true, + }, + + 'location-counter': { + pattern: /\B\.\B/, + alias: 'important', + }, + + section: { + pattern: /(^|[^\w*])\.\w+\b/, + lookbehind: true, + alias: 'keyword', + }, + function: /\b[A-Z][A-Z_]*(?=\s*\()/, + + number: /\b(?:0[xX][a-fA-F0-9]+|\d+)[KM]?\b/, + + operator: />>=?|<<=?|->|\+\+|--|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?/, + punctuation: /[(){},;]/, +}; + +Prism.languages['ld'] = Prism.languages['linker-script']; -- cgit v1.2.3