@shell-shock/preset-cli 0.8.16 → 0.8.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/banner-builtin.cjs +2 -2
- package/dist/components/banner-builtin.d.cts.map +1 -1
- package/dist/components/banner-builtin.d.mts +1 -1
- package/dist/components/banner-builtin.d.mts.map +1 -1
- package/dist/components/banner-builtin.mjs +2 -2
- package/dist/components/banner-builtin.mjs.map +1 -1
- package/dist/components/command-entry.cjs +2 -2
- package/dist/components/command-entry.mjs +2 -2
- package/dist/components/command-router.cjs +3 -1
- package/dist/components/command-router.d.cts.map +1 -1
- package/dist/components/command-router.d.mts.map +1 -1
- package/dist/components/command-router.mjs +4 -2
- package/dist/components/command-router.mjs.map +1 -1
- package/dist/components/upgrade-builtin.cjs +1 -1
- package/dist/components/upgrade-builtin.mjs +1 -1
- package/dist/index.cjs +5 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +5 -2
- package/dist/index.mjs.map +1 -1
- package/dist/plugin-banner/dist/components/banner-builtin.cjs +2 -2
- package/dist/plugin-banner/dist/components/banner-builtin.mjs +1 -1
- package/dist/plugin-banner/dist/components/banner-function-declaration.cjs +9 -6
- package/dist/plugin-banner/dist/components/banner-function-declaration.mjs +9 -6
- package/dist/plugin-banner/dist/components/banner-function-declaration.mjs.map +1 -1
- package/dist/plugin-banner/dist/components/index.cjs +2 -0
- package/dist/plugin-banner/dist/components/index.mjs +4 -0
- package/dist/plugin-banner/dist/index.cjs +70 -0
- package/dist/plugin-banner/dist/index.d.cts +2 -0
- package/dist/plugin-banner/dist/index.d.mts +2 -0
- package/dist/plugin-banner/dist/index.mjs +68 -0
- package/dist/plugin-banner/dist/index.mjs.map +1 -0
- package/dist/plugin-banner/dist/types/plugin.d.cts +31 -0
- package/dist/plugin-banner/dist/types/plugin.d.cts.map +1 -0
- package/dist/plugin-banner/dist/types/plugin.d.mts +31 -0
- package/dist/plugin-banner/dist/types/plugin.d.mts.map +1 -0
- package/dist/plugin-help/dist/components/display.cjs +19 -8
- package/dist/plugin-help/dist/components/display.mjs +19 -8
- package/dist/plugin-help/dist/components/display.mjs.map +1 -1
- package/dist/plugin-help/dist/components/help-builtin.cjs +3 -3
- package/dist/plugin-help/dist/components/help-builtin.mjs +3 -3
- package/dist/plugin-help/dist/components/help-command.cjs +1 -1
- package/dist/plugin-help/dist/components/help-command.mjs +1 -1
- package/dist/plugin-help/dist/index.cjs +6 -4
- package/dist/plugin-help/dist/index.mjs +5 -3
- package/dist/plugin-help/dist/index.mjs.map +1 -1
- package/dist/plugin-help/dist/types/plugin.d.cts +1 -1
- package/dist/plugin-help/dist/types/plugin.d.mts +1 -1
- package/dist/types/plugin.d.cts +5 -4
- package/dist/types/plugin.d.cts.map +1 -1
- package/dist/types/plugin.d.mts +5 -4
- package/dist/types/plugin.d.mts.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner-function-declaration.mjs","names":[],"sources":["../../../../../plugin-banner/dist/components/banner-function-declaration.mjs"],"sourcesContent":["import { createComponent, memo } from \"@alloy-js/core/jsx-runtime\";\nimport { Show, code, computed } from \"@alloy-js/core\";\nimport { formatDescription, getAppDescription, getAppTitle } from \"@shell-shock/core/plugin-utils\";\nimport { usePowerlines } from \"@powerlines/plugin-alloy/core/contexts/context\";\nimport { FunctionDeclaration, IfStatement } from \"@alloy-js/typescript\";\nimport { Spacing } from \"@powerlines/plugin-alloy/core/components/spacing\";\nimport { useTheme } from \"@shell-shock/plugin-theme/contexts/theme\";\n\n//#region src/components/banner-function-declaration.tsx\n/**\n* A component to generate the `banner` function for a specific command or application.\n*\n* @remarks\n* This function will display a banner in the console with the application's name, version, and description. It can be customized with different variants for styling and supports conditional rendering based on flags or environment variables.\n*/\nfunction BannerFunctionDeclarationWrapper(props) {\n\tconst { command, children } = props;\n\tconst context = usePowerlines();\n\treturn createComponent(FunctionDeclaration, {\n\t\t\"export\": true,\n\t\tasync: true,\n\t\tname: \"showBanner\",\n\t\tget doc() {\n\t\t\treturn `Write the ${getAppTitle(context, true)} command-line interface application banner ${command ? `for the ${command.title} command ` : \"\"}to the console.`;\n\t\t},\n\t\tparameters: [{\n\t\t\tname: \"sleepTimeoutMs\",\n\t\t\ttype: \"number\",\n\t\t\tdefault: 500\n\t\t}],\n\t\tget children() {\n\t\t\treturn [children, createComponent(IfStatement, {\n\t\t\t\tcondition: code`isInteractive && !isHelp`,\n\t\t\t\tchildren: code`await sleep(sleepTimeoutMs);`\n\t\t\t})];\n\t\t}\n\t});\n}\n/**\n* A component to generate the `banner` function's body for a specific command or application.\n*\n* @remarks\n* This function will display a banner in the console with the application's name, version, and description. It can be customized with different variants for styling and supports conditional rendering based on flags or environment variables.\n*/\nfunction BannerFunctionBodyDeclaration(props) {\n\tconst { consoleFnName = \"log\", variant = \"primary\", title, header, footer, description, command, children, insertNewlineBeforeCommand = false, insertNewlineBeforeBanner = true, insertNewlineAfterDescription = false } = props;\n\tconst theme = useTheme();\n\tconst bannerPadding = computed(() => Math.max(theme.padding.app, 0) * 2 + theme.borderStyles.banner.outline[variant].left.length + theme.borderStyles.banner.outline[variant].right.length);\n\tconst totalPadding = computed(() => Math.max(theme.padding.banner, 0) * 2 + bannerPadding.value);\n\treturn [\n\t\tcode`\n if (useApp().get(\"banner\") || hasFlag(\"no-banner\") || hasFlag(\"hide-banner\") || isMinimal) {\n return;\n }\n\n useApp().set(\"banner\", true); `,\n\t\tcreateComponent(Spacing, {}),\n\t\tchildren,\n\t\tcreateComponent(Spacing, {}),\n\t\tcreateComponent(Show, {\n\t\t\twhen: insertNewlineBeforeBanner,\n\t\t\tchildren: code`writeLine(\"\"); `\n\t\t}),\n\t\tcreateComponent(Spacing, {}),\n\t\tmemo(() => code`\n writeLine(colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].topLeft}\") + ${theme.icons.banner.header[variant] ? `colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].top}\".repeat(6)) + \" \" + ${theme.icons.banner.header[variant] ? `colors.text.banner.header.${variant}(\"${theme.icons.banner.header[variant]}\") + \" \" + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].top}\") + \" \" +` : \"\"} colors.bold(colors.text.banner.header.${variant}(\"${header}\")) + \" \" + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].top}\".repeat(Math.max(process.stdout.columns - ${6 + (theme.icons.banner.header[variant] ? theme.icons.banner.header[variant].length + 3 : 0) + (header ? header.length + 2 : 0) + bannerPadding.value}, 0)))` : `colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].top}\".repeat(Math.max(process.stdout.columns - ${bannerPadding.value}, 0)))`} + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].topRight}\"), { consoleFn: console.${consoleFnName} });\n\n splitText(\n ${title ? `\"${title}\"` : \"title\"},\n Math.max(process.stdout.columns - ${totalPadding.value}, 0)\n ).forEach((line) => {\n writeLine(colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].left}\") + \" \".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.bold(colors.text.banner.title.${variant}(line)) + \" \".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].right}\"), { consoleFn: console.${consoleFnName} });\n });\n\n ${command?.title ? `${insertNewlineBeforeCommand ? `writeLine(colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].left}\") + \" \".repeat(Math.max(process.stdout.columns - ${bannerPadding.value})) + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].right}\"), { consoleFn: console.${consoleFnName} }); ` : \"\"}\n ${`writeLine(colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].left}\") + \" \".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(\"${command.title}\").length ${command.icon ? \" + 3\" : \"\"} + ${bannerPadding.value})) / 2), 0)) + colors.bold(colors.text.banner.command.${variant}(\"${command.icon ? `${command.icon} ` : \"\"}${command.title}\")) + \" \".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(\"${command.title}\").length ${command.icon ? \" + 3\" : \"\"} + ${bannerPadding.value})) / 2), 0)) + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].right}\"), { consoleFn: console.${consoleFnName} }); `} ` : \"\"}\n\n splitText(\n colors.bold(${command?.title ? \"colors.text.banner.description\" : \"colors.text.banner.command\"}.${variant}(\\`${formatDescription(description)}\\`)),\n Math.max(process.stdout.columns - ${totalPadding.value}, 0)\n ).forEach((line) => {\n writeLine(colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].left}\") + \" \".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.text.banner.description.${variant}(line) + \" \".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].right}\"), { consoleFn: console.${consoleFnName} });\n });\n ${insertNewlineAfterDescription ? `writeLine(colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].left}\") + \" \".repeat(Math.max(process.stdout.columns - ${bannerPadding.value})) + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].right}\"), { consoleFn: console.${consoleFnName} });` : \"\"}\n writeLine(colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].bottomLeft}\") + ${footer ? `colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].bottom}\".repeat(Math.max(process.stdout.columns - ${8 + (footer ? footer.length : 0) + bannerPadding.value}, 0))) + \" \" + ${footer ? `colors.bold(colors.text.banner.footer.${variant}(\"${footer}\"))` : \"\"} + \" \" + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].bottom}\".repeat(6))` : `colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].bottom}\".repeat(Math.max(process.stdout.columns - ${bannerPadding.value}, 0)))`} + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].bottomRight}\"), { consoleFn: console.${consoleFnName} });\n\n writeLine(\"\"); `)\n\t];\n}\n/**\n* A component to generate the `banner` function for a specific command or application.\n*\n* @remarks\n* This function will display a banner in the console with the application's name, version, and description. It can be customized with different variants for styling and supports conditional rendering based on flags or environment variables.\n*/\nfunction BannerFunctionDeclaration(props) {\n\tconst { consoleFnName = \"log\", variant = \"primary\", command, children, insertNewlineBeforeBanner = true } = props;\n\tconst theme = useTheme();\n\tconst context = usePowerlines();\n\tconst header = computed(() => `${theme.labels.banner.header[variant] || getAppTitle(context, false)} v${context.packageJson.version || \"1.0.0\"}`);\n\tconst footer = computed(() => theme.labels.banner.footer[variant]);\n\tconst title = computed(() => getAppTitle(context, true).replace(`v${context.packageJson.version || \"1.0.0\"}`, \"\"));\n\tconst description = computed(() => command?.description || getAppDescription(context));\n\treturn createComponent(BannerFunctionDeclarationWrapper, {\n\t\tcommand,\n\t\tget children() {\n\t\t\treturn createComponent(BannerFunctionBodyDeclaration, {\n\t\t\t\tget title() {\n\t\t\t\t\treturn title.value;\n\t\t\t\t},\n\t\t\t\tget header() {\n\t\t\t\t\treturn header.value;\n\t\t\t\t},\n\t\t\t\tget description() {\n\t\t\t\t\treturn description.value;\n\t\t\t\t},\n\t\t\t\tget footer() {\n\t\t\t\t\treturn footer.value;\n\t\t\t\t},\n\t\t\t\tvariant,\n\t\t\t\tconsoleFnName,\n\t\t\t\tcommand,\n\t\t\t\tinsertNewlineBeforeCommand: true,\n\t\t\t\tinsertNewlineBeforeBanner,\n\t\t\t\tchildren\n\t\t\t});\n\t\t}\n\t});\n}\n\n//#endregion\nexport { BannerFunctionBodyDeclaration, BannerFunctionDeclaration, BannerFunctionDeclarationWrapper };\n//# sourceMappingURL=banner-function-declaration.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"banner-function-declaration.mjs","names":[],"sources":["../../../../../plugin-banner/dist/components/banner-function-declaration.mjs"],"sourcesContent":["import { createComponent, memo } from \"@alloy-js/core/jsx-runtime\";\nimport { Show, code, computed } from \"@alloy-js/core\";\nimport { formatDescription, getAppDescription, getAppTitle } from \"@shell-shock/core/plugin-utils\";\nimport { usePowerlines } from \"@powerlines/plugin-alloy/core/contexts/context\";\nimport { FunctionDeclaration, IfStatement } from \"@alloy-js/typescript\";\nimport { Spacing } from \"@powerlines/plugin-alloy/core/components/spacing\";\nimport { useTheme } from \"@shell-shock/plugin-theme/contexts/theme\";\n\n//#region src/components/banner-function-declaration.tsx\n/**\n* A component to generate the `banner` function for a specific command or application.\n*\n* @remarks\n* This function will display a banner in the console with the application's name, version, and description. It can be customized with different variants for styling and supports conditional rendering based on flags or environment variables.\n*/\nfunction BannerFunctionDeclarationWrapper(props) {\n\tconst { command, children } = props;\n\tconst context = usePowerlines();\n\treturn createComponent(FunctionDeclaration, {\n\t\t\"export\": true,\n\t\tasync: true,\n\t\tname: \"showBanner\",\n\t\tget doc() {\n\t\t\treturn `Write the ${getAppTitle(context, true)} command-line interface application banner ${command ? `for the ${command.title} command ` : \"\"}to the console.`;\n\t\t},\n\t\tparameters: [{\n\t\t\tname: \"sleepTimeoutMs\",\n\t\t\ttype: \"number\",\n\t\t\tdefault: 500\n\t\t}],\n\t\tget children() {\n\t\t\treturn [children, createComponent(IfStatement, {\n\t\t\t\tcondition: code`isInteractive && !isHelp`,\n\t\t\t\tchildren: code`await sleep(sleepTimeoutMs);`\n\t\t\t})];\n\t\t}\n\t});\n}\n/**\n* A component to generate the `banner` function's body for a specific command or application.\n*\n* @remarks\n* This function will display a banner in the console with the application's name, version, and description. It can be customized with different variants for styling and supports conditional rendering based on flags or environment variables.\n*/\nfunction BannerFunctionBodyDeclaration(props) {\n\tconst { consoleFnName = \"log\", variant = \"primary\", title, header, footer, description, command, children, insertNewlineBeforeCommand = false, insertNewlineBeforeBanner = true, insertNewlineAfterDescription = false } = props;\n\tconst theme = useTheme();\n\tconst bannerPadding = computed(() => Math.max(theme.padding.app, 0) * 2 + theme.borderStyles.banner.outline[variant].left.length + theme.borderStyles.banner.outline[variant].right.length);\n\tconst totalPadding = computed(() => Math.max(theme.padding.banner, 0) * 2 + bannerPadding.value);\n\treturn [\n\t\tcode`\n if (useApp().get(\"banner\") || hasFlag(\"no-banner\") || hasFlag(\"hide-banner\") || isMinimal) {\n return;\n }\n\n useApp().set(\"banner\", true); `,\n\t\tcreateComponent(Spacing, {}),\n\t\tchildren,\n\t\tcreateComponent(Spacing, {}),\n\t\tcreateComponent(Show, {\n\t\t\twhen: insertNewlineBeforeBanner,\n\t\t\tchildren: code`writeLine(\"\"); `\n\t\t}),\n\t\tcreateComponent(Spacing, {}),\n\t\tmemo(() => code`\n writeLine(colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].topLeft}\") + ${theme.icons.banner.header[variant] ? `colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].top}\".repeat(6)) + \" \" + ${theme.icons.banner.header[variant] ? `colors.text.banner.header.${variant}(\"${theme.icons.banner.header[variant]}\") + \" \" + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].top}\") + \" \" +` : \"\"} colors.bold(colors.text.banner.header.${variant}(\"${header}\")) + \" \" + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].top}\".repeat(Math.max(process.stdout.columns - ${6 + (theme.icons.banner.header[variant] ? theme.icons.banner.header[variant].length + 3 : 0) + (header ? header.length + 2 : 0) + bannerPadding.value}, 0)))` : `colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].top}\".repeat(Math.max(process.stdout.columns - ${bannerPadding.value}, 0)))`} + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].topRight}\"), { consoleFn: console.${consoleFnName} });\n\n ${title ? title.split(\"\\n\").map((line) => `splitText(\"${line}\",\n Math.max(process.stdout.columns - ${totalPadding.value}, 0)\n ).forEach((line) => {\n writeLine(colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].left}\") + \" \".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.bold(colors.text.banner.title.${variant}(line)) + \" \".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].right}\"), { consoleFn: console.${consoleFnName} });\n }); `) : `splitText(title,\n Math.max(process.stdout.columns - ${totalPadding.value}, 0)\n ).forEach((line) => {\n writeLine(colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].left}\") + \" \".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.bold(colors.text.banner.title.${variant}(line)) + \" \".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].right}\"), { consoleFn: console.${consoleFnName} });\n });`}\n\n ${command?.title ? `${insertNewlineBeforeCommand ? `writeLine(colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].left}\") + \" \".repeat(Math.max(process.stdout.columns - ${bannerPadding.value})) + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].right}\"), { consoleFn: console.${consoleFnName} }); ` : \"\"}\n ${`writeLine(colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].left}\") + \" \".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(\"${command.title}\").length ${command.icon ? \" + 3\" : \"\"} + ${bannerPadding.value})) / 2), 0)) + colors.bold(colors.text.banner.command.${variant}(\"${command.icon ? `${command.icon} ` : \"\"}${command.title}\")) + \" \".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(\"${command.title}\").length ${command.icon ? \" + 3\" : \"\"} + ${bannerPadding.value})) / 2), 0)) + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].right}\"), { consoleFn: console.${consoleFnName} }); `} ` : \"\"}\n\n splitText(\n colors.bold(${command?.title ? \"colors.text.banner.description\" : \"colors.text.banner.command\"}.${variant}(\\`${formatDescription(description)}\\`)),\n Math.max(${command?.title ? `${totalPadding.value} * 2 > process.stdout.columns / 2 ? process.stdout.columns - 6 : process.stdout.columns - ${totalPadding.value}` : `process.stdout.columns - ${totalPadding.value}`} , 0)\n ).forEach((line) => {\n writeLine(colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].left}\") + \" \".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.text.banner.description.${variant}(line) + \" \".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].right}\"), { consoleFn: console.${consoleFnName} });\n });\n ${insertNewlineAfterDescription ? `writeLine(colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].left}\") + \" \".repeat(Math.max(process.stdout.columns - ${bannerPadding.value})) + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].right}\"), { consoleFn: console.${consoleFnName} });` : \"\"}\n writeLine(colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].bottomLeft}\") + ${footer ? `colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].bottom}\".repeat(Math.max(process.stdout.columns - ${8 + (footer ? footer.length : 0) + bannerPadding.value}, 0))) + \" \" + ${footer ? `colors.bold(colors.text.banner.footer.${variant}(\"${footer}\"))` : \"\"} + \" \" + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].bottom}\".repeat(6))` : `colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].bottom}\".repeat(Math.max(process.stdout.columns - ${bannerPadding.value}, 0)))`} + colors.border.banner.outline.${variant}(\"${theme.borderStyles.banner.outline[variant].bottomRight}\"), { consoleFn: console.${consoleFnName} });\n\n writeLine(\"\"); `)\n\t];\n}\n/**\n* A component to generate the `banner` function for a specific command or application.\n*\n* @remarks\n* This function will display a banner in the console with the application's name, version, and description. It can be customized with different variants for styling and supports conditional rendering based on flags or environment variables.\n*/\nfunction BannerFunctionDeclaration(props) {\n\tconst { consoleFnName = \"log\", variant = \"primary\", command, children, insertNewlineBeforeBanner = true } = props;\n\tconst theme = useTheme();\n\tconst context = usePowerlines();\n\tconst header = computed(() => `${theme.labels.banner.header[variant] || getAppTitle(context, false)} v${context.packageJson.version || \"1.0.0\"}`);\n\tconst footer = computed(() => theme.labels.banner.footer[variant]);\n\tconst title = computed(() => context.config.banner.title || getAppTitle(context, true).replace(`v${context.packageJson.version || \"1.0.0\"}`, \"\"));\n\tconst description = computed(() => command?.description || getAppDescription(context));\n\treturn createComponent(BannerFunctionDeclarationWrapper, {\n\t\tcommand,\n\t\tget children() {\n\t\t\treturn createComponent(BannerFunctionBodyDeclaration, {\n\t\t\t\tget title() {\n\t\t\t\t\treturn title.value;\n\t\t\t\t},\n\t\t\t\tget header() {\n\t\t\t\t\treturn header.value;\n\t\t\t\t},\n\t\t\t\tget description() {\n\t\t\t\t\treturn description.value;\n\t\t\t\t},\n\t\t\t\tget footer() {\n\t\t\t\t\treturn footer.value;\n\t\t\t\t},\n\t\t\t\tvariant,\n\t\t\t\tconsoleFnName,\n\t\t\t\tcommand,\n\t\t\t\tinsertNewlineBeforeCommand: true,\n\t\t\t\tinsertNewlineBeforeBanner,\n\t\t\t\tchildren\n\t\t\t});\n\t\t}\n\t});\n}\n\n//#endregion\nexport { BannerFunctionBodyDeclaration, BannerFunctionDeclaration, BannerFunctionDeclarationWrapper };\n//# sourceMappingURL=banner-function-declaration.mjs.map"],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
const require_banner_builtin = require('./components/banner-builtin.cjs');
|
|
3
|
+
require('./components/index.cjs');
|
|
4
|
+
let _alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
|
|
5
|
+
let _alloy_js_core = require("@alloy-js/core");
|
|
6
|
+
let _powerlines_plugin_alloy_core_components = require("@powerlines/plugin-alloy/core/components");
|
|
7
|
+
let _powerlines_plugin_alloy_render = require("@powerlines/plugin-alloy/render");
|
|
8
|
+
let _shell_shock_core_plugin_utils = require("@shell-shock/core/plugin-utils");
|
|
9
|
+
let _shell_shock_plugin_console = require("@shell-shock/plugin-console");
|
|
10
|
+
_shell_shock_plugin_console = require_runtime.__toESM(_shell_shock_plugin_console);
|
|
11
|
+
let _shell_shock_plugin_theme = require("@shell-shock/plugin-theme");
|
|
12
|
+
_shell_shock_plugin_theme = require_runtime.__toESM(_shell_shock_plugin_theme);
|
|
13
|
+
let _stryke_path_join = require("@stryke/path/join");
|
|
14
|
+
|
|
15
|
+
//#region ../plugin-banner/dist/index.mjs
|
|
16
|
+
/**
|
|
17
|
+
* The Banner - Shell Shock plugin to add a banner command to the application.
|
|
18
|
+
*/
|
|
19
|
+
const plugin = (options = {}) => {
|
|
20
|
+
return [
|
|
21
|
+
...(0, _shell_shock_plugin_theme.default)(options.theme),
|
|
22
|
+
(0, _shell_shock_plugin_console.default)(options.console),
|
|
23
|
+
{
|
|
24
|
+
name: "shell-shock:banner",
|
|
25
|
+
enforce: "post",
|
|
26
|
+
config() {
|
|
27
|
+
return { banner: { title: options.title } };
|
|
28
|
+
},
|
|
29
|
+
prepare: {
|
|
30
|
+
order: "post",
|
|
31
|
+
async handler() {
|
|
32
|
+
const commands = await (0, _shell_shock_core_plugin_utils.getCommandList)(this);
|
|
33
|
+
this.debug(`Rendering \`banner\` built-ins for each of the ${commands.length} command modules.`);
|
|
34
|
+
const bin = (0, _alloy_js_core.computed)(() => ({
|
|
35
|
+
id: "",
|
|
36
|
+
name: (0, _shell_shock_core_plugin_utils.getAppName)(this),
|
|
37
|
+
title: (0, _shell_shock_core_plugin_utils.getAppTitle)(this),
|
|
38
|
+
description: (0, _shell_shock_core_plugin_utils.getAppDescription)(this),
|
|
39
|
+
isVirtual: true,
|
|
40
|
+
path: null,
|
|
41
|
+
segments: [],
|
|
42
|
+
alias: [],
|
|
43
|
+
tags: [],
|
|
44
|
+
options: Object.fromEntries(this.options.map((option) => [option.name, option])),
|
|
45
|
+
entry: { file: (0, _stryke_path_join.joinPaths)(this.entryPath, "bin.ts") },
|
|
46
|
+
args: [],
|
|
47
|
+
parent: null,
|
|
48
|
+
children: this.commands
|
|
49
|
+
}));
|
|
50
|
+
return (0, _powerlines_plugin_alloy_render.render)(this, [
|
|
51
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(require_banner_builtin.BannerBuiltin, { get command() {
|
|
52
|
+
return bin.value;
|
|
53
|
+
} }),
|
|
54
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components.Spacing, {}),
|
|
55
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.For, {
|
|
56
|
+
get each() {
|
|
57
|
+
return commands.sort((a, b) => a.name.localeCompare(b.name));
|
|
58
|
+
},
|
|
59
|
+
doubleHardline: true,
|
|
60
|
+
children: (command) => (0, _alloy_js_core_jsx_runtime.createComponent)(require_banner_builtin.BannerBuiltin, { command })
|
|
61
|
+
})
|
|
62
|
+
]);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
];
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
//#endregion
|
|
70
|
+
exports.plugin = plugin;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { BannerBuiltin } from "./components/banner-builtin.mjs";
|
|
2
|
+
import "./components/index.mjs";
|
|
3
|
+
import { createComponent } from "@alloy-js/core/jsx-runtime";
|
|
4
|
+
import { For, computed } from "@alloy-js/core";
|
|
5
|
+
import { Spacing } from "@powerlines/plugin-alloy/core/components";
|
|
6
|
+
import { render } from "@powerlines/plugin-alloy/render";
|
|
7
|
+
import { getAppDescription, getAppName, getAppTitle, getCommandList } from "@shell-shock/core/plugin-utils";
|
|
8
|
+
import console from "@shell-shock/plugin-console";
|
|
9
|
+
import theme from "@shell-shock/plugin-theme";
|
|
10
|
+
import { joinPaths } from "@stryke/path/join";
|
|
11
|
+
|
|
12
|
+
//#region ../plugin-banner/dist/index.mjs
|
|
13
|
+
/**
|
|
14
|
+
* The Banner - Shell Shock plugin to add a banner command to the application.
|
|
15
|
+
*/
|
|
16
|
+
const plugin = (options = {}) => {
|
|
17
|
+
return [
|
|
18
|
+
...theme(options.theme),
|
|
19
|
+
console(options.console),
|
|
20
|
+
{
|
|
21
|
+
name: "shell-shock:banner",
|
|
22
|
+
enforce: "post",
|
|
23
|
+
config() {
|
|
24
|
+
return { banner: { title: options.title } };
|
|
25
|
+
},
|
|
26
|
+
prepare: {
|
|
27
|
+
order: "post",
|
|
28
|
+
async handler() {
|
|
29
|
+
const commands = await getCommandList(this);
|
|
30
|
+
this.debug(`Rendering \`banner\` built-ins for each of the ${commands.length} command modules.`);
|
|
31
|
+
const bin = computed(() => ({
|
|
32
|
+
id: "",
|
|
33
|
+
name: getAppName(this),
|
|
34
|
+
title: getAppTitle(this),
|
|
35
|
+
description: getAppDescription(this),
|
|
36
|
+
isVirtual: true,
|
|
37
|
+
path: null,
|
|
38
|
+
segments: [],
|
|
39
|
+
alias: [],
|
|
40
|
+
tags: [],
|
|
41
|
+
options: Object.fromEntries(this.options.map((option) => [option.name, option])),
|
|
42
|
+
entry: { file: joinPaths(this.entryPath, "bin.ts") },
|
|
43
|
+
args: [],
|
|
44
|
+
parent: null,
|
|
45
|
+
children: this.commands
|
|
46
|
+
}));
|
|
47
|
+
return render(this, [
|
|
48
|
+
createComponent(BannerBuiltin, { get command() {
|
|
49
|
+
return bin.value;
|
|
50
|
+
} }),
|
|
51
|
+
createComponent(Spacing, {}),
|
|
52
|
+
createComponent(For, {
|
|
53
|
+
get each() {
|
|
54
|
+
return commands.sort((a, b) => a.name.localeCompare(b.name));
|
|
55
|
+
},
|
|
56
|
+
doubleHardline: true,
|
|
57
|
+
children: (command) => createComponent(BannerBuiltin, { command })
|
|
58
|
+
})
|
|
59
|
+
]);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
];
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
//#endregion
|
|
67
|
+
export { plugin };
|
|
68
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../plugin-banner/dist/index.mjs"],"sourcesContent":["import { BannerBuiltin } from \"./components/banner-builtin.mjs\";\nimport \"./components/index.mjs\";\nimport { createComponent } from \"@alloy-js/core/jsx-runtime\";\nimport { For, computed } from \"@alloy-js/core\";\nimport { Spacing } from \"@powerlines/plugin-alloy/core/components\";\nimport { render } from \"@powerlines/plugin-alloy/render\";\nimport { getAppDescription, getAppName, getAppTitle, getCommandList } from \"@shell-shock/core/plugin-utils\";\nimport console from \"@shell-shock/plugin-console\";\nimport theme from \"@shell-shock/plugin-theme\";\nimport { joinPaths } from \"@stryke/path/join\";\n\n//#region src/index.tsx\n/**\n* The Banner - Shell Shock plugin to add a banner command to the application.\n*/\nconst plugin = (options = {}) => {\n\treturn [\n\t\t...theme(options.theme),\n\t\tconsole(options.console),\n\t\t{\n\t\t\tname: \"shell-shock:banner\",\n\t\t\tenforce: \"post\",\n\t\t\tconfig() {\n\t\t\t\treturn { banner: { title: options.title } };\n\t\t\t},\n\t\t\tprepare: {\n\t\t\t\torder: \"post\",\n\t\t\t\tasync handler() {\n\t\t\t\t\tconst commands = await getCommandList(this);\n\t\t\t\t\tthis.debug(`Rendering \\`banner\\` built-ins for each of the ${commands.length} command modules.`);\n\t\t\t\t\tconst bin = computed(() => ({\n\t\t\t\t\t\tid: \"\",\n\t\t\t\t\t\tname: getAppName(this),\n\t\t\t\t\t\ttitle: getAppTitle(this),\n\t\t\t\t\t\tdescription: getAppDescription(this),\n\t\t\t\t\t\tisVirtual: true,\n\t\t\t\t\t\tpath: null,\n\t\t\t\t\t\tsegments: [],\n\t\t\t\t\t\talias: [],\n\t\t\t\t\t\ttags: [],\n\t\t\t\t\t\toptions: Object.fromEntries(this.options.map((option) => [option.name, option])),\n\t\t\t\t\t\tentry: { file: joinPaths(this.entryPath, \"bin.ts\") },\n\t\t\t\t\t\targs: [],\n\t\t\t\t\t\tparent: null,\n\t\t\t\t\t\tchildren: this.commands\n\t\t\t\t\t}));\n\t\t\t\t\treturn render(this, [\n\t\t\t\t\t\tcreateComponent(BannerBuiltin, { get command() {\n\t\t\t\t\t\t\treturn bin.value;\n\t\t\t\t\t\t} }),\n\t\t\t\t\t\tcreateComponent(Spacing, {}),\n\t\t\t\t\t\tcreateComponent(For, {\n\t\t\t\t\t\t\tget each() {\n\t\t\t\t\t\t\t\treturn commands.sort((a, b) => a.name.localeCompare(b.name));\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdoubleHardline: true,\n\t\t\t\t\t\t\tchildren: (command) => createComponent(BannerBuiltin, { command })\n\t\t\t\t\t\t})\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t];\n};\n\n//#endregion\nexport { plugin as default, plugin };\n//# sourceMappingURL=index.mjs.map"],"mappings":";;;;;;;;;;;;;;;AAeA,MAAM,UAAU,UAAU,EAAE,KAAK;AAChC,QAAO;EACN,GAAG,MAAM,QAAQ,MAAM;EACvB,QAAQ,QAAQ,QAAQ;EACxB;GACC,MAAM;GACN,SAAS;GACT,SAAS;AACR,WAAO,EAAE,QAAQ,EAAE,OAAO,QAAQ,OAAO,EAAE;;GAE5C,SAAS;IACR,OAAO;IACP,MAAM,UAAU;KACf,MAAM,WAAW,MAAM,eAAe,KAAK;AAC3C,UAAK,MAAM,kDAAkD,SAAS,OAAO,mBAAmB;KAChG,MAAM,MAAM,gBAAgB;MAC3B,IAAI;MACJ,MAAM,WAAW,KAAK;MACtB,OAAO,YAAY,KAAK;MACxB,aAAa,kBAAkB,KAAK;MACpC,WAAW;MACX,MAAM;MACN,UAAU,EAAE;MACZ,OAAO,EAAE;MACT,MAAM,EAAE;MACR,SAAS,OAAO,YAAY,KAAK,QAAQ,KAAK,WAAW,CAAC,OAAO,MAAM,OAAO,CAAC,CAAC;MAChF,OAAO,EAAE,MAAM,UAAU,KAAK,WAAW,SAAS,EAAE;MACpD,MAAM,EAAE;MACR,QAAQ;MACR,UAAU,KAAK;MACf,EAAE;AACH,YAAO,OAAO,MAAM;MACnB,gBAAgB,eAAe,EAAE,IAAI,UAAU;AAC9C,cAAO,IAAI;SACT,CAAC;MACJ,gBAAgB,SAAS,EAAE,CAAC;MAC5B,gBAAgB,KAAK;OACpB,IAAI,OAAO;AACV,eAAO,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,KAAK,CAAC;;OAE7D,gBAAgB;OAChB,WAAW,YAAY,gBAAgB,eAAe,EAAE,SAAS,CAAC;OAClE,CAAC;MACF,CAAC;;IAEH;GACD;EACD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ResolvedConfig, UserConfig } from "@shell-shock/core";
|
|
2
|
+
import { Context as Context$1 } from "@shell-shock/core/types/context";
|
|
3
|
+
import { ConsolePluginContext, ConsolePluginOptions, ConsolePluginResolvedConfig, ConsolePluginUserConfig } from "@shell-shock/plugin-console";
|
|
4
|
+
import { ThemePluginContext, ThemePluginOptions, ThemePluginResolvedConfig, ThemePluginUserConfig } from "@shell-shock/plugin-theme";
|
|
5
|
+
|
|
6
|
+
//#region ../plugin-banner/dist/types/plugin.d.cts
|
|
7
|
+
//#region src/types/plugin.d.ts
|
|
8
|
+
interface BannerPluginOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Theme plugin options.
|
|
11
|
+
*/
|
|
12
|
+
theme?: ThemePluginOptions;
|
|
13
|
+
/**
|
|
14
|
+
* Console plugin options.
|
|
15
|
+
*/
|
|
16
|
+
console?: ConsolePluginOptions;
|
|
17
|
+
/**
|
|
18
|
+
* The title to display in the banner. If not provided, the app title from the theme plugin will be used.
|
|
19
|
+
*/
|
|
20
|
+
title?: string;
|
|
21
|
+
}
|
|
22
|
+
type BannerPluginUserConfig = ThemePluginUserConfig & ConsolePluginUserConfig & UserConfig & {
|
|
23
|
+
banner: Pick<BannerPluginOptions, "title">;
|
|
24
|
+
};
|
|
25
|
+
type BannerPluginResolvedConfig = ThemePluginResolvedConfig & ConsolePluginResolvedConfig & ResolvedConfig & {
|
|
26
|
+
banner: Pick<BannerPluginOptions, "title">;
|
|
27
|
+
};
|
|
28
|
+
type BannerPluginContext<TResolvedConfig extends BannerPluginResolvedConfig = BannerPluginResolvedConfig> = ThemePluginContext<TResolvedConfig> & ConsolePluginContext<TResolvedConfig> & Context$1<TResolvedConfig>; //#endregion
|
|
29
|
+
//#endregion
|
|
30
|
+
export { BannerPluginContext, BannerPluginOptions, BannerPluginResolvedConfig, BannerPluginUserConfig };
|
|
31
|
+
//# sourceMappingURL=plugin.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.cts","names":["ResolvedConfig","UserConfig","Context","ConsolePluginContext","ConsolePluginOptions","ConsolePluginResolvedConfig","ConsolePluginUserConfig","ThemePluginContext","ThemePluginOptions","ThemePluginResolvedConfig","ThemePluginUserConfig","BannerPluginOptions","theme","console","title","BannerPluginUserConfig","Pick","banner","BannerPluginResolvedConfig","BannerPluginContext","TResolvedConfig"],"sources":["../../../../../plugin-banner/dist/types/plugin.d.cts"],"mappings":";;;;;;;UAMUW,mBAAAA;EAAmB;;;EAI3BC,KAAAA,GAAQJ,kBAAAA;EAAAA;;;EAIRK,OAAAA,GAAUT,oBAAAA;EAIL;;AAAA;EAALU,KAAAA;AAAAA;AAAAA,KAEGC,sBAAAA,GAAyBL,qBAAAA,GAAwBJ,uBAAAA,GAA0BL,UAAAA;EAC9EgB,MAAAA,EAAQD,IAAAA,CAAKL,mBAAAA;AAAAA;AAAAA,KAEVO,0BAAAA,GAA6BT,yBAAAA,GAA4BJ,2BAAAA,GAA8BL,cAAAA;EAC1FiB,MAAAA,EAAQD,IAAAA,CAAKL,mBAAAA;AAAAA;AAAAA,KAEVQ,mBAAAA,yBAA4CD,0BAAAA,GAA6BA,0BAAAA,IAA8BX,kBAAAA,CAAmBa,eAAAA,IAAmBjB,oBAAAA,CAAqBiB,eAAAA,IAAmBlB,SAAAA,CAAQkB,eAAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ConsolePluginContext, ConsolePluginOptions, ConsolePluginResolvedConfig, ConsolePluginUserConfig } from "@shell-shock/plugin-console";
|
|
2
|
+
import { ThemePluginContext, ThemePluginOptions, ThemePluginResolvedConfig, ThemePluginUserConfig } from "@shell-shock/plugin-theme";
|
|
3
|
+
import { ResolvedConfig, UserConfig } from "@shell-shock/core";
|
|
4
|
+
import { Context as Context$1 } from "@shell-shock/core/types/context";
|
|
5
|
+
|
|
6
|
+
//#region ../plugin-banner/dist/types/plugin.d.cts
|
|
7
|
+
//#region src/types/plugin.d.ts
|
|
8
|
+
interface BannerPluginOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Theme plugin options.
|
|
11
|
+
*/
|
|
12
|
+
theme?: ThemePluginOptions;
|
|
13
|
+
/**
|
|
14
|
+
* Console plugin options.
|
|
15
|
+
*/
|
|
16
|
+
console?: ConsolePluginOptions;
|
|
17
|
+
/**
|
|
18
|
+
* The title to display in the banner. If not provided, the app title from the theme plugin will be used.
|
|
19
|
+
*/
|
|
20
|
+
title?: string;
|
|
21
|
+
}
|
|
22
|
+
type BannerPluginUserConfig = ThemePluginUserConfig & ConsolePluginUserConfig & UserConfig & {
|
|
23
|
+
banner: Pick<BannerPluginOptions, "title">;
|
|
24
|
+
};
|
|
25
|
+
type BannerPluginResolvedConfig = ThemePluginResolvedConfig & ConsolePluginResolvedConfig & ResolvedConfig & {
|
|
26
|
+
banner: Pick<BannerPluginOptions, "title">;
|
|
27
|
+
};
|
|
28
|
+
type BannerPluginContext<TResolvedConfig extends BannerPluginResolvedConfig = BannerPluginResolvedConfig> = ThemePluginContext<TResolvedConfig> & ConsolePluginContext<TResolvedConfig> & Context$1<TResolvedConfig>; //#endregion
|
|
29
|
+
//#endregion
|
|
30
|
+
export { BannerPluginContext, BannerPluginOptions, BannerPluginResolvedConfig, BannerPluginUserConfig };
|
|
31
|
+
//# sourceMappingURL=plugin.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.mts","names":["ResolvedConfig","UserConfig","Context","ConsolePluginContext","ConsolePluginOptions","ConsolePluginResolvedConfig","ConsolePluginUserConfig","ThemePluginContext","ThemePluginOptions","ThemePluginResolvedConfig","ThemePluginUserConfig","BannerPluginOptions","theme","console","title","BannerPluginUserConfig","Pick","banner","BannerPluginResolvedConfig","BannerPluginContext","TResolvedConfig"],"sources":["../../../../../plugin-banner/dist/types/plugin.d.cts"],"mappings":";;;;;;;UAMUW,mBAAAA;EAAmB;;;EAI3BC,KAAAA,GAAQJ,kBAAAA;EAAAA;;;EAIRK,OAAAA,GAAUT,oBAAAA;EAIL;;AAAA;EAALU,KAAAA;AAAAA;AAAAA,KAEGC,sBAAAA,GAAyBL,qBAAAA,GAAwBJ,uBAAAA,GAA0BL,UAAAA;EAC9EgB,MAAAA,EAAQD,IAAAA,CAAKL,mBAAAA;AAAAA;AAAAA,KAEVO,0BAAAA,GAA6BT,yBAAAA,GAA4BJ,2BAAAA,GAA8BL,cAAAA;EAC1FiB,MAAAA,EAAQD,IAAAA,CAAKL,mBAAAA;AAAAA;AAAAA,KAEVQ,mBAAAA,yBAA4CD,0BAAAA,GAA6BA,0BAAAA,IAA8BX,kBAAAA,CAAmBa,eAAAA,IAAmBjB,oBAAAA,CAAqBiB,eAAAA,IAAmBlB,SAAAA,CAAQkB,eAAAA"}
|
|
@@ -2,11 +2,11 @@ const require_runtime = require('../../../_virtual/_rolldown/runtime.cjs');
|
|
|
2
2
|
let _alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
|
|
3
3
|
let _alloy_js_core = require("@alloy-js/core");
|
|
4
4
|
let _shell_shock_core_plugin_utils = require("@shell-shock/core/plugin-utils");
|
|
5
|
-
let _stryke_type_checks_is_set_string = require("@stryke/type-checks/is-set-string");
|
|
6
|
-
let _powerlines_plugin_alloy_core_components_spacing = require("@powerlines/plugin-alloy/core/components/spacing");
|
|
7
5
|
let _powerlines_plugin_alloy_core_contexts_context = require("@powerlines/plugin-alloy/core/contexts/context");
|
|
8
|
-
let
|
|
6
|
+
let _powerlines_plugin_alloy_core_components_spacing = require("@powerlines/plugin-alloy/core/components/spacing");
|
|
9
7
|
let _shell_shock_plugin_theme_contexts_theme = require("@shell-shock/plugin-theme/contexts/theme");
|
|
8
|
+
let _stryke_type_checks_is_set_string = require("@stryke/type-checks/is-set-string");
|
|
9
|
+
let _shell_shock_core = require("@shell-shock/core");
|
|
10
10
|
let _stryke_string_format_kebab_case = require("@stryke/string-format/kebab-case");
|
|
11
11
|
let _stryke_string_format_snake_case = require("@stryke/string-format/snake-case");
|
|
12
12
|
|
|
@@ -25,7 +25,7 @@ function HelpUsageDisplay(props) {
|
|
|
25
25
|
hardline: true,
|
|
26
26
|
children: (bin) => [(0, _alloy_js_core_jsx_runtime.memo)(() => _alloy_js_core.code`
|
|
27
27
|
writeLine(
|
|
28
|
-
colors.text.body.secondary(\`\$ \${colors.text.usage.bin("${bin}")}${command.segments.length > 0 ? ` ${command.segments.map((segment) => `\${colors.text.usage.${(0, _shell_shock_core_plugin_utils.isDynamicPathSegment)(segment) ? "dynamic" : "command"}("${(0, _shell_shock_core_plugin_utils.isDynamicPathSegment)(segment) ? `[${(0, _stryke_string_format_snake_case.snakeCase)((0, _shell_shock_core_plugin_utils.getDynamicPathSegmentName)(segment))}]` : segment}")}`).join(" ")}` : ""}${Object.values(command.children).length > 0 ? ` \${colors.text.usage.dynamic("[command]")}` : ""}${command.args.length > 0 ? ` ${command.args.map((arg) => `\${colors.text.usage.args("<${(0, _stryke_string_format_snake_case.snakeCase)((arg.kind === _shell_shock_core.CommandParameterKinds.string || arg.kind === _shell_shock_core.CommandParameterKinds.number) && arg.choices && arg.choices.length > 0 ? arg.choices.join("|") : arg.kind === _shell_shock_core.CommandParameterKinds.string && arg.format ? arg.format : arg.name)}${(arg.kind === _shell_shock_core.CommandParameterKinds.string || arg.kind === _shell_shock_core.CommandParameterKinds.number) && arg.variadic ? "..." : ""}>")}`).join(" ")}` : ""} \${colors.text.usage.options("[options]")}\`), { padding: ${theme.padding.app * indent} }
|
|
28
|
+
colors.text.body.secondary(\`\${colors.border.app.divider.tertiary("\$_")} \${colors.text.usage.bin("${bin}")}${command.segments.length > 0 ? ` ${command.segments.map((segment) => `\${colors.text.usage.${(0, _shell_shock_core_plugin_utils.isDynamicPathSegment)(segment) ? "dynamic" : "command"}("${(0, _shell_shock_core_plugin_utils.isDynamicPathSegment)(segment) ? `[${(0, _stryke_string_format_snake_case.snakeCase)((0, _shell_shock_core_plugin_utils.getDynamicPathSegmentName)(segment))}]` : segment}")}`).join(" ")}` : ""}${Object.values(command.children).length > 0 ? ` \${colors.text.usage.dynamic("[command]")}` : ""}${command.args.length > 0 ? ` ${command.args.map((arg) => `\${colors.text.usage.args("<${(0, _stryke_string_format_snake_case.snakeCase)((arg.kind === _shell_shock_core.CommandParameterKinds.string || arg.kind === _shell_shock_core.CommandParameterKinds.number) && arg.choices && arg.choices.length > 0 ? arg.choices.join("|") : arg.kind === _shell_shock_core.CommandParameterKinds.string && arg.format ? arg.format : arg.name)}${(arg.kind === _shell_shock_core.CommandParameterKinds.string || arg.kind === _shell_shock_core.CommandParameterKinds.number) && arg.variadic ? "..." : ""}>")}`).join(" ")}` : ""} \${colors.text.usage.options("[options]")}\`), { padding: ${theme.padding.app * indent} }
|
|
29
29
|
);`), (0, _alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {})]
|
|
30
30
|
}), (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
31
31
|
get when() {
|
|
@@ -157,6 +157,17 @@ function BaseHelpDisplay(props) {
|
|
|
157
157
|
})
|
|
158
158
|
];
|
|
159
159
|
}
|
|
160
|
+
function sortCommands(commands) {
|
|
161
|
+
return Object.values(commands).sort((a, b) => {
|
|
162
|
+
if (a.tags.some((tag) => tag.toLowerCase() === "deprecated") && !b.tags.some((tag) => tag.toLowerCase() === "deprecated")) return 1;
|
|
163
|
+
else if (!a.tags.some((tag) => tag.toLowerCase() === "deprecated") && b.tags.some((tag) => tag.toLowerCase() === "deprecated")) return -1;
|
|
164
|
+
else if (a.tags.some((tag) => tag.toLowerCase() === "experimental") && !b.tags.some((tag) => tag.toLowerCase() === "experimental")) return 1;
|
|
165
|
+
else if (!a.tags.some((tag) => tag.toLowerCase() === "experimental") && b.tags.some((tag) => tag.toLowerCase() === "experimental")) return -1;
|
|
166
|
+
else if (a.tags.some((tag) => tag.toLowerCase() === "utility") && !b.tags.some((tag) => tag.toLowerCase() === "utility")) return 1;
|
|
167
|
+
else if (!a.tags.some((tag) => tag.toLowerCase() === "utility") && b.tags.some((tag) => tag.toLowerCase() === "utility")) return -1;
|
|
168
|
+
return a.name.localeCompare(b.name);
|
|
169
|
+
});
|
|
170
|
+
}
|
|
160
171
|
/**
|
|
161
172
|
* A component that generates the invocation of the `help` function for a command.
|
|
162
173
|
*/
|
|
@@ -181,14 +192,14 @@ function VirtualCommandHelpDisplay(props) {
|
|
|
181
192
|
(0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
|
|
182
193
|
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.For, {
|
|
183
194
|
get each() {
|
|
184
|
-
return
|
|
195
|
+
return sortCommands(commands);
|
|
185
196
|
},
|
|
186
197
|
doubleHardline: true,
|
|
187
198
|
joiner: _alloy_js_core.code`writeLine(""); `,
|
|
188
199
|
ender: _alloy_js_core.code`writeLine(""); `,
|
|
189
200
|
children: (child) => [
|
|
190
201
|
(0, _alloy_js_core_jsx_runtime.memo)(() => _alloy_js_core.code`
|
|
191
|
-
writeLine(colors.text.heading.primary(${child.icon ? `(isUnicodeSupported ? " ${child.icon} " : "") + ` : ""}
|
|
202
|
+
writeLine(colors.text.heading.primary(${child.icon ? `(isUnicodeSupported ? " ${child.icon} " : "") + ` : ""}\`${child.title} ${child.isVirtual ? "" : "Command"}${child.tags?.length > 0 ? ` ${child.tags.map((tag) => `\${colors.text.heading.primary(colors.black(" ${tag} "), true)}`).join(" ")}` : ""}\`);
|
|
192
203
|
writeLine("");
|
|
193
204
|
writeLine(colors.text.body.secondary(splitText(\`${(0, _shell_shock_core_plugin_utils.formatDescription)(child.description).replace(/\.+$/, "").trim()}.\`)));
|
|
194
205
|
writeLine("");
|
|
@@ -235,14 +246,14 @@ function CommandHelpDisplay(props) {
|
|
|
235
246
|
(0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
|
|
236
247
|
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.For, {
|
|
237
248
|
get each() {
|
|
238
|
-
return
|
|
249
|
+
return sortCommands(command.children);
|
|
239
250
|
},
|
|
240
251
|
doubleHardline: true,
|
|
241
252
|
joiner: _alloy_js_core.code`writeLine(""); `,
|
|
242
253
|
ender: _alloy_js_core.code`writeLine(""); `,
|
|
243
254
|
children: (child) => [
|
|
244
255
|
(0, _alloy_js_core_jsx_runtime.memo)(() => _alloy_js_core.code`
|
|
245
|
-
writeLine(colors.text.heading.primary(${child.icon ? `(isUnicodeSupported ? " ${child.icon} " : "") + ` : ""}
|
|
256
|
+
writeLine(colors.text.heading.primary(${child.icon ? `(isUnicodeSupported ? " ${child.icon} " : "") + ` : ""}\`${child.title} ${child.isVirtual ? "" : "Command"}${child.tags?.length > 0 ? ` ${child.tags.map((tag) => `\${colors.text.heading.primary(colors.black(" ${tag} "), true)}`).join(" ")}` : ""}\`);
|
|
246
257
|
writeLine("");
|
|
247
258
|
writeLine(colors.text.body.secondary(splitText(\`${(0, _shell_shock_core_plugin_utils.formatDescription)(child.description).replace(/\.+$/, "").trim()}.\`)));
|
|
248
259
|
writeLine("");
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { createComponent, createIntrinsic, memo } from "@alloy-js/core/jsx-runtime";
|
|
2
2
|
import { For, Show, code, computed } from "@alloy-js/core";
|
|
3
3
|
import { formatDescription, formatShortDescription, getAppBin, getAppTitle, getDynamicPathSegmentName, isDynamicPathSegment, sortOptions } from "@shell-shock/core/plugin-utils";
|
|
4
|
-
import { isSetString } from "@stryke/type-checks/is-set-string";
|
|
5
|
-
import { Spacing } from "@powerlines/plugin-alloy/core/components/spacing";
|
|
6
4
|
import { usePowerlines } from "@powerlines/plugin-alloy/core/contexts/context";
|
|
7
|
-
import {
|
|
5
|
+
import { Spacing } from "@powerlines/plugin-alloy/core/components/spacing";
|
|
8
6
|
import { useTheme } from "@shell-shock/plugin-theme/contexts/theme";
|
|
7
|
+
import { isSetString } from "@stryke/type-checks/is-set-string";
|
|
8
|
+
import { CommandParameterKinds } from "@shell-shock/core";
|
|
9
9
|
import { kebabCase } from "@stryke/string-format/kebab-case";
|
|
10
10
|
import { snakeCase } from "@stryke/string-format/snake-case";
|
|
11
11
|
|
|
@@ -24,7 +24,7 @@ function HelpUsageDisplay(props) {
|
|
|
24
24
|
hardline: true,
|
|
25
25
|
children: (bin) => [memo(() => code`
|
|
26
26
|
writeLine(
|
|
27
|
-
colors.text.body.secondary(\`\$ \${colors.text.usage.bin("${bin}")}${command.segments.length > 0 ? ` ${command.segments.map((segment) => `\${colors.text.usage.${isDynamicPathSegment(segment) ? "dynamic" : "command"}("${isDynamicPathSegment(segment) ? `[${snakeCase(getDynamicPathSegmentName(segment))}]` : segment}")}`).join(" ")}` : ""}${Object.values(command.children).length > 0 ? ` \${colors.text.usage.dynamic("[command]")}` : ""}${command.args.length > 0 ? ` ${command.args.map((arg) => `\${colors.text.usage.args("<${snakeCase((arg.kind === CommandParameterKinds.string || arg.kind === CommandParameterKinds.number) && arg.choices && arg.choices.length > 0 ? arg.choices.join("|") : arg.kind === CommandParameterKinds.string && arg.format ? arg.format : arg.name)}${(arg.kind === CommandParameterKinds.string || arg.kind === CommandParameterKinds.number) && arg.variadic ? "..." : ""}>")}`).join(" ")}` : ""} \${colors.text.usage.options("[options]")}\`), { padding: ${theme.padding.app * indent} }
|
|
27
|
+
colors.text.body.secondary(\`\${colors.border.app.divider.tertiary("\$_")} \${colors.text.usage.bin("${bin}")}${command.segments.length > 0 ? ` ${command.segments.map((segment) => `\${colors.text.usage.${isDynamicPathSegment(segment) ? "dynamic" : "command"}("${isDynamicPathSegment(segment) ? `[${snakeCase(getDynamicPathSegmentName(segment))}]` : segment}")}`).join(" ")}` : ""}${Object.values(command.children).length > 0 ? ` \${colors.text.usage.dynamic("[command]")}` : ""}${command.args.length > 0 ? ` ${command.args.map((arg) => `\${colors.text.usage.args("<${snakeCase((arg.kind === CommandParameterKinds.string || arg.kind === CommandParameterKinds.number) && arg.choices && arg.choices.length > 0 ? arg.choices.join("|") : arg.kind === CommandParameterKinds.string && arg.format ? arg.format : arg.name)}${(arg.kind === CommandParameterKinds.string || arg.kind === CommandParameterKinds.number) && arg.variadic ? "..." : ""}>")}`).join(" ")}` : ""} \${colors.text.usage.options("[options]")}\`), { padding: ${theme.padding.app * indent} }
|
|
28
28
|
);`), createIntrinsic("hbr", {})]
|
|
29
29
|
}), createComponent(Show, {
|
|
30
30
|
get when() {
|
|
@@ -156,6 +156,17 @@ function BaseHelpDisplay(props) {
|
|
|
156
156
|
})
|
|
157
157
|
];
|
|
158
158
|
}
|
|
159
|
+
function sortCommands(commands) {
|
|
160
|
+
return Object.values(commands).sort((a, b) => {
|
|
161
|
+
if (a.tags.some((tag) => tag.toLowerCase() === "deprecated") && !b.tags.some((tag) => tag.toLowerCase() === "deprecated")) return 1;
|
|
162
|
+
else if (!a.tags.some((tag) => tag.toLowerCase() === "deprecated") && b.tags.some((tag) => tag.toLowerCase() === "deprecated")) return -1;
|
|
163
|
+
else if (a.tags.some((tag) => tag.toLowerCase() === "experimental") && !b.tags.some((tag) => tag.toLowerCase() === "experimental")) return 1;
|
|
164
|
+
else if (!a.tags.some((tag) => tag.toLowerCase() === "experimental") && b.tags.some((tag) => tag.toLowerCase() === "experimental")) return -1;
|
|
165
|
+
else if (a.tags.some((tag) => tag.toLowerCase() === "utility") && !b.tags.some((tag) => tag.toLowerCase() === "utility")) return 1;
|
|
166
|
+
else if (!a.tags.some((tag) => tag.toLowerCase() === "utility") && b.tags.some((tag) => tag.toLowerCase() === "utility")) return -1;
|
|
167
|
+
return a.name.localeCompare(b.name);
|
|
168
|
+
});
|
|
169
|
+
}
|
|
159
170
|
/**
|
|
160
171
|
* A component that generates the invocation of the `help` function for a command.
|
|
161
172
|
*/
|
|
@@ -180,14 +191,14 @@ function VirtualCommandHelpDisplay(props) {
|
|
|
180
191
|
createComponent(Spacing, {}),
|
|
181
192
|
createComponent(For, {
|
|
182
193
|
get each() {
|
|
183
|
-
return
|
|
194
|
+
return sortCommands(commands);
|
|
184
195
|
},
|
|
185
196
|
doubleHardline: true,
|
|
186
197
|
joiner: code`writeLine(""); `,
|
|
187
198
|
ender: code`writeLine(""); `,
|
|
188
199
|
children: (child) => [
|
|
189
200
|
memo(() => code`
|
|
190
|
-
writeLine(colors.text.heading.primary(${child.icon ? `(isUnicodeSupported ? " ${child.icon} " : "") + ` : ""}
|
|
201
|
+
writeLine(colors.text.heading.primary(${child.icon ? `(isUnicodeSupported ? " ${child.icon} " : "") + ` : ""}\`${child.title} ${child.isVirtual ? "" : "Command"}${child.tags?.length > 0 ? ` ${child.tags.map((tag) => `\${colors.text.heading.primary(colors.black(" ${tag} "), true)}`).join(" ")}` : ""}\`);
|
|
191
202
|
writeLine("");
|
|
192
203
|
writeLine(colors.text.body.secondary(splitText(\`${formatDescription(child.description).replace(/\.+$/, "").trim()}.\`)));
|
|
193
204
|
writeLine("");
|
|
@@ -234,14 +245,14 @@ function CommandHelpDisplay(props) {
|
|
|
234
245
|
createComponent(Spacing, {}),
|
|
235
246
|
createComponent(For, {
|
|
236
247
|
get each() {
|
|
237
|
-
return
|
|
248
|
+
return sortCommands(command.children);
|
|
238
249
|
},
|
|
239
250
|
doubleHardline: true,
|
|
240
251
|
joiner: code`writeLine(""); `,
|
|
241
252
|
ender: code`writeLine(""); `,
|
|
242
253
|
children: (child) => [
|
|
243
254
|
memo(() => code`
|
|
244
|
-
writeLine(colors.text.heading.primary(${child.icon ? `(isUnicodeSupported ? " ${child.icon} " : "") + ` : ""}
|
|
255
|
+
writeLine(colors.text.heading.primary(${child.icon ? `(isUnicodeSupported ? " ${child.icon} " : "") + ` : ""}\`${child.title} ${child.isVirtual ? "" : "Command"}${child.tags?.length > 0 ? ` ${child.tags.map((tag) => `\${colors.text.heading.primary(colors.black(" ${tag} "), true)}`).join(" ")}` : ""}\`);
|
|
245
256
|
writeLine("");
|
|
246
257
|
writeLine(colors.text.body.secondary(splitText(\`${formatDescription(child.description).replace(/\.+$/, "").trim()}.\`)));
|
|
247
258
|
writeLine("");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.mjs","names":[],"sources":["../../../../../plugin-help/dist/components/display.mjs"],"sourcesContent":["import { createComponent, createIntrinsic, memo } from \"@alloy-js/core/jsx-runtime\";\nimport { For, Show, code, computed } from \"@alloy-js/core\";\nimport { formatDescription, formatShortDescription, getAppBin, getAppTitle, getDynamicPathSegmentName, isDynamicPathSegment, sortOptions } from \"@shell-shock/core/plugin-utils\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { Spacing } from \"@powerlines/plugin-alloy/core/components/spacing\";\nimport { usePowerlines } from \"@powerlines/plugin-alloy/core/contexts/context\";\nimport { CommandParameterKinds } from \"@shell-shock/core\";\nimport { useTheme } from \"@shell-shock/plugin-theme/contexts/theme\";\nimport { kebabCase } from \"@stryke/string-format/kebab-case\";\nimport { snakeCase } from \"@stryke/string-format/snake-case\";\n\n//#region src/components/display.tsx\n/**\n* A component that generates the usage display for a command.\n*/\nfunction HelpUsageDisplay(props) {\n\tconst { command, indent = 2 } = props;\n\tconst context = usePowerlines();\n\tconst theme = useTheme();\n\treturn [createComponent(For, {\n\t\tget each() {\n\t\t\treturn Object.keys(context.config.bin);\n\t\t},\n\t\thardline: true,\n\t\tchildren: (bin) => [memo(() => code`\n writeLine(\n colors.text.body.secondary(\\`\\$ \\${colors.text.usage.bin(\"${bin}\")}${command.segments.length > 0 ? ` ${command.segments.map((segment) => `\\${colors.text.usage.${isDynamicPathSegment(segment) ? \"dynamic\" : \"command\"}(\"${isDynamicPathSegment(segment) ? `[${snakeCase(getDynamicPathSegmentName(segment))}]` : segment}\")}`).join(\" \")}` : \"\"}${Object.values(command.children).length > 0 ? ` \\${colors.text.usage.dynamic(\"[command]\")}` : \"\"}${command.args.length > 0 ? ` ${command.args.map((arg) => `\\${colors.text.usage.args(\"<${snakeCase((arg.kind === CommandParameterKinds.string || arg.kind === CommandParameterKinds.number) && arg.choices && arg.choices.length > 0 ? arg.choices.join(\"|\") : arg.kind === CommandParameterKinds.string && arg.format ? arg.format : arg.name)}${(arg.kind === CommandParameterKinds.string || arg.kind === CommandParameterKinds.number) && arg.variadic ? \"...\" : \"\"}>\")}`).join(\" \")}` : \"\"} \\${colors.text.usage.options(\"[options]\")}\\`), { padding: ${theme.padding.app * indent} }\n );`), createIntrinsic(\"hbr\", {})]\n\t}), createComponent(Show, {\n\t\tget when() {\n\t\t\treturn command.args.length > 0;\n\t\t},\n\t\tget children() {\n\t\t\treturn [createIntrinsic(\"hbr\", {}), createComponent(For, {\n\t\t\t\tget each() {\n\t\t\t\t\treturn Object.keys(context.config.bin);\n\t\t\t\t},\n\t\t\t\thardline: true,\n\t\t\t\tchildren: (bin) => [memo(() => code`\n writeLine(\n colors.text.body.secondary(\\`\\$ \\${colors.text.usage.bin(\"${bin}\")}${command.segments.length > 0 ? ` ${command.segments.map((segment) => `\\${colors.text.usage.${isDynamicPathSegment(segment) ? \"dynamic\" : \"command\"}(\"${isDynamicPathSegment(segment) ? `[${snakeCase(getDynamicPathSegmentName(segment))}]` : segment}\")}`).join(\" \")}` : \"\"}${Object.values(command.children).length > 0 ? ` \\${colors.text.usage.dynamic(\"[command]\")}` : \"\"} \\${colors.text.usage.options(\"[options]\")}${command.args.length > 0 ? ` ${command.args.map((arg) => `\\${colors.text.usage.args(\"<${snakeCase((arg.kind === CommandParameterKinds.string || arg.kind === CommandParameterKinds.number) && arg.choices && arg.choices.length > 0 ? arg.choices.join(\"|\") : arg.kind === CommandParameterKinds.string && arg.format ? arg.format : arg.name)}${(arg.kind === CommandParameterKinds.string || arg.kind === CommandParameterKinds.number) && arg.variadic ? \"...\" : \"\"}>\")}`).join(\" \")}` : \"\"}\\`), { padding: ${theme.padding.app * indent} }\n );`), createIntrinsic(\"hbr\", {})]\n\t\t\t})];\n\t\t}\n\t})];\n}\n/**\n* A component that generates the options table display for a command.\n*/\nfunction HelpOptionsDisplay(props) {\n\tconst { options } = props;\n\tconst context = usePowerlines();\n\treturn [\n\t\tcode`table([ `,\n\t\tcreateIntrinsic(\"hbr\", {}),\n\t\tcreateComponent(For, {\n\t\t\tget each() {\n\t\t\t\treturn sortOptions(options);\n\t\t\t},\n\t\t\thardline: true,\n\t\t\tchildren: (option) => {\n\t\t\t\tconst flags = [];\n\t\t\t\tconst names = [];\n\t\t\t\tif (option.name.length === 1) flags.push(`-${option.name}`);\n\t\t\t\telse names.push(`--${kebabCase(option.name)}`);\n\t\t\t\toption.alias.forEach((alias) => {\n\t\t\t\t\tif (alias.length === 1) flags.push(`-${alias}`);\n\t\t\t\t\telse names.push(`--${kebabCase(alias)}`);\n\t\t\t\t});\n\t\t\t\treturn code`[{ value: colors.text.body.primary(\"${flags.length > 0 ? `${flags.sort().join(\", \")}${names.length > 0 ? \", \" : \"\"}` : \"\"}${names.length > 0 ? names.sort().join(\", \") : \"\"}${option.kind === CommandParameterKinds.string ? ` <${snakeCase(option.choices && option.choices.length > 0 ? option.choices.join(\"|\") : option.format ? option.format : option.name)}${option.variadic ? \"...\" : \"\"}>` : option.kind === CommandParameterKinds.number ? ` <${snakeCase(option.choices && option.choices.length > 0 ? option.choices.join(\"|\") : option.name)}${option.variadic ? \"...\" : \"\"}>` : \"\"}\"), align: \"right\", border: \"none\", maxWidth: \"1/3\" }, { value: colors.text.body.tertiary(\\`${formatShortDescription(option.description).replace(/\\.+$/, \"\").trim()}${option.env || option.default !== void 0 ? ` (${option.env ? `env: ${context.config.appSpecificEnvPrefix}_${option.env}${option.default !== void 0 ? \", \" : \"\"}` : \"\"}${option.default !== void 0 ? `default: ${JSON.stringify(option.default).replace(/\"/g, \"\\\\\\\"\")}` : \"\"})` : \"\"}.\\`), align: \"left\", border: \"none\" }], `;\n\t\t\t}\n\t\t}),\n\t\tcreateIntrinsic(\"hbr\", {}),\n\t\tcode` ]); `\n\t];\n}\n/**\n* A component that generates the commands table display for a command.\n*/\nfunction HelpCommandsDisplay(props) {\n\tconst { commands } = props;\n\treturn [\n\t\tcode`table([ `,\n\t\tcreateIntrinsic(\"hbr\", {}),\n\t\tcreateComponent(For, {\n\t\t\tget each() {\n\t\t\t\treturn Object.values(commands);\n\t\t\t},\n\t\t\thardline: true,\n\t\t\tchildren: (child) => code`[{ value: colors.text.body.primary(\"${child.name}\"), align: \"right\", border: \"none\" }, { value: colors.text.body.tertiary(\\`${formatShortDescription(child.description).replace(/\\.+$/, \"\").trim()}.\\`), align: \"left\", border: \"none\" }], `\n\t\t}),\n\t\tcreateIntrinsic(\"hbr\", {}),\n\t\tcode` ]); `\n\t];\n}\n/**\n* A component that generates the `help` function declaration for a command.\n*/\nfunction BaseHelpDisplay(props) {\n\tconst { command, indent = 1, filterGlobalOptions = false } = props;\n\tconst theme = useTheme();\n\tconst context = usePowerlines();\n\tconst options = computed(() => filterGlobalOptions ? Object.values(command.options).filter((option) => !context.options.some((globalOption) => globalOption.name === option.name || option.alias.includes(globalOption.name) || globalOption.alias?.includes(option.name) || globalOption.alias?.some((alias) => option.alias.includes(alias)))) : Object.values(command.options));\n\treturn [\n\t\tmemo(() => code`writeLine(colors.bold(colors.text.heading.secondary(\"Usage:\"))${indent > 1 ? `, { padding: ${theme.padding.app * indent} }` : \"\"});`),\n\t\tcreateIntrinsic(\"hbr\", {}),\n\t\tcreateComponent(HelpUsageDisplay, {\n\t\t\tcommand,\n\t\t\tindent\n\t\t}),\n\t\tcreateComponent(Spacing, {}),\n\t\tcreateComponent(Show, {\n\t\t\tget when() {\n\t\t\t\treturn options.value.length > 0;\n\t\t\t},\n\t\t\tget children() {\n\t\t\t\treturn [\n\t\t\t\t\tmemo(() => code`writeLine(\"\");\n writeLine(colors.bold(colors.text.heading.secondary(\"Options:\"))${indent > 1 ? `, { padding: ${theme.padding.app * indent} }` : \"\"});`),\n\t\t\t\t\tcreateIntrinsic(\"hbr\", {}),\n\t\t\t\t\tcreateComponent(HelpOptionsDisplay, { get options() {\n\t\t\t\t\t\treturn options.value;\n\t\t\t\t\t} }),\n\t\t\t\t\tcreateComponent(Spacing, {})\n\t\t\t\t];\n\t\t\t}\n\t\t}),\n\t\tcreateComponent(Show, {\n\t\t\tget when() {\n\t\t\t\treturn Object.keys(command.children).length > 0;\n\t\t\t},\n\t\t\tget children() {\n\t\t\t\treturn [\n\t\t\t\t\tmemo(() => code`writeLine(\"\");\n writeLine(colors.bold(colors.text.heading.secondary(\"Commands:\"))${indent > 1 ? `, { padding: ${theme.padding.app * indent} }` : \"\"});`),\n\t\t\t\t\tcreateIntrinsic(\"hbr\", {}),\n\t\t\t\t\tcreateComponent(HelpCommandsDisplay, { get commands() {\n\t\t\t\t\t\treturn command.children;\n\t\t\t\t\t} }),\n\t\t\t\t\tcreateComponent(Spacing, {})\n\t\t\t\t];\n\t\t\t}\n\t\t}),\n\t\tcreateComponent(Show, {\n\t\t\tget when() {\n\t\t\t\treturn isSetString(command.reference);\n\t\t\t},\n\t\t\tget children() {\n\t\t\t\treturn [\n\t\t\t\t\tmemo(() => code`writeLine(\"\");\n writeLine(colors.text.heading.tertiary(\\`More information about this command can be found in the reference documentation at ${command.reference}\\`)${indent > 1 ? `, { padding: ${theme.padding.app * indent} }` : \"\"});`),\n\t\t\t\t\tcreateIntrinsic(\"hbr\", {}),\n\t\t\t\t\tcreateComponent(Spacing, {})\n\t\t\t\t];\n\t\t\t}\n\t\t})\n\t];\n}\n/**\n* A component that generates the invocation of the `help` function for a command.\n*/\nfunction VirtualCommandHelpDisplay(props) {\n\tconst { options, segments, commands } = props;\n\tconst context = usePowerlines();\n\treturn [\n\t\tcreateIntrinsic(\"hbr\", {}),\n\t\tcode`writeLine(colors.bold(colors.text.heading.secondary(\"Global Options:\")));`,\n\t\tcreateIntrinsic(\"hbr\", {}),\n\t\tcreateComponent(HelpOptionsDisplay, { options }),\n\t\tcode`writeLine(\"\"); `,\n\t\tcreateComponent(Spacing, {}),\n\t\tcreateComponent(Show, {\n\t\t\tget when() {\n\t\t\t\treturn Object.keys(commands).length > 0;\n\t\t\t},\n\t\t\tget children() {\n\t\t\t\treturn [\n\t\t\t\t\tmemo(() => code`writeLine(colors.text.body.secondary(\"The following commands are available through the ${getAppTitle(context, true)} command-line interface:\"));\n writeLine(\"\"); `),\n\t\t\t\t\tcreateComponent(Spacing, {}),\n\t\t\t\t\tcreateComponent(For, {\n\t\t\t\t\t\tget each() {\n\t\t\t\t\t\t\treturn Object.values(commands);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdoubleHardline: true,\n\t\t\t\t\t\tjoiner: code`writeLine(\"\"); `,\n\t\t\t\t\t\tender: code`writeLine(\"\"); `,\n\t\t\t\t\t\tchildren: (child) => [\n\t\t\t\t\t\t\tmemo(() => code`\n writeLine(colors.text.heading.primary(${child.icon ? `(isUnicodeSupported ? \" ${child.icon} \" : \"\") + ` : \"\"}\"${child.title} ${child.isVirtual ? \"\" : \"Command\"}\"));\n writeLine(\"\");\n writeLine(colors.text.body.secondary(splitText(\\`${formatDescription(child.description).replace(/\\.+$/, \"\").trim()}.\\`)));\n writeLine(\"\");\n `),\n\t\t\t\t\t\t\tcreateIntrinsic(\"hbr\", {}),\n\t\t\t\t\t\t\tcreateComponent(BaseHelpDisplay, {\n\t\t\t\t\t\t\t\tcommand: child,\n\t\t\t\t\t\t\t\tindent: 2,\n\t\t\t\t\t\t\t\tfilterGlobalOptions: true\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tcreateIntrinsic(\"hbr\", {})\n\t\t\t\t\t\t]\n\t\t\t\t\t}),\n\t\t\t\t\tmemo(() => code`help(\"Running a specific command with the help flag (via: '${getAppBin(context)}${segments && segments.length > 0 ? ` ${segments.join(\" \")}` : \"\"} <specific command> --help') will provide additional information that is specific to that command.\");\n writeLine(\"\");`)\n\t\t\t\t];\n\t\t\t}\n\t\t})\n\t];\n}\n/**\n* A component that generates the invocation of the `help` function for a command.\n*/\nfunction CommandHelpDisplay(props) {\n\tconst { command } = props;\n\tconst context = usePowerlines();\n\treturn [\n\t\tcode`writeLine(\"\"); `,\n\t\tcreateComponent(Spacing, {}),\n\t\tcreateComponent(BaseHelpDisplay, {\n\t\t\tcommand,\n\t\t\tfilterGlobalOptions: false\n\t\t}),\n\t\tcode`writeLine(\"\"); `,\n\t\tcreateComponent(Spacing, {}),\n\t\tcreateComponent(Show, {\n\t\t\tget when() {\n\t\t\t\treturn Object.keys(command.children).length > 0;\n\t\t\t},\n\t\t\tget children() {\n\t\t\t\treturn [\n\t\t\t\t\tcode`writeLine(colors.text.body.secondary(\"The following sub-commands are available:\"));\n writeLine(\"\"); `,\n\t\t\t\t\tcreateComponent(Spacing, {}),\n\t\t\t\t\tcreateComponent(For, {\n\t\t\t\t\t\tget each() {\n\t\t\t\t\t\t\treturn Object.values(command.children);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdoubleHardline: true,\n\t\t\t\t\t\tjoiner: code`writeLine(\"\"); `,\n\t\t\t\t\t\tender: code`writeLine(\"\"); `,\n\t\t\t\t\t\tchildren: (child) => [\n\t\t\t\t\t\t\tmemo(() => code`\n writeLine(colors.text.heading.primary(${child.icon ? `(isUnicodeSupported ? \" ${child.icon} \" : \"\") + ` : \"\"}\"${child.title} ${child.isVirtual ? \"\" : \"Command\"}\"));\n writeLine(\"\");\n writeLine(colors.text.body.secondary(splitText(\\`${formatDescription(child.description).replace(/\\.+$/, \"\").trim()}.\\`)));\n writeLine(\"\");\n `),\n\t\t\t\t\t\t\tcreateIntrinsic(\"hbr\", {}),\n\t\t\t\t\t\t\tcreateComponent(BaseHelpDisplay, {\n\t\t\t\t\t\t\t\tcommand: child,\n\t\t\t\t\t\t\t\tindent: 2,\n\t\t\t\t\t\t\t\tfilterGlobalOptions: true\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tcreateIntrinsic(\"hbr\", {})\n\t\t\t\t\t\t]\n\t\t\t\t\t}),\n\t\t\t\t\tmemo(() => code`help(\"Running a specific command with the help flag (via: '${getAppBin(context)} ${command.segments.join(\" \")} <specific command> --help') will provide additional information that is specific to that command.\");\n writeLine(\"\");`)\n\t\t\t\t];\n\t\t\t}\n\t\t})\n\t];\n}\n\n//#endregion\nexport { BaseHelpDisplay, CommandHelpDisplay, HelpCommandsDisplay, HelpOptionsDisplay, HelpUsageDisplay, VirtualCommandHelpDisplay };\n//# sourceMappingURL=display.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"display.mjs","names":[],"sources":["../../../../../plugin-help/dist/components/display.mjs"],"sourcesContent":["import { createComponent, createIntrinsic, memo } from \"@alloy-js/core/jsx-runtime\";\nimport { For, Show, code, computed } from \"@alloy-js/core\";\nimport { formatDescription, formatShortDescription, getAppBin, getAppTitle, getDynamicPathSegmentName, isDynamicPathSegment, sortOptions } from \"@shell-shock/core/plugin-utils\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { Spacing } from \"@powerlines/plugin-alloy/core/components/spacing\";\nimport { usePowerlines } from \"@powerlines/plugin-alloy/core/contexts/context\";\nimport { CommandParameterKinds } from \"@shell-shock/core\";\nimport { useTheme } from \"@shell-shock/plugin-theme/contexts/theme\";\nimport { kebabCase } from \"@stryke/string-format/kebab-case\";\nimport { snakeCase } from \"@stryke/string-format/snake-case\";\n\n//#region src/components/display.tsx\n/**\n* A component that generates the usage display for a command.\n*/\nfunction HelpUsageDisplay(props) {\n\tconst { command, indent = 2 } = props;\n\tconst context = usePowerlines();\n\tconst theme = useTheme();\n\treturn [createComponent(For, {\n\t\tget each() {\n\t\t\treturn Object.keys(context.config.bin);\n\t\t},\n\t\thardline: true,\n\t\tchildren: (bin) => [memo(() => code`\n writeLine(\n colors.text.body.secondary(\\`\\${colors.border.app.divider.tertiary(\"\\$_\")} \\${colors.text.usage.bin(\"${bin}\")}${command.segments.length > 0 ? ` ${command.segments.map((segment) => `\\${colors.text.usage.${isDynamicPathSegment(segment) ? \"dynamic\" : \"command\"}(\"${isDynamicPathSegment(segment) ? `[${snakeCase(getDynamicPathSegmentName(segment))}]` : segment}\")}`).join(\" \")}` : \"\"}${Object.values(command.children).length > 0 ? ` \\${colors.text.usage.dynamic(\"[command]\")}` : \"\"}${command.args.length > 0 ? ` ${command.args.map((arg) => `\\${colors.text.usage.args(\"<${snakeCase((arg.kind === CommandParameterKinds.string || arg.kind === CommandParameterKinds.number) && arg.choices && arg.choices.length > 0 ? arg.choices.join(\"|\") : arg.kind === CommandParameterKinds.string && arg.format ? arg.format : arg.name)}${(arg.kind === CommandParameterKinds.string || arg.kind === CommandParameterKinds.number) && arg.variadic ? \"...\" : \"\"}>\")}`).join(\" \")}` : \"\"} \\${colors.text.usage.options(\"[options]\")}\\`), { padding: ${theme.padding.app * indent} }\n );`), createIntrinsic(\"hbr\", {})]\n\t}), createComponent(Show, {\n\t\tget when() {\n\t\t\treturn command.args.length > 0;\n\t\t},\n\t\tget children() {\n\t\t\treturn [createIntrinsic(\"hbr\", {}), createComponent(For, {\n\t\t\t\tget each() {\n\t\t\t\t\treturn Object.keys(context.config.bin);\n\t\t\t\t},\n\t\t\t\thardline: true,\n\t\t\t\tchildren: (bin) => [memo(() => code`\n writeLine(\n colors.text.body.secondary(\\`\\$ \\${colors.text.usage.bin(\"${bin}\")}${command.segments.length > 0 ? ` ${command.segments.map((segment) => `\\${colors.text.usage.${isDynamicPathSegment(segment) ? \"dynamic\" : \"command\"}(\"${isDynamicPathSegment(segment) ? `[${snakeCase(getDynamicPathSegmentName(segment))}]` : segment}\")}`).join(\" \")}` : \"\"}${Object.values(command.children).length > 0 ? ` \\${colors.text.usage.dynamic(\"[command]\")}` : \"\"} \\${colors.text.usage.options(\"[options]\")}${command.args.length > 0 ? ` ${command.args.map((arg) => `\\${colors.text.usage.args(\"<${snakeCase((arg.kind === CommandParameterKinds.string || arg.kind === CommandParameterKinds.number) && arg.choices && arg.choices.length > 0 ? arg.choices.join(\"|\") : arg.kind === CommandParameterKinds.string && arg.format ? arg.format : arg.name)}${(arg.kind === CommandParameterKinds.string || arg.kind === CommandParameterKinds.number) && arg.variadic ? \"...\" : \"\"}>\")}`).join(\" \")}` : \"\"}\\`), { padding: ${theme.padding.app * indent} }\n );`), createIntrinsic(\"hbr\", {})]\n\t\t\t})];\n\t\t}\n\t})];\n}\n/**\n* A component that generates the options table display for a command.\n*/\nfunction HelpOptionsDisplay(props) {\n\tconst { options } = props;\n\tconst context = usePowerlines();\n\treturn [\n\t\tcode`table([ `,\n\t\tcreateIntrinsic(\"hbr\", {}),\n\t\tcreateComponent(For, {\n\t\t\tget each() {\n\t\t\t\treturn sortOptions(options);\n\t\t\t},\n\t\t\thardline: true,\n\t\t\tchildren: (option) => {\n\t\t\t\tconst flags = [];\n\t\t\t\tconst names = [];\n\t\t\t\tif (option.name.length === 1) flags.push(`-${option.name}`);\n\t\t\t\telse names.push(`--${kebabCase(option.name)}`);\n\t\t\t\toption.alias.forEach((alias) => {\n\t\t\t\t\tif (alias.length === 1) flags.push(`-${alias}`);\n\t\t\t\t\telse names.push(`--${kebabCase(alias)}`);\n\t\t\t\t});\n\t\t\t\treturn code`[{ value: colors.text.body.primary(\"${flags.length > 0 ? `${flags.sort().join(\", \")}${names.length > 0 ? \", \" : \"\"}` : \"\"}${names.length > 0 ? names.sort().join(\", \") : \"\"}${option.kind === CommandParameterKinds.string ? ` <${snakeCase(option.choices && option.choices.length > 0 ? option.choices.join(\"|\") : option.format ? option.format : option.name)}${option.variadic ? \"...\" : \"\"}>` : option.kind === CommandParameterKinds.number ? ` <${snakeCase(option.choices && option.choices.length > 0 ? option.choices.join(\"|\") : option.name)}${option.variadic ? \"...\" : \"\"}>` : \"\"}\"), align: \"right\", border: \"none\", maxWidth: \"1/3\" }, { value: colors.text.body.tertiary(\\`${formatShortDescription(option.description).replace(/\\.+$/, \"\").trim()}${option.env || option.default !== void 0 ? ` (${option.env ? `env: ${context.config.appSpecificEnvPrefix}_${option.env}${option.default !== void 0 ? \", \" : \"\"}` : \"\"}${option.default !== void 0 ? `default: ${JSON.stringify(option.default).replace(/\"/g, \"\\\\\\\"\")}` : \"\"})` : \"\"}.\\`), align: \"left\", border: \"none\" }], `;\n\t\t\t}\n\t\t}),\n\t\tcreateIntrinsic(\"hbr\", {}),\n\t\tcode` ]); `\n\t];\n}\n/**\n* A component that generates the commands table display for a command.\n*/\nfunction HelpCommandsDisplay(props) {\n\tconst { commands } = props;\n\treturn [\n\t\tcode`table([ `,\n\t\tcreateIntrinsic(\"hbr\", {}),\n\t\tcreateComponent(For, {\n\t\t\tget each() {\n\t\t\t\treturn Object.values(commands);\n\t\t\t},\n\t\t\thardline: true,\n\t\t\tchildren: (child) => code`[{ value: colors.text.body.primary(\"${child.name}\"), align: \"right\", border: \"none\" }, { value: colors.text.body.tertiary(\\`${formatShortDescription(child.description).replace(/\\.+$/, \"\").trim()}.\\`), align: \"left\", border: \"none\" }], `\n\t\t}),\n\t\tcreateIntrinsic(\"hbr\", {}),\n\t\tcode` ]); `\n\t];\n}\n/**\n* A component that generates the `help` function declaration for a command.\n*/\nfunction BaseHelpDisplay(props) {\n\tconst { command, indent = 1, filterGlobalOptions = false } = props;\n\tconst theme = useTheme();\n\tconst context = usePowerlines();\n\tconst options = computed(() => filterGlobalOptions ? Object.values(command.options).filter((option) => !context.options.some((globalOption) => globalOption.name === option.name || option.alias.includes(globalOption.name) || globalOption.alias?.includes(option.name) || globalOption.alias?.some((alias) => option.alias.includes(alias)))) : Object.values(command.options));\n\treturn [\n\t\tmemo(() => code`writeLine(colors.bold(colors.text.heading.secondary(\"Usage:\"))${indent > 1 ? `, { padding: ${theme.padding.app * indent} }` : \"\"});`),\n\t\tcreateIntrinsic(\"hbr\", {}),\n\t\tcreateComponent(HelpUsageDisplay, {\n\t\t\tcommand,\n\t\t\tindent\n\t\t}),\n\t\tcreateComponent(Spacing, {}),\n\t\tcreateComponent(Show, {\n\t\t\tget when() {\n\t\t\t\treturn options.value.length > 0;\n\t\t\t},\n\t\t\tget children() {\n\t\t\t\treturn [\n\t\t\t\t\tmemo(() => code`writeLine(\"\");\n writeLine(colors.bold(colors.text.heading.secondary(\"Options:\"))${indent > 1 ? `, { padding: ${theme.padding.app * indent} }` : \"\"});`),\n\t\t\t\t\tcreateIntrinsic(\"hbr\", {}),\n\t\t\t\t\tcreateComponent(HelpOptionsDisplay, { get options() {\n\t\t\t\t\t\treturn options.value;\n\t\t\t\t\t} }),\n\t\t\t\t\tcreateComponent(Spacing, {})\n\t\t\t\t];\n\t\t\t}\n\t\t}),\n\t\tcreateComponent(Show, {\n\t\t\tget when() {\n\t\t\t\treturn Object.keys(command.children).length > 0;\n\t\t\t},\n\t\t\tget children() {\n\t\t\t\treturn [\n\t\t\t\t\tmemo(() => code`writeLine(\"\");\n writeLine(colors.bold(colors.text.heading.secondary(\"Commands:\"))${indent > 1 ? `, { padding: ${theme.padding.app * indent} }` : \"\"});`),\n\t\t\t\t\tcreateIntrinsic(\"hbr\", {}),\n\t\t\t\t\tcreateComponent(HelpCommandsDisplay, { get commands() {\n\t\t\t\t\t\treturn command.children;\n\t\t\t\t\t} }),\n\t\t\t\t\tcreateComponent(Spacing, {})\n\t\t\t\t];\n\t\t\t}\n\t\t}),\n\t\tcreateComponent(Show, {\n\t\t\tget when() {\n\t\t\t\treturn isSetString(command.reference);\n\t\t\t},\n\t\t\tget children() {\n\t\t\t\treturn [\n\t\t\t\t\tmemo(() => code`writeLine(\"\");\n writeLine(colors.text.heading.tertiary(\\`More information about this command can be found in the reference documentation at ${command.reference}\\`)${indent > 1 ? `, { padding: ${theme.padding.app * indent} }` : \"\"});`),\n\t\t\t\t\tcreateIntrinsic(\"hbr\", {}),\n\t\t\t\t\tcreateComponent(Spacing, {})\n\t\t\t\t];\n\t\t\t}\n\t\t})\n\t];\n}\nfunction sortCommands(commands) {\n\treturn Object.values(commands).sort((a, b) => {\n\t\tif (a.tags.some((tag) => tag.toLowerCase() === \"deprecated\") && !b.tags.some((tag) => tag.toLowerCase() === \"deprecated\")) return 1;\n\t\telse if (!a.tags.some((tag) => tag.toLowerCase() === \"deprecated\") && b.tags.some((tag) => tag.toLowerCase() === \"deprecated\")) return -1;\n\t\telse if (a.tags.some((tag) => tag.toLowerCase() === \"experimental\") && !b.tags.some((tag) => tag.toLowerCase() === \"experimental\")) return 1;\n\t\telse if (!a.tags.some((tag) => tag.toLowerCase() === \"experimental\") && b.tags.some((tag) => tag.toLowerCase() === \"experimental\")) return -1;\n\t\telse if (a.tags.some((tag) => tag.toLowerCase() === \"utility\") && !b.tags.some((tag) => tag.toLowerCase() === \"utility\")) return 1;\n\t\telse if (!a.tags.some((tag) => tag.toLowerCase() === \"utility\") && b.tags.some((tag) => tag.toLowerCase() === \"utility\")) return -1;\n\t\treturn a.name.localeCompare(b.name);\n\t});\n}\n/**\n* A component that generates the invocation of the `help` function for a command.\n*/\nfunction VirtualCommandHelpDisplay(props) {\n\tconst { options, segments, commands } = props;\n\tconst context = usePowerlines();\n\treturn [\n\t\tcreateIntrinsic(\"hbr\", {}),\n\t\tcode`writeLine(colors.bold(colors.text.heading.secondary(\"Global Options:\")));`,\n\t\tcreateIntrinsic(\"hbr\", {}),\n\t\tcreateComponent(HelpOptionsDisplay, { options }),\n\t\tcode`writeLine(\"\"); `,\n\t\tcreateComponent(Spacing, {}),\n\t\tcreateComponent(Show, {\n\t\t\tget when() {\n\t\t\t\treturn Object.keys(commands).length > 0;\n\t\t\t},\n\t\t\tget children() {\n\t\t\t\treturn [\n\t\t\t\t\tmemo(() => code`writeLine(colors.text.body.secondary(\"The following commands are available through the ${getAppTitle(context, true)} command-line interface:\"));\n writeLine(\"\"); `),\n\t\t\t\t\tcreateComponent(Spacing, {}),\n\t\t\t\t\tcreateComponent(For, {\n\t\t\t\t\t\tget each() {\n\t\t\t\t\t\t\treturn sortCommands(commands);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdoubleHardline: true,\n\t\t\t\t\t\tjoiner: code`writeLine(\"\"); `,\n\t\t\t\t\t\tender: code`writeLine(\"\"); `,\n\t\t\t\t\t\tchildren: (child) => [\n\t\t\t\t\t\t\tmemo(() => code`\n writeLine(colors.text.heading.primary(${child.icon ? `(isUnicodeSupported ? \" ${child.icon} \" : \"\") + ` : \"\"}\\`${child.title} ${child.isVirtual ? \"\" : \"Command\"}${child.tags?.length > 0 ? ` ${child.tags.map((tag) => `\\${colors.text.heading.primary(colors.black(\" ${tag} \"), true)}`).join(\" \")}` : \"\"}\\`);\n writeLine(\"\");\n writeLine(colors.text.body.secondary(splitText(\\`${formatDescription(child.description).replace(/\\.+$/, \"\").trim()}.\\`)));\n writeLine(\"\");\n `),\n\t\t\t\t\t\t\tcreateIntrinsic(\"hbr\", {}),\n\t\t\t\t\t\t\tcreateComponent(BaseHelpDisplay, {\n\t\t\t\t\t\t\t\tcommand: child,\n\t\t\t\t\t\t\t\tindent: 2,\n\t\t\t\t\t\t\t\tfilterGlobalOptions: true\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tcreateIntrinsic(\"hbr\", {})\n\t\t\t\t\t\t]\n\t\t\t\t\t}),\n\t\t\t\t\tmemo(() => code`help(\"Running a specific command with the help flag (via: '${getAppBin(context)}${segments && segments.length > 0 ? ` ${segments.join(\" \")}` : \"\"} <specific command> --help') will provide additional information that is specific to that command.\");\n writeLine(\"\");`)\n\t\t\t\t];\n\t\t\t}\n\t\t})\n\t];\n}\n/**\n* A component that generates the invocation of the `help` function for a command.\n*/\nfunction CommandHelpDisplay(props) {\n\tconst { command } = props;\n\tconst context = usePowerlines();\n\treturn [\n\t\tcode`writeLine(\"\"); `,\n\t\tcreateComponent(Spacing, {}),\n\t\tcreateComponent(BaseHelpDisplay, {\n\t\t\tcommand,\n\t\t\tfilterGlobalOptions: false\n\t\t}),\n\t\tcode`writeLine(\"\"); `,\n\t\tcreateComponent(Spacing, {}),\n\t\tcreateComponent(Show, {\n\t\t\tget when() {\n\t\t\t\treturn Object.keys(command.children).length > 0;\n\t\t\t},\n\t\t\tget children() {\n\t\t\t\treturn [\n\t\t\t\t\tcode`writeLine(colors.text.body.secondary(\"The following sub-commands are available:\"));\n writeLine(\"\"); `,\n\t\t\t\t\tcreateComponent(Spacing, {}),\n\t\t\t\t\tcreateComponent(For, {\n\t\t\t\t\t\tget each() {\n\t\t\t\t\t\t\treturn sortCommands(command.children);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdoubleHardline: true,\n\t\t\t\t\t\tjoiner: code`writeLine(\"\"); `,\n\t\t\t\t\t\tender: code`writeLine(\"\"); `,\n\t\t\t\t\t\tchildren: (child) => [\n\t\t\t\t\t\t\tmemo(() => code`\n writeLine(colors.text.heading.primary(${child.icon ? `(isUnicodeSupported ? \" ${child.icon} \" : \"\") + ` : \"\"}\\`${child.title} ${child.isVirtual ? \"\" : \"Command\"}${child.tags?.length > 0 ? ` ${child.tags.map((tag) => `\\${colors.text.heading.primary(colors.black(\" ${tag} \"), true)}`).join(\" \")}` : \"\"}\\`);\n writeLine(\"\");\n writeLine(colors.text.body.secondary(splitText(\\`${formatDescription(child.description).replace(/\\.+$/, \"\").trim()}.\\`)));\n writeLine(\"\");\n `),\n\t\t\t\t\t\t\tcreateIntrinsic(\"hbr\", {}),\n\t\t\t\t\t\t\tcreateComponent(BaseHelpDisplay, {\n\t\t\t\t\t\t\t\tcommand: child,\n\t\t\t\t\t\t\t\tindent: 2,\n\t\t\t\t\t\t\t\tfilterGlobalOptions: true\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tcreateIntrinsic(\"hbr\", {})\n\t\t\t\t\t\t]\n\t\t\t\t\t}),\n\t\t\t\t\tmemo(() => code`help(\"Running a specific command with the help flag (via: '${getAppBin(context)} ${command.segments.join(\" \")} <specific command> --help') will provide additional information that is specific to that command.\");\n writeLine(\"\");`)\n\t\t\t\t];\n\t\t\t}\n\t\t})\n\t];\n}\n\n//#endregion\nexport { BaseHelpDisplay, CommandHelpDisplay, HelpCommandsDisplay, HelpOptionsDisplay, HelpUsageDisplay, VirtualCommandHelpDisplay };\n//# sourceMappingURL=display.mjs.map"],"mappings":"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"}
|
|
@@ -4,13 +4,13 @@ let _alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
|
|
|
4
4
|
let _alloy_js_core = require("@alloy-js/core");
|
|
5
5
|
let _alloy_js_typescript = require("@alloy-js/typescript");
|
|
6
6
|
let _shell_shock_core_plugin_utils = require("@shell-shock/core/plugin-utils");
|
|
7
|
-
let _powerlines_plugin_alloy_core_components_spacing = require("@powerlines/plugin-alloy/core/components/spacing");
|
|
8
7
|
let _powerlines_plugin_alloy_core_contexts_context = require("@powerlines/plugin-alloy/core/contexts/context");
|
|
8
|
+
let _powerlines_plugin_alloy_core_components_spacing = require("@powerlines/plugin-alloy/core/components/spacing");
|
|
9
|
+
let _powerlines_plugin_alloy_typescript_components_builtin_file = require("@powerlines/plugin-alloy/typescript/components/builtin-file");
|
|
10
|
+
let _stryke_path = require("@stryke/path");
|
|
9
11
|
let defu = require("defu");
|
|
10
12
|
defu = require_runtime.__toESM(defu);
|
|
11
13
|
let _powerlines_plugin_alloy_typescript = require("@powerlines/plugin-alloy/typescript");
|
|
12
|
-
let _powerlines_plugin_alloy_typescript_components_builtin_file = require("@powerlines/plugin-alloy/typescript/components/builtin-file");
|
|
13
|
-
let _stryke_path = require("@stryke/path");
|
|
14
14
|
|
|
15
15
|
//#region ../plugin-help/dist/components/help-builtin.mjs
|
|
16
16
|
/**
|