@shell-shock/preset-script 0.3.1 → 0.3.3

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.
Files changed (84) hide show
  1. package/README.md +1 -1
  2. package/dist/components/banner-function-declaration.cjs +68 -0
  3. package/dist/components/banner-function-declaration.cjs.map +1 -0
  4. package/dist/components/banner-function-declaration.d.cts +19 -0
  5. package/dist/components/banner-function-declaration.d.cts.map +1 -0
  6. package/dist/components/banner-function-declaration.d.mts +19 -0
  7. package/dist/components/banner-function-declaration.d.mts.map +1 -0
  8. package/dist/components/banner-function-declaration.mjs +67 -0
  9. package/dist/components/banner-function-declaration.mjs.map +1 -0
  10. package/dist/components/bin-entry.cjs +1 -1
  11. package/dist/components/bin-entry.mjs +1 -1
  12. package/dist/components/command-entry.cjs +28 -18
  13. package/dist/components/command-entry.cjs.map +1 -1
  14. package/dist/components/command-entry.d.cts +5 -5
  15. package/dist/components/command-entry.d.cts.map +1 -1
  16. package/dist/components/command-entry.d.mts +4 -4
  17. package/dist/components/command-entry.d.mts.map +1 -1
  18. package/dist/components/command-entry.mjs +27 -17
  19. package/dist/components/command-entry.mjs.map +1 -1
  20. package/dist/components/command-router.cjs +8 -29
  21. package/dist/components/command-router.cjs.map +1 -1
  22. package/dist/components/command-router.mjs +8 -29
  23. package/dist/components/command-router.mjs.map +1 -1
  24. package/dist/components/console-builtin.cjs +10 -66
  25. package/dist/components/console-builtin.cjs.map +1 -1
  26. package/dist/components/console-builtin.d.cts +2 -11
  27. package/dist/components/console-builtin.d.cts.map +1 -1
  28. package/dist/components/console-builtin.d.mts +2 -11
  29. package/dist/components/console-builtin.d.mts.map +1 -1
  30. package/dist/components/console-builtin.mjs +12 -67
  31. package/dist/components/console-builtin.mjs.map +1 -1
  32. package/dist/components/help.cjs +75 -9
  33. package/dist/components/help.cjs.map +1 -1
  34. package/dist/components/help.d.cts +15 -1
  35. package/dist/components/help.d.cts.map +1 -1
  36. package/dist/components/help.d.mts +20 -6
  37. package/dist/components/help.d.mts.map +1 -1
  38. package/dist/components/help.mjs +75 -10
  39. package/dist/components/help.mjs.map +1 -1
  40. package/dist/components/index.cjs +3 -8
  41. package/dist/components/index.d.cts +4 -4
  42. package/dist/components/index.d.mts +4 -4
  43. package/dist/components/index.mjs +4 -4
  44. package/dist/components/utils-builtin.cjs +2 -2
  45. package/dist/components/utils-builtin.cjs.map +1 -1
  46. package/dist/components/utils-builtin.d.cts +7 -7
  47. package/dist/components/utils-builtin.d.mts +7 -7
  48. package/dist/components/utils-builtin.mjs +2 -2
  49. package/dist/components/utils-builtin.mjs.map +1 -1
  50. package/dist/components/virtual-command-entry.cjs +3 -3
  51. package/dist/components/virtual-command-entry.cjs.map +1 -1
  52. package/dist/components/virtual-command-entry.d.cts +4 -4
  53. package/dist/components/virtual-command-entry.d.mts +3 -3
  54. package/dist/components/virtual-command-entry.d.mts.map +1 -1
  55. package/dist/components/virtual-command-entry.mjs +3 -3
  56. package/dist/components/virtual-command-entry.mjs.map +1 -1
  57. package/dist/contexts/theme.cjs +2 -2
  58. package/dist/contexts/theme.cjs.map +1 -1
  59. package/dist/helpers/ansi-utils.cjs +3 -0
  60. package/dist/helpers/ansi-utils.d.cts +8 -1
  61. package/dist/helpers/ansi-utils.d.cts.map +1 -1
  62. package/dist/helpers/ansi-utils.d.mts +8 -1
  63. package/dist/helpers/ansi-utils.d.mts.map +1 -1
  64. package/dist/helpers/ansi-utils.mjs +1 -1
  65. package/dist/helpers/get-default-options.d.cts +13 -0
  66. package/dist/helpers/get-default-options.d.cts.map +1 -0
  67. package/dist/helpers/get-default-options.d.mts +13 -0
  68. package/dist/helpers/get-default-options.d.mts.map +1 -0
  69. package/dist/index.cjs +20 -53
  70. package/dist/index.cjs.map +1 -1
  71. package/dist/index.d.cts.map +1 -1
  72. package/dist/index.d.mts.map +1 -1
  73. package/dist/index.mjs +19 -52
  74. package/dist/index.mjs.map +1 -1
  75. package/dist/types/plugin.d.mts.map +1 -1
  76. package/package.json +47 -20
  77. package/dist/components/args-parser-logic.cjs +0 -678
  78. package/dist/components/args-parser-logic.cjs.map +0 -1
  79. package/dist/components/args-parser-logic.d.cts +0 -45
  80. package/dist/components/args-parser-logic.d.cts.map +0 -1
  81. package/dist/components/args-parser-logic.d.mts +0 -45
  82. package/dist/components/args-parser-logic.d.mts.map +0 -1
  83. package/dist/components/args-parser-logic.mjs +0 -672
  84. package/dist/components/args-parser-logic.mjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { Children } from "@alloy-js/core";
