Upgrade dependencies and add more about modules

This commit is contained in:
Telesphoreo 2024-12-15 15:08:01 -06:00
parent 7c517aa4bb
commit bc9cc9dbd4
16 changed files with 2753 additions and 2275 deletions

191
.pnp.cjs generated
View File

@ -33,11 +33,14 @@ const RAW_RUNTIME_STATE =
["@docusaurus/tsconfig", "npm:3.6.3"],\
["@docusaurus/types", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:3.6.3"],\
["@mdx-js/react", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:3.1.0"],\
["@types/prismjs", "npm:1.26.5"],\
["clsx", "npm:2.1.1"],\
["prism-react-renderer", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:2.4.0"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin<compat/typescript>::version=5.6.3&hash=8c6c40"]\
["prism-react-renderer", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:2.4.1"],\
["prismjs", "npm:1.29.0"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["typescript", "patch:typescript@npm%3A5.7.2#optional!builtin<compat/typescript>::version=5.7.2&hash=5786d5"],\
["utility-types", "npm:3.11.0"]\
],\
"linkType": "SOFT"\
}]\
@ -3769,8 +3772,8 @@ const RAW_RUNTIME_STATE =
["@types/react-dom", null],\
["@types/search-insights", null],\
["algoliasearch", "npm:5.15.0"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["search-insights", null]\
],\
"packagePeers": [\
@ -3897,9 +3900,9 @@ const RAW_RUNTIME_STATE =
["lodash", "npm:4.17.21"],\
["p-map", "npm:4.0.0"],\
["prompts", "npm:2.4.2"],\
["react", "npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dev-utils", "virtual:4b0631a4efca79a85c9fde74319e6a9cb5bae18ac9fd796713dd546221fd5915382d82ce3176b2de5446413164ee43010ca328bfbd341e9b52ee5be2f19b0360#npm:12.0.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["react-helmet-async", "virtual:4b0631a4efca79a85c9fde74319e6a9cb5bae18ac9fd796713dd546221fd5915382d82ce3176b2de5446413164ee43010ca328bfbd341e9b52ee5be2f19b0360#npm:1.3.0"],\
["react-loadable", [\
"@docusaurus/react-loadable",\
@ -3964,9 +3967,9 @@ const RAW_RUNTIME_STATE =
["lodash", "npm:4.17.21"],\
["p-map", "npm:4.0.0"],\
["prompts", "npm:2.4.2"],\
["react", "npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dev-utils", "virtual:4b0631a4efca79a85c9fde74319e6a9cb5bae18ac9fd796713dd546221fd5915382d82ce3176b2de5446413164ee43010ca328bfbd341e9b52ee5be2f19b0360#npm:12.0.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["react-helmet-async", "virtual:4b0631a4efca79a85c9fde74319e6a9cb5bae18ac9fd796713dd546221fd5915382d82ce3176b2de5446413164ee43010ca328bfbd341e9b52ee5be2f19b0360#npm:1.3.0"],\
["react-loadable", [\
"@docusaurus/react-loadable",\
@ -4048,8 +4051,8 @@ const RAW_RUNTIME_STATE =
["image-size", "npm:1.1.1"],\
["mdast-util-mdx", "npm:3.0.0"],\
["mdast-util-to-string", "npm:4.0.0"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["rehype-raw", "npm:7.0.0"],\
["remark-directive", "npm:3.0.0"],\
["remark-emoji", "npm:4.0.1"],\
@ -4089,8 +4092,8 @@ const RAW_RUNTIME_STATE =
["image-size", "npm:1.1.1"],\
["mdast-util-mdx", "npm:3.0.0"],\
["mdast-util-to-string", "npm:4.0.0"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["rehype-raw", "npm:7.0.0"],\
["remark-directive", "npm:3.0.0"],\
["remark-emoji", "npm:4.0.1"],\
@ -4131,8 +4134,8 @@ const RAW_RUNTIME_STATE =
["@types/react-dom", null],\
["@types/react-router-config", "npm:5.0.11"],\
["@types/react-router-dom", "npm:5.3.3"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["react-helmet-async", "virtual:1e45540384fb2b899b25f19aaffec8e6da7ecfb7ae74f15f95ebc4d649947c4ee6ea2575d145a232d3eb6b944cfaec4d6bd351010283589e80cc4ef92e451e2f#npm:2.0.5"],\
["react-loadable", [\
"@docusaurus/react-loadable",\
@ -4175,8 +4178,8 @@ const RAW_RUNTIME_STATE =
["feed", "npm:4.2.2"],\
["fs-extra", "npm:11.2.0"],\
["lodash", "npm:4.17.21"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["reading-time", "npm:1.5.0"],\
["srcset", "npm:4.0.0"],\
["tslib", "npm:2.8.1"],\
@ -4223,8 +4226,8 @@ const RAW_RUNTIME_STATE =
["fs-extra", "npm:11.2.0"],\
["js-yaml", "npm:4.1.0"],\
["lodash", "npm:4.17.21"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["tslib", "npm:2.8.1"],\
["utility-types", "npm:3.11.0"],\
["webpack", "virtual:a00a792a121a1501d324c83e0e5f69cfb8f1e1c335d9091a22db87a1a0e3933344cf9918123bc8646135d4b047174c107b008fdd11c68f91562356a388d01266#npm:5.96.1"]\
@ -4258,8 +4261,8 @@ const RAW_RUNTIME_STATE =
["@types/react", null],\
["@types/react-dom", null],\
["fs-extra", "npm:11.2.0"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["tslib", "npm:2.8.1"],\
["webpack", "virtual:a00a792a121a1501d324c83e0e5f69cfb8f1e1c335d9091a22db87a1a0e3933344cf9918123bc8646135d4b047174c107b008fdd11c68f91562356a388d01266#npm:5.96.1"]\
],\
@ -4290,8 +4293,8 @@ const RAW_RUNTIME_STATE =
["@types/react", null],\
["@types/react-dom", null],\
["fs-extra", "npm:11.2.0"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["react-json-view-lite", "virtual:1d9b92cc33d29b4ed8b1ba2d7c4d3b6856096fb0f089a246e806709cdda5bd9f9c7018bddd648a00e23a8d8f27eaa95706f0520bd50b3fd146954752a4e17671#npm:1.5.0"],\
["tslib", "npm:2.8.1"]\
],\
@ -4321,8 +4324,8 @@ const RAW_RUNTIME_STATE =
["@docusaurus/utils-validation", "npm:3.6.3"],\
["@types/react", null],\
["@types/react-dom", null],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["tslib", "npm:2.8.1"]\
],\
"packagePeers": [\
@ -4352,8 +4355,8 @@ const RAW_RUNTIME_STATE =
["@types/gtag.js", "npm:0.0.12"],\
["@types/react", null],\
["@types/react-dom", null],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["tslib", "npm:2.8.1"]\
],\
"packagePeers": [\
@ -4382,8 +4385,8 @@ const RAW_RUNTIME_STATE =
["@docusaurus/utils-validation", "npm:3.6.3"],\
["@types/react", null],\
["@types/react-dom", null],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["tslib", "npm:2.8.1"]\
],\
"packagePeers": [\
@ -4416,8 +4419,8 @@ const RAW_RUNTIME_STATE =
["@types/react", null],\
["@types/react-dom", null],\
["fs-extra", "npm:11.2.0"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["sitemap", "npm:7.1.2"],\
["tslib", "npm:2.8.1"]\
],\
@ -4457,8 +4460,8 @@ const RAW_RUNTIME_STATE =
["@docusaurus/types", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:3.6.3"],\
["@types/react", null],\
["@types/react-dom", null],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"]\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"]\
],\
"packagePeers": [\
"@types/react-dom",\
@ -4482,7 +4485,7 @@ const RAW_RUNTIME_STATE =
"packageDependencies": [\
["@docusaurus/react-loadable", "virtual:4b0631a4efca79a85c9fde74319e6a9cb5bae18ac9fd796713dd546221fd5915382d82ce3176b2de5446413164ee43010ca328bfbd341e9b52ee5be2f19b0360#npm:6.0.0"],\
["@types/react", "npm:18.3.12"],\
["react", "npm:18.3.1"]\
["react", "npm:19.0.0"]\
],\
"packagePeers": [\
"react"\
@ -4524,10 +4527,10 @@ const RAW_RUNTIME_STATE =
["lodash", "npm:4.17.21"],\
["nprogress", "npm:0.2.0"],\
["postcss", "npm:8.4.49"],\
["prism-react-renderer", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:2.4.0"],\
["prism-react-renderer", "virtual:a5630e3c1097a534baed8fb28bd2320a3975f56b1a7e35314a2c85380c6ec1f6df693b3e0d5587f597641c57dcbf43265bb73d82d68adf68a800f30159a78455#npm:2.4.0"],\
["prismjs", "npm:1.29.0"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["react-router-dom", "virtual:4b0631a4efca79a85c9fde74319e6a9cb5bae18ac9fd796713dd546221fd5915382d82ce3176b2de5446413164ee43010ca328bfbd341e9b52ee5be2f19b0360#npm:5.3.4"],\
["rtlcss", "npm:4.3.0"],\
["tslib", "npm:2.8.1"],\
@ -4567,8 +4570,8 @@ const RAW_RUNTIME_STATE =
["clsx", "npm:2.1.1"],\
["parse-numeric-range", "npm:1.3.0"],\
["prism-react-renderer", "virtual:2ad545680716e1e37d9f24cc17c401fe5345f43f16bca750955741983a337a040a0c6b9e839b92e679a8d46f3dae8da3746063d08e82681422322022e6064622#npm:2.4.0"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["tslib", "npm:2.8.1"],\
["utility-types", "npm:3.11.0"]\
],\
@ -4610,8 +4613,8 @@ const RAW_RUNTIME_STATE =
["eta", "npm:2.2.0"],\
["fs-extra", "npm:11.2.0"],\
["lodash", "npm:4.17.21"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["tslib", "npm:2.8.1"],\
["utility-types", "npm:3.11.0"]\
],\
@ -4686,8 +4689,8 @@ const RAW_RUNTIME_STATE =
["@types/react-dom", null],\
["commander", "npm:5.1.0"],\
["joi", "npm:17.13.3"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["react-helmet-async", "virtual:285782b97f14cab5eafac7d2803c36e376c603e6c434830454a817dd393c2b44f6ae46d9b607280ee079e8fced504b6e16ef4de27ee1c5774da1e63a53d68089#npm:1.3.0"],\
["utility-types", "npm:3.11.0"],\
["webpack", "virtual:a00a792a121a1501d324c83e0e5f69cfb8f1e1c335d9091a22db87a1a0e3933344cf9918123bc8646135d4b047174c107b008fdd11c68f91562356a388d01266#npm:5.96.1"],\
@ -4944,7 +4947,7 @@ const RAW_RUNTIME_STATE =
["@mdx-js/react", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:3.1.0"],\
["@types/mdx", "npm:2.0.13"],\
["@types/react", null],\
["react", "npm:18.3.1"]\
["react", "npm:19.0.0"]\
],\
"packagePeers": [\
"@types/react",\
@ -8235,11 +8238,14 @@ const RAW_RUNTIME_STATE =
["@docusaurus/tsconfig", "npm:3.6.3"],\
["@docusaurus/types", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:3.6.3"],\
["@mdx-js/react", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:3.1.0"],\
["@types/prismjs", "npm:1.26.5"],\
["clsx", "npm:2.1.1"],\
["prism-react-renderer", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:2.4.0"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin<compat/typescript>::version=5.6.3&hash=8c6c40"]\
["prism-react-renderer", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:2.4.1"],\
["prismjs", "npm:1.29.0"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["typescript", "patch:typescript@npm%3A5.7.2#optional!builtin<compat/typescript>::version=5.7.2&hash=5786d5"],\
["utility-types", "npm:3.11.0"]\
],\
"linkType": "SOFT"\
}]\
@ -14435,6 +14441,13 @@ const RAW_RUNTIME_STATE =
],\
"linkType": "SOFT"\
}],\
["npm:2.4.1", {\
"packageLocation": "../../AppData/Local/Yarn/Berry/cache/prism-react-renderer-npm-2.4.1-b9eaf468f6-10c0.zip/node_modules/prism-react-renderer/",\
"packageDependencies": [\
["prism-react-renderer", "npm:2.4.1"]\
],\
"linkType": "SOFT"\
}],\
["virtual:2ad545680716e1e37d9f24cc17c401fe5345f43f16bca750955741983a337a040a0c6b9e839b92e679a8d46f3dae8da3746063d08e82681422322022e6064622#npm:2.4.0", {\
"packageLocation": "./.yarn/__virtual__/prism-react-renderer-virtual-462c254160/3/AppData/Local/Yarn/Berry/cache/prism-react-renderer-npm-2.4.0-3fab7693fe-10c0.zip/node_modules/prism-react-renderer/",\
"packageDependencies": [\
@ -14442,7 +14455,7 @@ const RAW_RUNTIME_STATE =
["@types/prismjs", "npm:1.26.5"],\
["@types/react", "npm:18.3.12"],\
["clsx", "npm:2.1.1"],\
["react", "npm:18.3.1"]\
["react", "npm:19.0.0"]\
],\
"packagePeers": [\
"@types/react",\
@ -14450,14 +14463,29 @@ const RAW_RUNTIME_STATE =
],\
"linkType": "HARD"\
}],\
["virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:2.4.0", {\
"packageLocation": "./.yarn/__virtual__/prism-react-renderer-virtual-9bbb89e8bf/3/AppData/Local/Yarn/Berry/cache/prism-react-renderer-npm-2.4.0-3fab7693fe-10c0.zip/node_modules/prism-react-renderer/",\
["virtual:a5630e3c1097a534baed8fb28bd2320a3975f56b1a7e35314a2c85380c6ec1f6df693b3e0d5587f597641c57dcbf43265bb73d82d68adf68a800f30159a78455#npm:2.4.0", {\
"packageLocation": "./.yarn/__virtual__/prism-react-renderer-virtual-bcf6870bf7/3/AppData/Local/Yarn/Berry/cache/prism-react-renderer-npm-2.4.0-3fab7693fe-10c0.zip/node_modules/prism-react-renderer/",\
"packageDependencies": [\
["prism-react-renderer", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:2.4.0"],\
["prism-react-renderer", "virtual:a5630e3c1097a534baed8fb28bd2320a3975f56b1a7e35314a2c85380c6ec1f6df693b3e0d5587f597641c57dcbf43265bb73d82d68adf68a800f30159a78455#npm:2.4.0"],\
["@types/prismjs", "npm:1.26.5"],\
["@types/react", null],\
["clsx", "npm:2.1.1"],\
["react", "npm:18.3.1"]\
["react", "npm:19.0.0"]\
],\
"packagePeers": [\
"@types/react",\
"react"\
],\
"linkType": "HARD"\
}],\
["virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:2.4.1", {\
"packageLocation": "./.yarn/__virtual__/prism-react-renderer-virtual-640b3e75b2/3/AppData/Local/Yarn/Berry/cache/prism-react-renderer-npm-2.4.1-b9eaf468f6-10c0.zip/node_modules/prism-react-renderer/",\
"packageDependencies": [\
["prism-react-renderer", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:2.4.1"],\
["@types/prismjs", "npm:1.26.5"],\
["@types/react", null],\
["clsx", "npm:2.1.1"],\
["react", "npm:19.0.0"]\
],\
"packagePeers": [\
"@types/react",\
@ -14666,11 +14694,10 @@ const RAW_RUNTIME_STATE =
}]\
]],\
["react", [\
["npm:18.3.1", {\
"packageLocation": "../../AppData/Local/Yarn/Berry/cache/react-npm-18.3.1-af38f3c1ae-10c0.zip/node_modules/react/",\
["npm:19.0.0", {\
"packageLocation": "../../AppData/Local/Yarn/Berry/cache/react-npm-19.0.0-e33c9aa1c0-10c0.zip/node_modules/react/",\
"packageDependencies": [\
["react", "npm:18.3.1"],\
["loose-envify", "npm:1.4.0"]\
["react", "npm:19.0.0"]\
],\
"linkType": "HARD"\
}]\
@ -14726,21 +14753,20 @@ const RAW_RUNTIME_STATE =
}]\
]],\
["react-dom", [\
["npm:18.3.1", {\
"packageLocation": "../../AppData/Local/Yarn/Berry/cache/react-dom-npm-18.3.1-a805663f38-10c0.zip/node_modules/react-dom/",\
["npm:19.0.0", {\
"packageLocation": "../../AppData/Local/Yarn/Berry/cache/react-dom-npm-19.0.0-b7981c573e-10c0.zip/node_modules/react-dom/",\
"packageDependencies": [\
["react-dom", "npm:18.3.1"]\
["react-dom", "npm:19.0.0"]\
],\
"linkType": "SOFT"\
}],\
["virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1", {\
"packageLocation": "./.yarn/__virtual__/react-dom-virtual-7d750af289/3/AppData/Local/Yarn/Berry/cache/react-dom-npm-18.3.1-a805663f38-10c0.zip/node_modules/react-dom/",\
["virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0", {\
"packageLocation": "./.yarn/__virtual__/react-dom-virtual-c615d4bb57/3/AppData/Local/Yarn/Berry/cache/react-dom-npm-19.0.0-b7981c573e-10c0.zip/node_modules/react-dom/",\
"packageDependencies": [\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["@types/react", null],\
["loose-envify", "npm:1.4.0"],\
["react", "npm:18.3.1"],\
["scheduler", "npm:0.23.2"]\
["react", "npm:19.0.0"],\
["scheduler", "npm:0.25.0"]\
],\
"packagePeers": [\
"@types/react",\
@ -14788,7 +14814,7 @@ const RAW_RUNTIME_STATE =
["react-helmet-async", "virtual:1e45540384fb2b899b25f19aaffec8e6da7ecfb7ae74f15f95ebc4d649947c4ee6ea2575d145a232d3eb6b944cfaec4d6bd351010283589e80cc4ef92e451e2f#npm:2.0.5"],\
["@types/react", "npm:18.3.12"],\
["invariant", "npm:2.2.4"],\
["react", "npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-fast-compare", "npm:3.2.2"],\
["shallowequal", "npm:1.1.0"]\
],\
@ -14807,8 +14833,8 @@ const RAW_RUNTIME_STATE =
["@types/react-dom", null],\
["invariant", "npm:2.2.4"],\
["prop-types", "npm:15.8.1"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["react-fast-compare", "npm:3.2.2"],\
["shallowequal", "npm:1.1.0"]\
],\
@ -14829,8 +14855,8 @@ const RAW_RUNTIME_STATE =
["@types/react-dom", null],\
["invariant", "npm:2.2.4"],\
["prop-types", "npm:15.8.1"],\
["react", "npm:18.3.1"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-dom", "virtual:f78c1e3bcca68c85029c31baaa03b00afb3f4a37fdf75a02a5c6641bf68e41c67a7197a443bdedd194efbd0fd58485f0fa4ac537f6319161bde534249e729f39#npm:19.0.0"],\
["react-fast-compare", "npm:3.2.2"],\
["shallowequal", "npm:1.1.0"]\
],\
@ -14887,7 +14913,7 @@ const RAW_RUNTIME_STATE =
"packageDependencies": [\
["react-json-view-lite", "virtual:1d9b92cc33d29b4ed8b1ba2d7c4d3b6856096fb0f089a246e806709cdda5bd9f9c7018bddd648a00e23a8d8f27eaa95706f0520bd50b3fd146954752a4e17671#npm:1.5.0"],\
["@types/react", null],\
["react", "npm:18.3.1"]\
["react", "npm:19.0.0"]\
],\
"packagePeers": [\
"@types/react",\
@ -14945,7 +14971,7 @@ const RAW_RUNTIME_STATE =
["loose-envify", "npm:1.4.0"],\
["path-to-regexp", "npm:1.9.0"],\
["prop-types", "npm:15.8.1"],\
["react", "npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-is", "npm:16.13.1"],\
["tiny-invariant", "npm:1.3.3"],\
["tiny-warning", "npm:1.0.3"]\
@ -14972,7 +14998,7 @@ const RAW_RUNTIME_STATE =
["@babel/runtime", "npm:7.26.0"],\
["@types/react", null],\
["@types/react-router", null],\
["react", "npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-router", "virtual:4b0631a4efca79a85c9fde74319e6a9cb5bae18ac9fd796713dd546221fd5915382d82ce3176b2de5446413164ee43010ca328bfbd341e9b52ee5be2f19b0360#npm:5.3.4"]\
],\
"packagePeers": [\
@ -15001,7 +15027,7 @@ const RAW_RUNTIME_STATE =
["history", "npm:4.10.1"],\
["loose-envify", "npm:1.4.0"],\
["prop-types", "npm:15.8.1"],\
["react", "npm:18.3.1"],\
["react", "npm:19.0.0"],\
["react-router", "virtual:4b0631a4efca79a85c9fde74319e6a9cb5bae18ac9fd796713dd546221fd5915382d82ce3176b2de5446413164ee43010ca328bfbd341e9b52ee5be2f19b0360#npm:5.3.4"],\
["tiny-invariant", "npm:1.3.3"],\
["tiny-warning", "npm:1.0.3"]\
@ -15561,11 +15587,10 @@ const RAW_RUNTIME_STATE =
}]\
]],\
["scheduler", [\
["npm:0.23.2", {\
"packageLocation": "../../AppData/Local/Yarn/Berry/cache/scheduler-npm-0.23.2-6d1dd9c2b7-10c0.zip/node_modules/scheduler/",\
["npm:0.25.0", {\
"packageLocation": "../../AppData/Local/Yarn/Berry/cache/scheduler-npm-0.25.0-f89e6cad04-10c0.zip/node_modules/scheduler/",\
"packageDependencies": [\
["scheduler", "npm:0.23.2"],\
["loose-envify", "npm:1.4.0"]\
["scheduler", "npm:0.25.0"]\
],\
"linkType": "HARD"\
}]\
@ -16542,10 +16567,10 @@ const RAW_RUNTIME_STATE =
}]\
]],\
["typescript", [\
["patch:typescript@npm%3A5.6.3#optional!builtin<compat/typescript>::version=5.6.3&hash=8c6c40", {\
"packageLocation": "../../AppData/Local/Yarn/Berry/cache/typescript-patch-8964a48ba3-10c0.zip/node_modules/typescript/",\
["patch:typescript@npm%3A5.7.2#optional!builtin<compat/typescript>::version=5.7.2&hash=5786d5", {\
"packageLocation": "../../AppData/Local/Yarn/Berry/cache/typescript-patch-aed9e5263d-10c0.zip/node_modules/typescript/",\
"packageDependencies": [\
["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin<compat/typescript>::version=5.6.3&hash=8c6c40"]\
["typescript", "patch:typescript@npm%3A5.7.2#optional!builtin<compat/typescript>::version=5.7.2&hash=5786d5"]\
],\
"linkType": "HARD"\
}]\

323
.pnp.loader.mjs generated

File diff suppressed because it is too large Load Diff

View File

@ -26,7 +26,7 @@ should set your version to that as well.
You should also look for this block of code in your `build.gradle.kts file`:
```kts title=build.gradle.kts
```kotlin title="build.gradle.kts"
tasks.getByName<Jar>("jar") {
archiveBaseName.set("Module-ExampleModule")
archiveVersion.set("")
@ -48,7 +48,7 @@ Plex.
When you create a new command, you should register it in your main class as follows
```java
```java title="/src/main/java/ExampleModule.java"
registerCommand(new ExampleCommand());
```
@ -66,14 +66,19 @@ the main command inside of the actual `execute()` block.
Listeners function just like they do in Bukkit, they listen for events. You'll want to do two things. Make sure your
listener extends the `PlexListener` class rather than the Bukkit default `Listener` class. The `PlexListener` class is a
wrapper for the `Listener` class and has the same functionality as the Bukkit one. You'll also want to ensure you register the listener in the main class as follows:
```java
wrapper for the `Listener` class and has the same functionality as the Bukkit one. You'll also want to ensure you
register the listener in the main class as follows:
```java title="/src/main/java/ExampleModule.java"
registerListener(new ExampleListener());
```
Make sure you replace the `ExampleListener` class with your own class name.
You can listen for as many events as you like per class. An example to listen for an event when a player joins and send them a message is as follows:
```java
You can listen for as many events as you like per class. An example to listen for an event when a player joins and send
them a message is as follows:
```java title="/src/main/java/ExampleModule.java"
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event)
{
@ -81,3 +86,37 @@ public void onPlayerJoin(PlayerJoinEvent event)
player.sendMessage(Component.text("This is a message from Plex's example module!").color(NamedTextColor.GOLD));
}
```
## Creating and using configuration files
To create a configuration file for your module, you should create a new folder in the `/src/main/resources` directory
with the module name. An example for the example module would be `/src/main/resources/examplemodule`. Within the folder,
you can create your `config.yml` file. In the main class, you should add a new `ModuleConfig` globally, and load it on
the `load()` method.
```java title="/src/main/java/ExampleModule.java"
public class ExampleModule extends PlexModule
{
@Getter
private static ExampleModule module;
@Getter
private ModuleConfig config;
@Override
public void load()
{
module = this;
config = new ModuleConfig(this, "examplemodule/config.yml", "config.yml");
config.load();
}
}
```
The `"tfmextras/config.yml"` part refers to where the configuration file is stored relative to `/src/main/resources`.
The `"config.yml"` refers to where it should go inside the `/plugins/Plex/modules/Module-Example` folder.
You can then call values from the configuration with the following:
```java
ExampleModule.getModule().getConfig().getString("module.test-message");
```

View File

@ -12,7 +12,7 @@ this only in conjunction with ranks. If you are using permissions, there is not
The default `commands.yml` file is below.
```yaml title=/plugins/Plex/commands.yml
```yaml title="/plugins/Plex/commands.yml"
#
# Command Blocker
#

View File

@ -12,7 +12,7 @@ This page will show you how to modify the configuration file. The configuration
Below is the default `config.yml` file when Plex is loaded for the first time.
```yaml title=/plugins/Plex/config.yml
```yaml title="/plugins/Plex/config.yml"
# Plex Configuration File
# For documentation, please visit: https://plex.us.org

View File

@ -12,7 +12,7 @@ Almost all the messages inside of Plex are fully customizable. This page will do
The default `messages.yml` file is below.
```yaml title=/plugins/Plex/messages.yml
```yaml title="/plugins/Plex/messages.yml"
# Plex Messages File
# This file uses the MiniMessage system.
# Documentation available at https://docs.adventure.kyori.net/minimessage/format.html

View File

@ -15,7 +15,7 @@ bans.
## Default file
```yaml title=/plugins/Plex/indefbans.yml
```yaml title="/plugins/Plex/indefbans.yml"
# Plex Indefinite Bans File
# Players with their UUID / IP / Usernames in here will be indefinitely banned until removed

View File

@ -39,7 +39,7 @@ The password for Redis is set under the "Service Variables" tab. Please change i
### Configuration
Once the Redis server has been installed, go to the "File Manager" tab and open `redis.conf`. You will need to change the bind address.
```title=redis.conf
```conf title="redis.conf"
...
################################## NETWORK #####################################
@ -73,7 +73,7 @@ Find this block in your Redis configuration file and ensure bind is set to `172.
### Plex Configuration
Redis should be successfully set up! Now all you have to do is enter your credentials into the Plex configuration file.
```yaml title=/plugins/Plex/config.yml
```yaml title="/plugins/Plex/config.yml"
side:
enabled: true
auth: true

View File

@ -14,7 +14,7 @@ generation support has been added to the official API.
| Plex Version | Minecraft Versions |
|--------------|--------------------|
| 1.5-SNAPSHOT | 1.20.6 - 1.21.3 |
| 1.5-SNAPSHOT | 1.20.6 - 1.21.4 |
| 1.4 | 1.20.4 |
| 1.3 | 1.19.4 - 1.20.4 |
| 1.2 | 1.18.2 - 1.19.2 |

View File

@ -133,6 +133,7 @@ const config: Config = {
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
additionalLanguages: ['java', 'bash', 'kotlin'],
},
} satisfies Preset.ThemeConfig,
};

View File

@ -17,17 +17,20 @@
"dependencies": {
"@docusaurus/core": "3.6.3",
"@docusaurus/preset-classic": "3.6.3",
"@mdx-js/react": "^3.0.0",
"clsx": "^2.0.0",
"prism-react-renderer": "^2.3.0",
"react": "^18.0.0",
"react-dom": "^18.0.0"
"@mdx-js/react": "^3.1.0",
"clsx": "^2.1.1",
"prism-react-renderer": "^2.4.1",
"prismjs": "^1.29.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"utility-types": "^3.11.0"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "3.6.3",
"@docusaurus/tsconfig": "3.6.3",
"@docusaurus/types": "3.6.3",
"typescript": "~5.6.2"
"@types/prismjs": "^1.26.5",
"typescript": "~5.7.2"
},
"browserslist": {
"production": [

View File

@ -0,0 +1,33 @@
import siteConfig from '@generated/docusaurus.config';
import type * as PrismNamespace from 'prismjs';
import type {Optional} from 'utility-types';
export default function prismIncludeLanguages(
PrismObject: typeof PrismNamespace,
): void {
const {
themeConfig: {prism},
} = siteConfig;
const {additionalLanguages} = prism as {additionalLanguages: string[]};
// Prism components work on the Prism instance on the window, while prism-
// react-renderer uses its own Prism instance. We temporarily mount the
// instance onto window, import components to enhance it, then remove it to
// avoid polluting global namespace.
// You can mutate PrismObject: registering plugins, deleting languages... As
// long as you don't re-assign it
const PrismBefore = globalThis.Prism;
globalThis.Prism = PrismObject;
additionalLanguages.forEach((lang) => {
// eslint-disable-next-line global-require, import/no-dynamic-require
require(`prismjs/components/prism-${lang}`);
});
// Clean up and eventually restore former globalThis.Prism object (if any)
delete (globalThis as Optional<typeof globalThis, 'Prism'>).Prism;
if (typeof PrismBefore !== 'undefined') {
globalThis.Prism = PrismObject;
}
}

View File

@ -0,0 +1,235 @@
(function (Prism) {
// $ set | grep '^[A-Z][^[:space:]]*=' | cut -d= -f1 | tr '\n' '|'
// + LC_ALL, RANDOM, REPLY, SECONDS.
// + make sure PS1..4 are here as they are not always set,
// - some useless things.
var envVars = '\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b';
var commandAfterHeredoc = {
pattern: /(^(["']?)\w+\2)[ \t]+\S.*/,
lookbehind: true,
alias: 'punctuation', // this looks reasonably well in all themes
inside: null // see below
};
var insideString = {
'bash': commandAfterHeredoc,
'environment': {
pattern: RegExp('\\$' + envVars),
alias: 'constant'
},
'variable': [
// [0]: Arithmetic Environment
{
pattern: /\$?\(\([\s\S]+?\)\)/,
greedy: true,
inside: {
// If there is a $ sign at the beginning highlight $(( and )) as variable
'variable': [
{
pattern: /(^\$\(\([\s\S]+)\)\)/,
lookbehind: true
},
/^\$\(\(/
],
'number': /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,
// Operators according to https://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic
'operator': /--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,
// If there is no $ sign at the beginning highlight (( and )) as punctuation
'punctuation': /\(\(?|\)\)?|,|;/
}
},
// [1]: Command Substitution
{
pattern: /\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,
greedy: true,
inside: {
'variable': /^\$\(|^`|\)$|`$/
}
},
// [2]: Brace expansion
{
pattern: /\$\{[^}]+\}/,
greedy: true,
inside: {
'operator': /:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,
'punctuation': /[\[\]]/,
'environment': {
pattern: RegExp('(\\{)' + envVars),
lookbehind: true,
alias: 'constant'
}
}
},
/\$(?:\w+|[#?*!@$])/
],
// Escape sequences from echo and printf's manuals, and escaped quotes.
'entity': /\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/
};
Prism.languages.bash = {
'shebang': {
pattern: /^#!\s*\/.*/,
alias: 'important'
},
'comment': {
pattern: /(^|[^"{\\$])#.*/,
lookbehind: true
},
'function-name': [
// a) function foo {
// b) foo() {
// c) function foo() {
// but not “foo {”
{
// a) and c)
pattern: /(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,
lookbehind: true,
alias: 'function'
},
{
// b)
pattern: /\b[\w-]+(?=\s*\(\s*\)\s*\{)/,
alias: 'function'
}
],
// Highlight variable names as variables in for and select beginnings.
'for-or-select': {
pattern: /(\b(?:for|select)\s+)\w+(?=\s+in\s)/,
alias: 'variable',
lookbehind: true
},
// Highlight variable names as variables in the left-hand part
// of assignments (“=” and “+=”).
'assign-left': {
pattern: /(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,
inside: {
'environment': {
pattern: RegExp('(^|[\\s;|&]|[<>]\\()' + envVars),
lookbehind: true,
alias: 'constant'
}
},
alias: 'variable',
lookbehind: true
},
// Highlight parameter names as variables
'parameter': {
pattern: /(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,
alias: 'variable',
lookbehind: true
},
'string': [
// Support for Here-documents https://en.wikipedia.org/wiki/Here_document
{
pattern: /((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,
lookbehind: true,
greedy: true,
inside: insideString
},
// Here-document with quotes around the tag
// → No expansion (so no “inside”).
{
pattern: /((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,
lookbehind: true,
greedy: true,
inside: {
'bash': commandAfterHeredoc
}
},
// “Normal” string
{
// https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html
pattern: /(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,
lookbehind: true,
greedy: true,
inside: insideString
},
{
// https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html
pattern: /(^|[^$\\])'[^']*'/,
lookbehind: true,
greedy: true
},
{
// https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html
pattern: /\$'(?:[^'\\]|\\[\s\S])*'/,
greedy: true,
inside: {
'entity': insideString.entity
}
}
],
'environment': {
pattern: RegExp('\\$?' + envVars),
alias: 'constant'
},
'variable': insideString.variable,
'function': {
pattern: /(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,
lookbehind: true
},
'keyword': {
pattern: /(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,
lookbehind: true
},
// https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html
'builtin': {
pattern: /(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,
lookbehind: true,
// Alias added to make those easier to distinguish from strings.
alias: 'class-name'
},
'boolean': {
pattern: /(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,
lookbehind: true
},
'file-descriptor': {
pattern: /\B&\d\b/,
alias: 'important'
},
'operator': {
// Lots of redirections here, but not just that.
pattern: /\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,
inside: {
'file-descriptor': {
pattern: /^\d/,
alias: 'important'
}
}
},
'punctuation': /\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,
'number': {
pattern: /(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,
lookbehind: true
}
};
commandAfterHeredoc.inside = Prism.languages.bash;
/* Patterns in command substitution. */
var toBeCopied = [
'comment',
'function-name',
'for-or-select',
'assign-left',
'parameter',
'string',
'environment',
'function',
'keyword',
'builtin',
'boolean',
'file-descriptor',
'operator',
'punctuation',
'number'
];
var inside = insideString.variable[1].inside;
for (var i = 0; i < toBeCopied.length; i++) {
inside[toBeCopied[i]] = Prism.languages.bash[toBeCopied[i]];
}
Prism.languages.sh = Prism.languages.bash;
Prism.languages.shell = Prism.languages.bash;
}(Prism));

View File

@ -0,0 +1,124 @@
(function (Prism) {
var keywords = /\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/;
// full package (optional) + parent classes (optional)
var classNamePrefix = /(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source;
// based on the java naming conventions
var className = {
pattern: RegExp(/(^|[^\w.])/.source + classNamePrefix + /[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),
lookbehind: true,
inside: {
'namespace': {
pattern: /^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,
inside: {
'punctuation': /\./
}
},
'punctuation': /\./
}
};
Prism.languages.java = Prism.languages.extend('clike', {
'string': {
pattern: /(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,
lookbehind: true,
greedy: true
},
'class-name': [
className,
{
// variables, parameters, and constructor references
// this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)
pattern: RegExp(/(^|[^\w.])/.source + classNamePrefix + /[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),
lookbehind: true,
inside: className.inside
},
{
// class names based on keyword
// this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)
pattern: RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source + classNamePrefix + /[A-Z]\w*\b/.source),
lookbehind: true,
inside: className.inside
}
],
'keyword': keywords,
'function': [
Prism.languages.clike.function,
{
pattern: /(::\s*)[a-z_]\w*/,
lookbehind: true
}
],
'number': /\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,
'operator': {
pattern: /(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,
lookbehind: true
},
'constant': /\b[A-Z][A-Z_\d]+\b/
});
Prism.languages.insertBefore('java', 'string', {
'triple-quoted-string': {
// http://openjdk.java.net/jeps/355#Description
pattern: /"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,
greedy: true,
alias: 'string'
},
'char': {
pattern: /'(?:\\.|[^'\\\r\n]){1,6}'/,
greedy: true
}
});
Prism.languages.insertBefore('java', 'class-name', {
'annotation': {
pattern: /(^|[^.])@\w+(?:\s*\.\s*\w+)*/,
lookbehind: true,
alias: 'punctuation'
},
'generics': {
pattern: /<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,
inside: {
'class-name': className,
'keyword': keywords,
'punctuation': /[<>(),.:]/,
'operator': /[?&|]/
}
},
'import': [
{
pattern: RegExp(/(\bimport\s+)/.source + classNamePrefix + /(?:[A-Z]\w*|\*)(?=\s*;)/.source),
lookbehind: true,
inside: {
'namespace': className.inside.namespace,
'punctuation': /\./,
'operator': /\*/,
'class-name': /\w+/
}
},
{
pattern: RegExp(/(\bimport\s+static\s+)/.source + classNamePrefix + /(?:\w+|\*)(?=\s*;)/.source),
lookbehind: true,
alias: 'static',
inside: {
'namespace': className.inside.namespace,
'static': /\b\w+$/,
'punctuation': /\./,
'operator': /\*/,
'class-name': /\w+/
}
}
],
'namespace': {
pattern: RegExp(
/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/
.source.replace(/<keyword>/g, function () { return keywords.source; })),
lookbehind: true,
inside: {
'punctuation': /\./,
}
}
});
}(Prism));

View File

@ -0,0 +1,235 @@
(function (Prism) {
// $ set | grep '^[A-Z][^[:space:]]*=' | cut -d= -f1 | tr '\n' '|'
// + LC_ALL, RANDOM, REPLY, SECONDS.
// + make sure PS1..4 are here as they are not always set,
// - some useless things.
var envVars = '\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b';
var commandAfterHeredoc = {
pattern: /(^(["']?)\w+\2)[ \t]+\S.*/,
lookbehind: true,
alias: 'punctuation', // this looks reasonably well in all themes
inside: null // see below
};
var insideString = {
'bash': commandAfterHeredoc,
'environment': {
pattern: RegExp('\\$' + envVars),
alias: 'constant'
},
'variable': [
// [0]: Arithmetic Environment
{
pattern: /\$?\(\([\s\S]+?\)\)/,
greedy: true,
inside: {
// If there is a $ sign at the beginning highlight $(( and )) as variable
'variable': [
{
pattern: /(^\$\(\([\s\S]+)\)\)/,
lookbehind: true
},
/^\$\(\(/
],
'number': /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,
// Operators according to https://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic
'operator': /--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,
// If there is no $ sign at the beginning highlight (( and )) as punctuation
'punctuation': /\(\(?|\)\)?|,|;/
}
},
// [1]: Command Substitution
{
pattern: /\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,
greedy: true,
inside: {
'variable': /^\$\(|^`|\)$|`$/
}
},
// [2]: Brace expansion
{
pattern: /\$\{[^}]+\}/,
greedy: true,
inside: {
'operator': /:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,
'punctuation': /[\[\]]/,
'environment': {
pattern: RegExp('(\\{)' + envVars),
lookbehind: true,
alias: 'constant'
}
}
},
/\$(?:\w+|[#?*!@$])/
],
// Escape sequences from echo and printf's manuals, and escaped quotes.
'entity': /\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/
};
Prism.languages.bash = {
'shebang': {
pattern: /^#!\s*\/.*/,
alias: 'important'
},
'comment': {
pattern: /(^|[^"{\\$])#.*/,
lookbehind: true
},
'function-name': [
// a) function foo {
// b) foo() {
// c) function foo() {
// but not “foo {”
{
// a) and c)
pattern: /(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,
lookbehind: true,
alias: 'function'
},
{
// b)
pattern: /\b[\w-]+(?=\s*\(\s*\)\s*\{)/,
alias: 'function'
}
],
// Highlight variable names as variables in for and select beginnings.
'for-or-select': {
pattern: /(\b(?:for|select)\s+)\w+(?=\s+in\s)/,
alias: 'variable',
lookbehind: true
},
// Highlight variable names as variables in the left-hand part
// of assignments (“=” and “+=”).
'assign-left': {
pattern: /(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,
inside: {
'environment': {
pattern: RegExp('(^|[\\s;|&]|[<>]\\()' + envVars),
lookbehind: true,
alias: 'constant'
}
},
alias: 'variable',
lookbehind: true
},
// Highlight parameter names as variables
'parameter': {
pattern: /(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,
alias: 'variable',
lookbehind: true
},
'string': [
// Support for Here-documents https://en.wikipedia.org/wiki/Here_document
{
pattern: /((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,
lookbehind: true,
greedy: true,
inside: insideString
},
// Here-document with quotes around the tag
// → No expansion (so no “inside”).
{
pattern: /((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,
lookbehind: true,
greedy: true,
inside: {
'bash': commandAfterHeredoc
}
},
// “Normal” string
{
// https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html
pattern: /(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,
lookbehind: true,
greedy: true,
inside: insideString
},
{
// https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html
pattern: /(^|[^$\\])'[^']*'/,
lookbehind: true,
greedy: true
},
{
// https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html
pattern: /\$'(?:[^'\\]|\\[\s\S])*'/,
greedy: true,
inside: {
'entity': insideString.entity
}
}
],
'environment': {
pattern: RegExp('\\$?' + envVars),
alias: 'constant'
},
'variable': insideString.variable,
'function': {
pattern: /(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,
lookbehind: true
},
'keyword': {
pattern: /(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,
lookbehind: true
},
// https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html
'builtin': {
pattern: /(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,
lookbehind: true,
// Alias added to make those easier to distinguish from strings.
alias: 'class-name'
},
'boolean': {
pattern: /(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,
lookbehind: true
},
'file-descriptor': {
pattern: /\B&\d\b/,
alias: 'important'
},
'operator': {
// Lots of redirections here, but not just that.
pattern: /\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,
inside: {
'file-descriptor': {
pattern: /^\d/,
alias: 'important'
}
}
},
'punctuation': /\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,
'number': {
pattern: /(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,
lookbehind: true
}
};
commandAfterHeredoc.inside = Prism.languages.bash;
/* Patterns in command substitution. */
var toBeCopied = [
'comment',
'function-name',
'for-or-select',
'assign-left',
'parameter',
'string',
'environment',
'function',
'keyword',
'builtin',
'boolean',
'file-descriptor',
'operator',
'punctuation',
'number'
];
var inside = insideString.variable[1].inside;
for (var i = 0; i < toBeCopied.length; i++) {
inside[toBeCopied[i]] = Prism.languages.bash[toBeCopied[i]];
}
Prism.languages.sh = Prism.languages.bash;
Prism.languages.shell = Prism.languages.bash;
}(Prism));

View File

@ -2868,7 +2868,7 @@ __metadata:
languageName: node
linkType: hard
"@mdx-js/react@npm:^3.0.0":
"@mdx-js/react@npm:^3.0.0, @mdx-js/react@npm:^3.1.0":
version: 3.1.0
resolution: "@mdx-js/react@npm:3.1.0"
dependencies:
@ -3484,7 +3484,7 @@ __metadata:
languageName: node
linkType: hard
"@types/prismjs@npm:^1.26.0":
"@types/prismjs@npm:^1.26.0, @types/prismjs@npm:^1.26.5":
version: 1.26.5
resolution: "@types/prismjs@npm:1.26.5"
checksum: 10c0/5619cb449e0d8df098c8759d6f47bf8fdd510abf5dbdfa999e55c6a2545efbd1e209cc85a33d8d9f4ff2898089a1a6d9a70737c9baffaae635c46852c40d384a
@ -4646,7 +4646,7 @@ __metadata:
languageName: node
linkType: hard
"clsx@npm:^2.0.0":
"clsx@npm:^2.0.0, clsx@npm:^2.1.1":
version: 2.1.1
resolution: "clsx@npm:2.1.1"
checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839
@ -5437,12 +5437,15 @@ __metadata:
"@docusaurus/preset-classic": "npm:3.6.3"
"@docusaurus/tsconfig": "npm:3.6.3"
"@docusaurus/types": "npm:3.6.3"
"@mdx-js/react": "npm:^3.0.0"
clsx: "npm:^2.0.0"
prism-react-renderer: "npm:^2.3.0"
react: "npm:^18.0.0"
react-dom: "npm:^18.0.0"
typescript: "npm:~5.6.2"
"@mdx-js/react": "npm:^3.1.0"
"@types/prismjs": "npm:^1.26.5"
clsx: "npm:^2.1.1"
prism-react-renderer: "npm:^2.4.1"
prismjs: "npm:^1.29.0"
react: "npm:^19.0.0"
react-dom: "npm:^19.0.0"
typescript: "npm:~5.7.2"
utility-types: "npm:^3.11.0"
languageName: unknown
linkType: soft
@ -7782,7 +7785,7 @@ __metadata:
languageName: node
linkType: hard
"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.2.0, loose-envify@npm:^1.3.1, loose-envify@npm:^1.4.0":
"loose-envify@npm:^1.0.0, loose-envify@npm:^1.2.0, loose-envify@npm:^1.3.1, loose-envify@npm:^1.4.0":
version: 1.4.0
resolution: "loose-envify@npm:1.4.0"
dependencies:
@ -10340,6 +10343,18 @@ __metadata:
languageName: node
linkType: hard
"prism-react-renderer@npm:^2.4.1":
version: 2.4.1
resolution: "prism-react-renderer@npm:2.4.1"
dependencies:
"@types/prismjs": "npm:^1.26.0"
clsx: "npm:^2.0.0"
peerDependencies:
react: ">=16.0.0"
checksum: 10c0/ebbe8feb975224344bbdd046b3a937d121592dbe4b8f22ba0be31f5af37b9a8219f441138ef6cab1c5b96f2aa6b529015200959f7e5e85b60ca69c81d35edcd4
languageName: node
linkType: hard
"prismjs@npm:^1.29.0":
version: 1.29.0
resolution: "prismjs@npm:1.29.0"
@ -10545,15 +10560,14 @@ __metadata:
languageName: node
linkType: hard
"react-dom@npm:^18.0.0":
version: 18.3.1
resolution: "react-dom@npm:18.3.1"
"react-dom@npm:^19.0.0":
version: 19.0.0
resolution: "react-dom@npm:19.0.0"
dependencies:
loose-envify: "npm:^1.1.0"
scheduler: "npm:^0.23.2"
scheduler: "npm:^0.25.0"
peerDependencies:
react: ^18.3.1
checksum: 10c0/a752496c1941f958f2e8ac56239172296fcddce1365ce45222d04a1947e0cc5547df3e8447f855a81d6d39f008d7c32eab43db3712077f09e3f67c4874973e85
react: ^19.0.0
checksum: 10c0/a36ce7ab507b237ae2759c984cdaad4af4096d8199fb65b3815c16825e5cfeb7293da790a3fc2184b52bfba7ba3ff31c058c01947aff6fd1a3701632aabaa6a9
languageName: node
linkType: hard
@ -10687,12 +10701,10 @@ __metadata:
languageName: node
linkType: hard
"react@npm:^18.0.0":
version: 18.3.1
resolution: "react@npm:18.3.1"
dependencies:
loose-envify: "npm:^1.1.0"
checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3
"react@npm:^19.0.0":
version: 19.0.0
resolution: "react@npm:19.0.0"
checksum: 10c0/9cad8f103e8e3a16d15cb18a0d8115d8bd9f9e1ce3420310aea381eb42aa0a4f812cf047bb5441349257a05fba8a291515691e3cb51267279b2d2c3253f38471
languageName: node
linkType: hard
@ -11199,12 +11211,10 @@ __metadata:
languageName: node
linkType: hard
"scheduler@npm:^0.23.2":
version: 0.23.2
resolution: "scheduler@npm:0.23.2"
dependencies:
loose-envify: "npm:^1.1.0"
checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78
"scheduler@npm:^0.25.0":
version: 0.25.0
resolution: "scheduler@npm:0.25.0"
checksum: 10c0/a4bb1da406b613ce72c1299db43759526058fdcc413999c3c3e0db8956df7633acf395cb20eb2303b6a65d658d66b6585d344460abaee8080b4aa931f10eaafe
languageName: node
linkType: hard
@ -12063,23 +12073,23 @@ __metadata:
languageName: node
linkType: hard
"typescript@npm:~5.6.2":
version: 5.6.3
resolution: "typescript@npm:5.6.3"
"typescript@npm:~5.7.2":
version: 5.7.2
resolution: "typescript@npm:5.7.2"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: 10c0/44f61d3fb15c35359bc60399cb8127c30bae554cd555b8e2b46d68fa79d680354b83320ad419ff1b81a0bdf324197b29affe6cc28988cd6a74d4ac60c94f9799
checksum: 10c0/a873118b5201b2ef332127ef5c63fb9d9c155e6fdbe211cbd9d8e65877283797cca76546bad742eea36ed7efbe3424a30376818f79c7318512064e8625d61622
languageName: node
linkType: hard
"typescript@patch:typescript@npm%3A~5.6.2#optional!builtin<compat/typescript>":
version: 5.6.3
resolution: "typescript@patch:typescript@npm%3A5.6.3#optional!builtin<compat/typescript>::version=5.6.3&hash=8c6c40"
"typescript@patch:typescript@npm%3A~5.7.2#optional!builtin<compat/typescript>":
version: 5.7.2
resolution: "typescript@patch:typescript@npm%3A5.7.2#optional!builtin<compat/typescript>::version=5.7.2&hash=5786d5"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: 10c0/7c9d2e07c81226d60435939618c91ec2ff0b75fbfa106eec3430f0fcf93a584bc6c73176676f532d78c3594fe28a54b36eb40b3d75593071a7ec91301533ace7
checksum: 10c0/f3b8082c9d1d1629a215245c9087df56cb784f9fb6f27b5d55577a20e68afe2a889c040aacff6d27e35be165ecf9dca66e694c42eb9a50b3b2c451b36b5675cb
languageName: node
linkType: hard
@ -12317,7 +12327,7 @@ __metadata:
languageName: node
linkType: hard
"utility-types@npm:^3.10.0":
"utility-types@npm:^3.10.0, utility-types@npm:^3.11.0":
version: 3.11.0
resolution: "utility-types@npm:3.11.0"
checksum: 10c0/2f1580137b0c3e6cf5405f37aaa8f5249961a76d26f1ca8efc0ff49a2fc0e0b2db56de8e521a174d075758e0c7eb3e590edec0832eb44478b958f09914920f19