2
+ import { ThemeMessageVariant } from "@shell-shock/plugin-theme/types/theme";
2
3
  import { FunctionDeclarationProps } from "@alloy-js/typescript";
3
- import { ThemeColorVariant, ThemeMessageVariant } from "@shell-shock/plugin-theme/types/theme";
4
4
 
5
5
  //#region src/components/console-builtin.d.ts
6
6
 
@@ -24,15 +24,6 @@ type MessageFunctionDeclarationProps = Partial<Pick<FunctionDeclarationProps, "p
24
24
  * A component to generate the message functions in the `shell-shock:console` builtin module.
25
25
  */
26
26
  declare function MessageFunctionDeclaration(props: MessageFunctionDeclarationProps): Children;
27
- interface BannerFunctionDeclarationProps {
28
- variant?: ThemeColorVariant;
29
- consoleFnName?: "log" | "info" | "warn" | "error" | "debug";
30
- title?: string;
31
- }
32
- /**
33
- * A component to generate the `banner` function in the `shell-shock:console` builtin module.
34
- */
35
- declare function BannerFunctionDeclaration(props: BannerFunctionDeclarationProps): Children;
36
27
  /**
37
28
  * A component to generate the `wrapAnsi` function in the `shell-shock:console` builtin module.
38
29
  */
@@ -62,5 +53,5 @@ declare function TableFunctionDeclaration(props: TableFunctionDeclarationProps):
62
53
  */
63
54
  declare function ConsoleBuiltin(): Children;
64
55
  //#endregion
65
- export { BannerFunctionDeclaration, BannerFunctionDeclarationProps, ColorsDeclaration, ConsoleBuiltin, DividerFunctionDeclaration, LinkFunctionDeclaration, MessageFunctionDeclaration, MessageFunctionDeclarationProps, StripAnsiFunctionDeclaration, TableFunctionDeclaration, TableFunctionDeclarationProps, WrapAnsiFunction, WriteLineFunctionDeclaration };
56
+ export { ColorsDeclaration, ConsoleBuiltin, DividerFunctionDeclaration, LinkFunctionDeclaration, MessageFunctionDeclaration, MessageFunctionDeclarationProps, StripAnsiFunctionDeclaration, TableFunctionDeclaration, TableFunctionDeclarationProps, WrapAnsiFunction, WriteLineFunctionDeclaration };
66
57
  //# sourceMappingURL=console-builtin.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"console-builtin.d.cts","names":[],"sources":["../../src/components/console-builtin.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAuFA;AAwpCgB,iBAxpCA,iBAAA,CAAA,CAwpC4B,EAxpCX,QAwpCW;AAuJ5C;;;AAA8C,iBAvJ9B,4BAAA,CAAA,CAuJ8B,EAvJF,QAuJE;AAYnC,KAZC,+BAAA,GAAkC,OAYnC,CAXT,IAWS,CAXJ,wBAWI,EAAA,YAAA,CAAA,CAAA,GAAA;EAGA,IAAA,EAAA,SAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GAAA,SAAA,GAAA,MAAA,GAAA,QAAA,GAAA,OAAA;EAAQ,OAAA,EAHR,mBAGQ;EAOH,aAAA,EAAA,KAAA,GAAA,MAA0B,GAAA,MAAA,GACjC,OAAA,GAAA,OAAA;EAuKQ,WAAA,EAAA,MAAA;EASD,MAAA,CAAA,EAxLL,QAwLK;EA0LA,SAAA,CAAA,EAAA,OAAgB;AA4EhC,CAAA;AAmCA;AAsFA;AA0FA;AAQgB,iBAlpBA,0BAAA,CAkpBgC,KAAA,EAjpBvC,+BAipBoE,CAAA,EAjpBrC,QAipBqC;AAse7D,UAh9BC,8BAAA,CAg9Ba;YA/8BlB;;;;;;;iBAQI,yBAAA,QACP,iCAA8B;;;;iBAyLvB,gBAAA,CAAA,GAAgB;;;;iBA4EhB,4BAAA,CAAA,GAA4B;;;;iBAmC5B,0BAAA,CAAA,GAA0B;;;;iBAsF1B,uBAAA,CAAA,GAAuB;;;;KA0F3B,6BAAA,GAAgC,KAC1C;;;;iBAOc,wBAAA,QAAgC,gCAA6B;;;;iBAse7D,cAAA,CAAA,GAAc"}
1
+ {"version":3,"file":"console-builtin.d.cts","names":[],"sources":["../../src/components/console-builtin.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AA+EA;AAwpCgB,iBAxpCA,iBAAA,CAAA,CAwpC4B,EAxpCX,QAwpCW;AAuJ5C;;;AAA8C,iBAvJ9B,4BAAA,CAAA,CAuJ8B,EAvJF,QAuJE;AAYnC,KAZC,+BAAA,GAAkC,OAYnC,CAXT,IAWS,CAXJ,wBAWI,EAAA,YAAA,CAAA,CAAA,GAAA;EAGA,IAAA,EAAA,SAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GAAA,SAAA,GAAA,MAAA,GAAA,QAAA,GAAA,OAAA;EAAQ,OAAA,EAHR,mBAGQ;EAOH,aAAA,EAAA,KAAA,GAAA,MAA0B,GAAA,MAAA,GACjC,OAAA,GAAA,OAAA;EA0KO,WAAA,EAAA,MAAgB;EA4EhB,MAAA,CAAA,EA9PL,QA8PK;EAmCA,SAAA,CAAA,EAAA,OAAA;AAsFhB,CAAA;AA0FA;AAQA;AAseA;iBAx7BgB,0BAAA,QACP,kCAA+B;;;;iBA0KxB,gBAAA,CAAA,GAAgB;;;;iBA4EhB,4BAAA,CAAA,GAA4B;;;;iBAmC5B,0BAAA,CAAA,GAA0B;;;;iBAsF1B,uBAAA,CAAA,GAAuB;;;;KA0F3B,6BAAA,GAAgC,KAC1C;;;;iBAOc,wBAAA,QAAgC,gCAA6B;;;;iBAse7D,cAAA,CAAA,GAAc"}
@@ -1,6 +1,6 @@
1
1
  import { Children } from "@alloy-js/core";
2
2
  import { FunctionDeclarationProps } from "@alloy-js/typescript";
3
- import { ThemeColorVariant, ThemeMessageVariant } from "@shell-shock/plugin-theme/types/theme";
3
+ import { ThemeMessageVariant } from "@shell-shock/plugin-theme/types/theme";
4
4
 
5
5
  //#region src/components/console-builtin.d.ts
6
6
 
@@ -24,15 +24,6 @@ type MessageFunctionDeclarationProps = Partial<Pick<FunctionDeclarationProps, "p
24
24
  * A component to generate the message functions in the `shell-shock:console` builtin module.
25
25
  */
26
26
  declare function MessageFunctionDeclaration(props: MessageFunctionDeclarationProps): Children;
27
- interface BannerFunctionDeclarationProps {
28
- variant?: ThemeColorVariant;
29
- consoleFnName?: "log" | "info" | "warn" | "error" | "debug";
30
- title?: string;
31
- }
32
- /**
33
- * A component to generate the `banner` function in the `shell-shock:console` builtin module.
34
- */
35
- declare function BannerFunctionDeclaration(props: BannerFunctionDeclarationProps): Children;
36
27
  /**
37
28
  * A component to generate the `wrapAnsi` function in the `shell-shock:console` builtin module.
38
29
  */
@@ -62,5 +53,5 @@ declare function TableFunctionDeclaration(props: TableFunctionDeclarationProps):
62
53
  */
63
54
  declare function ConsoleBuiltin(): Children;
64
55
  //#endregion
65
- export { BannerFunctionDeclaration, BannerFunctionDeclarationProps, ColorsDeclaration, ConsoleBuiltin, DividerFunctionDeclaration, LinkFunctionDeclaration, MessageFunctionDeclaration, MessageFunctionDeclarationProps, StripAnsiFunctionDeclaration, TableFunctionDeclaration, TableFunctionDeclarationProps, WrapAnsiFunction, WriteLineFunctionDeclaration };
56
+ export { ColorsDeclaration, ConsoleBuiltin, DividerFunctionDeclaration, LinkFunctionDeclaration, MessageFunctionDeclaration, MessageFunctionDeclarationProps, StripAnsiFunctionDeclaration, TableFunctionDeclaration, TableFunctionDeclarationProps, WrapAnsiFunction, WriteLineFunctionDeclaration };
66
57
  //# sourceMappingURL=console-builtin.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"console-builtin.d.mts","names":[],"sources":["../../src/components/console-builtin.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAuFA;AAwpCgB,iBAxpCA,iBAAA,CAAA,CAwpC4B,EAxpCX,QAwpCW;AAuJ5C;;;AAA8C,iBAvJ9B,4BAAA,CAAA,CAuJ8B,EAvJF,QAuJE;AAYnC,KAZC,+BAAA,GAAkC,OAYnC,CAXT,IAWS,CAXJ,wBAWI,EAAA,YAAA,CAAA,CAAA,GAAA;EAGA,IAAA,EAAA,SAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GAAA,SAAA,GAAA,MAAA,GAAA,QAAA,GAAA,OAAA;EAAQ,OAAA,EAHR,mBAGQ;EAOH,aAAA,EAAA,KAAA,GAAA,MAA0B,GAAA,MAAA,GACjC,OAAA,GAAA,OAAA;EAuKQ,WAAA,EAAA,MAAA;EASD,MAAA,CAAA,EAxLL,QAwLK;EA0LA,SAAA,CAAA,EAAA,OAAgB;AA4EhC,CAAA;AAmCA;AAsFA;AA0FA;AAQgB,iBAlpBA,0BAAA,CAkpBgC,KAAA,EAjpBvC,+BAipBoE,CAAA,EAjpBrC,QAipBqC;AAse7D,UAh9BC,8BAAA,CAg9Ba;YA/8BlB;;;;;;;iBAQI,yBAAA,QACP,iCAA8B;;;;iBAyLvB,gBAAA,CAAA,GAAgB;;;;iBA4EhB,4BAAA,CAAA,GAA4B;;;;iBAmC5B,0BAAA,CAAA,GAA0B;;;;iBAsF1B,uBAAA,CAAA,GAAuB;;;;KA0F3B,6BAAA,GAAgC,KAC1C;;;;iBAOc,wBAAA,QAAgC,gCAA6B;;;;iBAse7D,cAAA,CAAA,GAAc"}
1
+ {"version":3,"file":"console-builtin.d.mts","names":[],"sources":["../../src/components/console-builtin.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AA+EA;AAwpCgB,iBAxpCA,iBAAA,CAAA,CAwpC4B,EAxpCX,QAwpCW;AAuJ5C;;;AAA8C,iBAvJ9B,4BAAA,CAAA,CAuJ8B,EAvJF,QAuJE;AAYnC,KAZC,+BAAA,GAAkC,OAYnC,CAXT,IAWS,CAXJ,wBAWI,EAAA,YAAA,CAAA,CAAA,GAAA;EAGA,IAAA,EAAA,SAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GAAA,SAAA,GAAA,MAAA,GAAA,QAAA,GAAA,OAAA;EAAQ,OAAA,EAHR,mBAGQ;EAOH,aAAA,EAAA,KAAA,GAAA,MAA0B,GAAA,MAAA,GACjC,OAAA,GAAA,OAAA;EA0KO,WAAA,EAAA,MAAgB;EA4EhB,MAAA,CAAA,EA9PL,QA8PK;EAmCA,SAAA,CAAA,EAAA,OAAA;AAsFhB,CAAA;AA0FA;AAQA;AAseA;iBAx7BgB,0BAAA,QACP,kCAA+B;;;;iBA0KxB,gBAAA,CAAA,GAAgB;;;;iBA4EhB,4BAAA,CAAA,GAA4B;;;;iBAmC5B,0BAAA,CAAA,GAA0B;;;;iBAsF1B,uBAAA,CAAA,GAAuB;;;;KA0F3B,6BAAA,GAAgC,KAC1C;;;;iBAOc,wBAAA,QAAgC,gCAA6B;;;;iBAse7D,cAAA,CAAA,GAAc"}
@@ -1,12 +1,9 @@
1
1
  import { useColors, useTheme } from "../contexts/theme.mjs";
2
2
  import { createComponent, createIntrinsic, memo, mergeProps } from "@alloy-js/core/jsx-runtime";
3
- import { For, Show, code, computed } from "@alloy-js/core";
3
+ import { For, Show, code } from "@alloy-js/core";
4
4
  import { ElseClause, FunctionDeclaration, IfStatement, InterfaceDeclaration, InterfaceMember, TypeDeclaration, VarDeclaration } from "@alloy-js/typescript";
5
- import { getAppDescription, getAppTitle } from "@shell-shock/core/plugin-utils/context-helpers";
6
- import { usePowerlines } from "@powerlines/plugin-alloy/core/contexts/context";
7
5
  import { TSDoc, TSDocDefaultValue, TSDocExample, TSDocParam, TSDocRemarks, TSDocReturns } from "@powerlines/plugin-alloy/typescript/components/tsdoc";
8
6
  import { ReflectionKind } from "@powerlines/deepkit/vendor/type";
9
- import { useCommand } from "@shell-shock/core/contexts/command";
10
7
  import { BuiltinFile } from "@powerlines/plugin-alloy/typescript/components/builtin-file";
11
8
  import { getIndefiniteArticle } from "@stryke/string-format/vowels";
12
9
 
@@ -1123,6 +1120,7 @@ function WriteLineFunctionDeclaration() {
1123
1120
  }
1124
1121
  }),
1125
1122
  createComponent(FunctionDeclaration, {
1123
+ "export": true,
1126
1124
  name: "splitText",
1127
1125
  parameters: [{
1128
1126
  name: "text",
@@ -1135,10 +1133,12 @@ function WriteLineFunctionDeclaration() {
1135
1133
  let line = text;
1136
1134
  let result = [] as string[];
1137
1135
 
1138
- while (stripAnsi(line).length > maxLength) {
1139
- if (line.indexOf("\\n") !== -1 && stripAnsi(line).indexOf("\\n") <= maxLength) {
1140
- result.push(line.slice(0, line.indexOf("\\n")));
1141
- line = line.slice(line.indexOf("\\n") + 1);
1136
+ while (stripAnsi(line).length > maxLength || line.indexOf("\\n") !== -1) {
1137
+ if (line.indexOf("\\n") !== -1) {
1138
+ result.push(...splitText(line.slice(0, line.indexOf("\\n")).replace(/\\n/, ""), maxLength));
1139
+ line = line.indexOf("\\n") + 1 < line.length
1140
+ ? line.slice(line.indexOf("\\n") + 1)
1141
+ : "";
1142
1142
  } else {
1143
1143
  const index = [" ", "/", "\\\\", ".", ",", "-", ":", "|", "@", "+"].reduce((ret, split) => {
1144
1144
  let current = ret;
@@ -1162,10 +1162,7 @@ function WriteLineFunctionDeclaration() {
1162
1162
  line = line.slice(maxLength + 1);
1163
1163
  }
1164
1164
 
1165
- if (line.length > 0) {
1166
- result.push(line);
1167
- }
1168
-
1165
+ result.push(line);
1169
1166
  return result;
1170
1167
  `
1171
1168
  }),
@@ -1315,68 +1312,19 @@ function MessageFunctionDeclaration(props) {
1315
1312
  }
1316
1313
 
1317
1314
  ${!theme.labels.message.footer[variant] && timestamp ? `const timestamp = \`\${colors.text.message.footer.${variant}(new Date().toLocaleDateString())} \${colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].bottom}")} \${colors.text.message.footer.${variant}(new Date().toLocaleTimeString())}\`; ` : ""}
1318
- writeLine(colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].topLeft}") + ${theme.labels.message.header[variant] || theme.icons.message.header[variant] ? `colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].top}".repeat(4)) + " " + ${theme.icons.message.header[variant] ? `colors.border.message.outline.${variant}("${theme.icons.message.header[variant]}") + " " +` : ""} colors.text.message.header.${variant}("${theme.labels.message.header[variant]}") + " " + colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].top}".repeat(Math.max(process.stdout.columns - ${Math.max(theme.padding.app, 0) * 2 + 4 + (theme.icons.message.header[variant] ? theme.icons.message.header[variant].length + 1 + (theme.labels.message.header[variant] ? 0 : 1) : 0) + (theme.labels.message.header[variant] ? theme.labels.message.header[variant].length + 2 : 0) + theme.borderStyles.message.outline[variant].topLeft.length + theme.borderStyles.message.outline[variant].topRight.length}, 0)))` : `colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].top}".repeat(Math.max(process.stdout.columns - ${Math.max(theme.padding.app, 0) * 2 + theme.borderStyles.message.outline[variant].topLeft.length + theme.borderStyles.message.outline[variant].topRight.length}, 0)))`} + colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].topRight}"), { consoleFn: console.${consoleFnName} });
1315
+ writeLine(colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].topLeft}") + ${theme.labels.message.header[variant] || theme.icons.message.header[variant] ? `colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].top}".repeat(4)) + " " + ${theme.icons.message.header[variant] ? `colors.border.message.outline.${variant}("${theme.icons.message.header[variant]}") + " " +` : ""} colors.bold(colors.text.message.header.${variant}("${theme.labels.message.header[variant]}")) + " " + colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].top}".repeat(Math.max(process.stdout.columns - ${Math.max(theme.padding.app, 0) * 2 + 4 + (theme.icons.message.header[variant] ? theme.icons.message.header[variant].length + 1 + (theme.labels.message.header[variant] ? 0 : 1) : 0) + (theme.labels.message.header[variant] ? theme.labels.message.header[variant].length + 2 : 0) + theme.borderStyles.message.outline[variant].topLeft.length + theme.borderStyles.message.outline[variant].topRight.length}, 0)))` : `colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].top}".repeat(Math.max(process.stdout.columns - ${Math.max(theme.padding.app, 0) * 2 + theme.borderStyles.message.outline[variant].topLeft.length + theme.borderStyles.message.outline[variant].topRight.length}, 0)))`} + colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].topRight}"), { consoleFn: console.${consoleFnName} });
1319
1316
  splitText(
1320
1317
  message,
1321
1318
  Math.max(process.stdout.columns - ${(Math.max(theme.padding.app, 0) + Math.max(theme.padding.message, 0)) * 2 + theme.borderStyles.message.outline[variant].left.length + theme.borderStyles.message.outline[variant].right.length}, 0)
1322
1319
  ).forEach((line) => {
1323
1320
  writeLine(colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].left + " ".repeat(Math.max(theme.padding.message, 0))}") + colors.text.message.description.${variant}(line) + " ".repeat(Math.max(process.stdout.columns - (stripAnsi(line).length + ${Math.max(theme.padding.app, 0) * 2 + Math.max(theme.padding.message, 0) + theme.borderStyles.message.outline[variant].left.length + theme.borderStyles.message.outline[variant].right.length}), 0)) + colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].right}"), { consoleFn: console.${consoleFnName} });
1324
1321
  });
1325
- writeLine(colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].bottomLeft}") + ${theme.labels.message.footer[variant] || timestamp ? `colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].bottom}".repeat(Math.max(process.stdout.columns - ${Math.max(theme.padding.app, 0) * 2 + 4 + (theme.labels.message.footer[variant] ? theme.labels.message.footer[variant].length + 2 : 0) + theme.borderStyles.message.outline[variant].bottomLeft.length + theme.borderStyles.message.outline[variant].bottomRight.length}${!theme.labels.message.footer[variant] && timestamp ? " - (stripAnsi(timestamp).length + 2)" : ""}, 0))) + " " + ${theme.labels.message.footer[variant] ? `colors.text.message.footer.${variant}("${theme.labels.message.footer[variant]}")` : timestamp && "timestamp"} + " " + colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].bottom}".repeat(4))` : `colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].bottom}".repeat(Math.max(process.stdout.columns - ${Math.max(theme.padding.app, 0) * 2 + theme.borderStyles.message.outline[variant].bottomLeft.length + theme.borderStyles.message.outline[variant].bottomRight.length}, 0)))`} + colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].bottomRight}"), { consoleFn: console.${consoleFnName} });
1322
+ writeLine(colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].bottomLeft}") + ${theme.labels.message.footer[variant] || timestamp ? `colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].bottom}".repeat(Math.max(process.stdout.columns - ${Math.max(theme.padding.app, 0) * 2 + 4 + (theme.labels.message.footer[variant] ? theme.labels.message.footer[variant].length + 2 : 0) + theme.borderStyles.message.outline[variant].bottomLeft.length + theme.borderStyles.message.outline[variant].bottomRight.length}${!theme.labels.message.footer[variant] && timestamp ? " - (stripAnsi(timestamp).length + 2)" : ""}, 0))) + " " + ${`colors.bold(colors.text.message.footer.${variant}(${theme.labels.message.footer[variant] ? `"${theme.labels.message.footer[variant]}"` : timestamp && "timestamp"}))`} + " " + colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].bottom}".repeat(4))` : `colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].bottom}".repeat(Math.max(process.stdout.columns - ${Math.max(theme.padding.app, 0) * 2 + theme.borderStyles.message.outline[variant].bottomLeft.length + theme.borderStyles.message.outline[variant].bottomRight.length}, 0)))`} + colors.border.message.outline.${variant}("${theme.borderStyles.message.outline[variant].bottomRight}"), { consoleFn: console.${consoleFnName} });
1326
1323
  `)];
1327
1324
  }
1328
1325
  })];
1329
1326
  }
1330
1327
  /**
1331
- * A component to generate the `banner` function in the `shell-shock:console` builtin module.
1332
- */
1333
- function BannerFunctionDeclaration(props) {
1334
- const { consoleFnName = "log", variant = "primary", title: titleProp } = props;
1335
- const theme = useTheme();
1336
- const context = usePowerlines();
1337
- const command = useCommand();
1338
- const header = computed(() => `${theme.labels.banner.header[variant] || getAppTitle(context)} v${context.packageJson.version || "1.0.0"}`);
1339
- const description = computed(() => command?.description || getAppDescription(context));
1340
- const footer = computed(() => theme.labels.banner.footer[variant]);
1341
- const title = computed(() => titleProp || /(?:cli|command-line|command line)\s+(?:application|app)?$/.test(header.value.toLowerCase()) ? header.value.replace(`v${context.packageJson.version || "1.0.0"}`, "").trim() : `${header.value.replace(`v${context.packageJson.version || "1.0.0"}`, "").trim()} Command-Line Application`);
1342
- const bannerPadding = computed(() => Math.max(theme.padding.app, 0) * 2 + theme.borderStyles.banner.outline[variant].left.length + theme.borderStyles.banner.outline[variant].right.length);
1343
- const totalPadding = computed(() => Math.max(theme.padding.banner, 0) * 2 + bannerPadding.value);
1344
- return [createComponent(FunctionDeclaration, {
1345
- "export": true,
1346
- name: "banner",
1347
- doc: "Write the application banner to the console.",
1348
- get children() {
1349
- return code`
1350
- if (hasFlag("no-banner") || hasFlag("hide-banner") || isCI || isMinimal) {
1351
- return;
1352
- }
1353
-
1354
- 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(4)) + " " + ${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.text.banner.header.${variant}("${header.value}") + " " + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].top}".repeat(Math.max(process.stdout.columns - ${4 + (theme.icons.banner.header[variant] ? theme.icons.banner.header[variant].length + 3 : 0) + (header.value ? header.value.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} });
1355
-
1356
- splitText(
1357
- colors.text.banner.title.${variant}("${title.value}"),
1358
- Math.max(process.stdout.columns - ${totalPadding.value}, 0)
1359
- ).forEach((line) => {
1360
- 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} });
1361
- });
1362
-
1363
- ${command?.title ? `writeLine(colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottomLeft}") + " ".repeat(Math.max(process.stdout.columns - ${bannerPadding.value})) + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottomRight}"), { consoleFn: console.${consoleFnName} });
1364
-
1365
- 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.command.${variant}("${command.title}") + " ".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} }); ` : ""}
1366
-
1367
- splitText(
1368
- ${command?.title ? "colors.text.banner.description" : "colors.text.banner.command"}.${variant}("${description.value.replace(/"/g, "\\\"")}"),
1369
- Math.max(process.stdout.columns - ${totalPadding.value}, 0)
1370
- ).forEach((line) => {
1371
- 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} });
1372
- });
1373
-
1374
- writeLine(colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottomLeft}") + ${footer.value ? `colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottom}".repeat(Math.max(process.stdout.columns - ${6 + (footer.value ? footer.value.length : 0) + bannerPadding.value}, 0))) + " " + ${footer.value ? `colors.text.banner.footer.${variant}("${footer.value}")` : ""} + " " + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottom}".repeat(4))` : `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} });
1375
- `;
1376
- }
1377
- })];
1378
- }
1379
- /**
1380
1328
  * A component to generate the `wrapAnsi` function in the `shell-shock:console` builtin module.
1381
1329
  */
1382
1330
  function WrapAnsiFunction() {
@@ -2187,9 +2135,6 @@ function ConsoleBuiltin() {
2187
2135
  createComponent(DividerFunctionDeclaration, {}),
2188
2136
  createIntrinsic("hbr", {}),
2189
2137
  createIntrinsic("hbr", {}),
2190
- createComponent(BannerFunctionDeclaration, {}),
2191
- createIntrinsic("hbr", {}),
2192
- createIntrinsic("hbr", {}),
2193
2138
  createComponent(MessageFunctionDeclaration, {
2194
2139
  type: "help",
2195
2140
  variant: "help",
@@ -2304,5 +2249,5 @@ function ConsoleBuiltin() {
2304
2249
  }
2305
2250
 
2306
2251
  //#endregion
2307
- export { BannerFunctionDeclaration, ColorsDeclaration, ConsoleBuiltin, DividerFunctionDeclaration, LinkFunctionDeclaration, MessageFunctionDeclaration, StripAnsiFunctionDeclaration, TableFunctionDeclaration, WrapAnsiFunction, WriteLineFunctionDeclaration };
2252
+ export { ColorsDeclaration, ConsoleBuiltin, DividerFunctionDeclaration, LinkFunctionDeclaration, MessageFunctionDeclaration, StripAnsiFunctionDeclaration, TableFunctionDeclaration, WrapAnsiFunction, WriteLineFunctionDeclaration };
2308
2253
  //# sourceMappingURL=console-builtin.mjs.map