@shell-shock/preset-cli 0.8.17 → 0.8.19
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 +3 -3
- package/dist/components/command-entry.mjs +3 -3
- package/dist/components/command-router.cjs +1 -1
- package/dist/components/command-router.mjs +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 +8 -5
- package/dist/plugin-banner/dist/components/banner-function-declaration.mjs +8 -5
- 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 +20 -8
- package/dist/plugin-help/dist/components/display.mjs +20 -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
|
@@ -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,12 @@ 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
|
+
let _stryke_string_format_camel_case = require("@stryke/string-format/camel-case");
|
|
10
11
|
let _stryke_string_format_kebab_case = require("@stryke/string-format/kebab-case");
|
|
11
12
|
let _stryke_string_format_snake_case = require("@stryke/string-format/snake-case");
|
|
12
13
|
|
|
@@ -25,7 +26,7 @@ function HelpUsageDisplay(props) {
|
|
|
25
26
|
hardline: true,
|
|
26
27
|
children: (bin) => [(0, _alloy_js_core_jsx_runtime.memo)(() => _alloy_js_core.code`
|
|
27
28
|
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} }
|
|
29
|
+
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
30
|
);`), (0, _alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {})]
|
|
30
31
|
}), (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
31
32
|
get when() {
|
|
@@ -157,6 +158,17 @@ function BaseHelpDisplay(props) {
|
|
|
157
158
|
})
|
|
158
159
|
];
|
|
159
160
|
}
|
|
161
|
+
function sortCommands(commands) {
|
|
162
|
+
return Object.values(commands).sort((a, b) => {
|
|
163
|
+
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() === "deprecated") && b.tags.some((tag) => tag.toLowerCase() === "deprecated")) 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() === "experimental") && b.tags.some((tag) => tag.toLowerCase() === "experimental")) return -1;
|
|
167
|
+
else if (a.tags.some((tag) => tag.toLowerCase() === "utility") && !b.tags.some((tag) => tag.toLowerCase() === "utility")) return 1;
|
|
168
|
+
else if (!a.tags.some((tag) => tag.toLowerCase() === "utility") && b.tags.some((tag) => tag.toLowerCase() === "utility")) return -1;
|
|
169
|
+
return a.name.localeCompare(b.name);
|
|
170
|
+
});
|
|
171
|
+
}
|
|
160
172
|
/**
|
|
161
173
|
* A component that generates the invocation of the `help` function for a command.
|
|
162
174
|
*/
|
|
@@ -181,14 +193,14 @@ function VirtualCommandHelpDisplay(props) {
|
|
|
181
193
|
(0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
|
|
182
194
|
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.For, {
|
|
183
195
|
get each() {
|
|
184
|
-
return
|
|
196
|
+
return sortCommands(commands);
|
|
185
197
|
},
|
|
186
198
|
doubleHardline: true,
|
|
187
199
|
joiner: _alloy_js_core.code`writeLine(""); `,
|
|
188
200
|
ender: _alloy_js_core.code`writeLine(""); `,
|
|
189
201
|
children: (child) => [
|
|
190
202
|
(0, _alloy_js_core_jsx_runtime.memo)(() => _alloy_js_core.code`
|
|
191
|
-
writeLine(colors.text.heading.primary(${child.icon ? `(isUnicodeSupported ? " ${child.icon} " : "") + ` : ""}
|
|
203
|
+
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.body.tertiary(colors.text.tags.${(0, _stryke_string_format_camel_case.camelCase)(tag)} ? colors.text.tags.${(0, _stryke_string_format_camel_case.camelCase)(tag)}(" ${tag} ", true) : colors.text.tags.$default(" ${tag} ", true))}`).join(" ")}` : ""}\`);
|
|
192
204
|
writeLine("");
|
|
193
205
|
writeLine(colors.text.body.secondary(splitText(\`${(0, _shell_shock_core_plugin_utils.formatDescription)(child.description).replace(/\.+$/, "").trim()}.\`)));
|
|
194
206
|
writeLine("");
|
|
@@ -235,14 +247,14 @@ function CommandHelpDisplay(props) {
|
|
|
235
247
|
(0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
|
|
236
248
|
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.For, {
|
|
237
249
|
get each() {
|
|
238
|
-
return
|
|
250
|
+
return sortCommands(command.children);
|
|
239
251
|
},
|
|
240
252
|
doubleHardline: true,
|
|
241
253
|
joiner: _alloy_js_core.code`writeLine(""); `,
|
|
242
254
|
ender: _alloy_js_core.code`writeLine(""); `,
|
|
243
255
|
children: (child) => [
|
|
244
256
|
(0, _alloy_js_core_jsx_runtime.memo)(() => _alloy_js_core.code`
|
|
245
|
-
writeLine(colors.text.heading.primary(${child.icon ? `(isUnicodeSupported ? " ${child.icon} " : "") + ` : ""}
|
|
257
|
+
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.body.tertiary(colors.text.tags.${(0, _stryke_string_format_camel_case.camelCase)(tag)} ? colors.text.tags.${(0, _stryke_string_format_camel_case.camelCase)(tag)}(" ${tag} ", true) : colors.text.tags.$default(" ${tag} ", true))}`).join(" ")}` : ""}\`);
|
|
246
258
|
writeLine("");
|
|
247
259
|
writeLine(colors.text.body.secondary(splitText(\`${(0, _shell_shock_core_plugin_utils.formatDescription)(child.description).replace(/\.+$/, "").trim()}.\`)));
|
|
248
260
|
writeLine("");
|
|
@@ -1,11 +1,12 @@
|
|
|
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
|
+
import { camelCase } from "@stryke/string-format/camel-case";
|
|
9
10
|
import { kebabCase } from "@stryke/string-format/kebab-case";
|
|
10
11
|
import { snakeCase } from "@stryke/string-format/snake-case";
|
|
11
12
|
|
|
@@ -24,7 +25,7 @@ function HelpUsageDisplay(props) {
|
|
|
24
25
|
hardline: true,
|
|
25
26
|
children: (bin) => [memo(() => code`
|
|
26
27
|
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} }
|
|
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.${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
29
|
);`), createIntrinsic("hbr", {})]
|
|
29
30
|
}), createComponent(Show, {
|
|
30
31
|
get when() {
|
|
@@ -156,6 +157,17 @@ function BaseHelpDisplay(props) {
|
|
|
156
157
|
})
|
|
157
158
|
];
|
|
158
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
|
+
}
|
|
159
171
|
/**
|
|
160
172
|
* A component that generates the invocation of the `help` function for a command.
|
|
161
173
|
*/
|
|
@@ -180,14 +192,14 @@ function VirtualCommandHelpDisplay(props) {
|
|
|
180
192
|
createComponent(Spacing, {}),
|
|
181
193
|
createComponent(For, {
|
|
182
194
|
get each() {
|
|
183
|
-
return
|
|
195
|
+
return sortCommands(commands);
|
|
184
196
|
},
|
|
185
197
|
doubleHardline: true,
|
|
186
198
|
joiner: code`writeLine(""); `,
|
|
187
199
|
ender: code`writeLine(""); `,
|
|
188
200
|
children: (child) => [
|
|
189
201
|
memo(() => code`
|
|
190
|
-
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.body.tertiary(colors.text.tags.${camelCase(tag)} ? colors.text.tags.${camelCase(tag)}(" ${tag} ", true) : colors.text.tags.$default(" ${tag} ", true))}`).join(" ")}` : ""}\`);
|
|
191
203
|
writeLine("");
|
|
192
204
|
writeLine(colors.text.body.secondary(splitText(\`${formatDescription(child.description).replace(/\.+$/, "").trim()}.\`)));
|
|
193
205
|
writeLine("");
|
|
@@ -234,14 +246,14 @@ function CommandHelpDisplay(props) {
|
|
|
234
246
|
createComponent(Spacing, {}),
|
|
235
247
|
createComponent(For, {
|
|
236
248
|
get each() {
|
|
237
|
-
return
|
|
249
|
+
return sortCommands(command.children);
|
|
238
250
|
},
|
|
239
251
|
doubleHardline: true,
|
|
240
252
|
joiner: code`writeLine(""); `,
|
|
241
253
|
ender: code`writeLine(""); `,
|
|
242
254
|
children: (child) => [
|
|
243
255
|
memo(() => code`
|
|
244
|
-
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.body.tertiary(colors.text.tags.${camelCase(tag)} ? colors.text.tags.${camelCase(tag)}(" ${tag} ", true) : colors.text.tags.$default(" ${tag} ", true))}`).join(" ")}` : ""}\`);
|
|
245
257
|
writeLine("");
|
|
246
258
|
writeLine(colors.text.body.secondary(splitText(\`${formatDescription(child.description).replace(/\.+$/, "").trim()}.\`)));
|
|
247
259
|
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 { camelCase } from \"@stryke/string-format/camel-case\";\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.body.tertiary(colors.text.tags.${camelCase(tag)} ? colors.text.tags.${camelCase(tag)}(\" ${tag} \", true) : colors.text.tags.$default(\" ${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.body.tertiary(colors.text.tags.${camelCase(tag)} ? colors.text.tags.${camelCase(tag)}(\" ${tag} \", true) : colors.text.tags.$default(\" ${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
|
/**
|
|
@@ -3,12 +3,12 @@ import { createComponent, memo, mergeProps } from "@alloy-js/core/jsx-runtime";
|
|
|
3
3
|
import { Show, code, splitProps } from "@alloy-js/core";
|
|
4
4
|
import { FunctionDeclaration, IfStatement } from "@alloy-js/typescript";
|
|
5
5
|
import { getAppTitle, isDynamicPathSegment } from "@shell-shock/core/plugin-utils";
|
|
6
|
-
import { Spacing } from "@powerlines/plugin-alloy/core/components/spacing";
|
|
7
6
|
import { usePowerlines } from "@powerlines/plugin-alloy/core/contexts/context";
|
|
8
|
-
import
|
|
9
|
-
import "@powerlines/plugin-alloy/typescript";
|
|
7
|
+
import { Spacing } from "@powerlines/plugin-alloy/core/components/spacing";
|
|
10
8
|
import { BuiltinFile } from "@powerlines/plugin-alloy/typescript/components/builtin-file";
|
|
11
9
|
import { joinPaths } from "@stryke/path";
|
|
10
|
+
import defu from "defu";
|
|
11
|
+
import "@powerlines/plugin-alloy/typescript";
|
|
12
12
|
|
|
13
13
|
//#region ../plugin-help/dist/components/help-builtin.mjs
|
|
14
14
|
/**
|
|
@@ -3,8 +3,8 @@ 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 _alloy_js_typescript = require("@alloy-js/typescript");
|
|
5
5
|
let _powerlines_plugin_alloy_core_contexts_context = require("@powerlines/plugin-alloy/core/contexts/context");
|
|
6
|
-
let _powerlines_plugin_alloy_typescript = require("@powerlines/plugin-alloy/typescript");
|
|
7
6
|
let _stryke_path = require("@stryke/path");
|
|
7
|
+
let _powerlines_plugin_alloy_typescript = require("@powerlines/plugin-alloy/typescript");
|
|
8
8
|
let _powerlines_deepkit_vendor_type = require("@powerlines/deepkit/vendor/type");
|
|
9
9
|
let _powerlines_plugin_alloy_core = require("@powerlines/plugin-alloy/core");
|
|
10
10
|
let _powerlines_plugin_alloy_typescript_components_tsdoc = require("@powerlines/plugin-alloy/typescript/components/tsdoc");
|
|
@@ -2,8 +2,8 @@ import { createComponent } from "@alloy-js/core/jsx-runtime";
|
|
|
2
2
|
import { code } from "@alloy-js/core";
|
|
3
3
|
import { FunctionDeclaration, InterfaceDeclaration } from "@alloy-js/typescript";
|
|
4
4
|
import { usePowerlines } from "@powerlines/plugin-alloy/core/contexts/context";
|
|
5
|
-
import { InterfaceMember, TypescriptFile } from "@powerlines/plugin-alloy/typescript";
|
|
6
5
|
import { joinPaths } from "@stryke/path";
|
|
6
|
+
import { InterfaceMember, TypescriptFile } from "@powerlines/plugin-alloy/typescript";
|
|
7
7
|
import { ReflectionKind } from "@powerlines/deepkit/vendor/type";
|
|
8
8
|
import { Spacing } from "@powerlines/plugin-alloy/core";
|
|
9
9
|
import { TSDoc, TSDocDefaultValue, TSDocRemarks } from "@powerlines/plugin-alloy/typescript/components/tsdoc";
|
|
@@ -7,14 +7,14 @@ let _alloy_js_core = require("@alloy-js/core");
|
|
|
7
7
|
let _powerlines_plugin_alloy_core_components = require("@powerlines/plugin-alloy/core/components");
|
|
8
8
|
let _powerlines_plugin_alloy_render = require("@powerlines/plugin-alloy/render");
|
|
9
9
|
let _shell_shock_core_plugin_utils = require("@shell-shock/core/plugin-utils");
|
|
10
|
-
let _shell_shock_plugin_console = require("@shell-shock/plugin-console");
|
|
11
|
-
_shell_shock_plugin_console = require_runtime.__toESM(_shell_shock_plugin_console);
|
|
12
|
-
let _stryke_type_checks_is_set_string = require("@stryke/type-checks/is-set-string");
|
|
13
10
|
let defu = require("defu");
|
|
14
11
|
defu = require_runtime.__toESM(defu);
|
|
12
|
+
let _shell_shock_plugin_console = require("@shell-shock/plugin-console");
|
|
13
|
+
_shell_shock_plugin_console = require_runtime.__toESM(_shell_shock_plugin_console);
|
|
15
14
|
let _shell_shock_plugin_theme = require("@shell-shock/plugin-theme");
|
|
16
15
|
_shell_shock_plugin_theme = require_runtime.__toESM(_shell_shock_plugin_theme);
|
|
17
16
|
let _stryke_path_join = require("@stryke/path/join");
|
|
17
|
+
let _stryke_type_checks_is_set_string = require("@stryke/type-checks/is-set-string");
|
|
18
18
|
|
|
19
19
|
//#region ../plugin-help/dist/index.mjs
|
|
20
20
|
/**
|
|
@@ -41,7 +41,8 @@ const plugin = (options = {}) => {
|
|
|
41
41
|
path: this.config.help.command.name,
|
|
42
42
|
segments: [this.config.help.command.name],
|
|
43
43
|
title: "Help",
|
|
44
|
-
icon: "
|
|
44
|
+
icon: "🛈",
|
|
45
|
+
tags: ["Utility"],
|
|
45
46
|
description: `A command for displaying help information to assist in using the ${(0, _shell_shock_core_plugin_utils.getAppTitle)(this, true)} command-line interface application.`,
|
|
46
47
|
entry: {
|
|
47
48
|
file: (0, _stryke_path_join.joinPaths)(this.entryPath, "help", "index.ts"),
|
|
@@ -68,6 +69,7 @@ const plugin = (options = {}) => {
|
|
|
68
69
|
path: null,
|
|
69
70
|
segments: [],
|
|
70
71
|
alias: [],
|
|
72
|
+
tags: [],
|
|
71
73
|
options: Object.fromEntries(this.options.map((option) => [option.name, option])),
|
|
72
74
|
entry: { file: (0, _stryke_path_join.joinPaths)(this.entryPath, "bin.ts") },
|
|
73
75
|
args: [],
|
|
@@ -6,11 +6,11 @@ import { For, Show, computed } from "@alloy-js/core";
|
|
|
6
6
|
import { Spacing } from "@powerlines/plugin-alloy/core/components";
|
|
7
7
|
import { render } from "@powerlines/plugin-alloy/render";
|
|
8
8
|
import { getAppDescription, getAppName, getAppTitle, getCommandList } from "@shell-shock/core/plugin-utils";
|
|
9
|
-
import console from "@shell-shock/plugin-console";
|
|
10
|
-
import { isSetString } from "@stryke/type-checks/is-set-string";
|
|
11
9
|
import defu from "defu";
|
|
10
|
+
import console from "@shell-shock/plugin-console";
|
|
12
11
|
import theme from "@shell-shock/plugin-theme";
|
|
13
12
|
import { joinPaths } from "@stryke/path/join";
|
|
13
|
+
import { isSetString } from "@stryke/type-checks/is-set-string";
|
|
14
14
|
|
|
15
15
|
//#region ../plugin-help/dist/index.mjs
|
|
16
16
|
/**
|
|
@@ -37,7 +37,8 @@ const plugin = (options = {}) => {
|
|
|
37
37
|
path: this.config.help.command.name,
|
|
38
38
|
segments: [this.config.help.command.name],
|
|
39
39
|
title: "Help",
|
|
40
|
-
icon: "
|
|
40
|
+
icon: "🛈",
|
|
41
|
+
tags: ["Utility"],
|
|
41
42
|
description: `A command for displaying help information to assist in using the ${getAppTitle(this, true)} command-line interface application.`,
|
|
42
43
|
entry: {
|
|
43
44
|
file: joinPaths(this.entryPath, "help", "index.ts"),
|
|
@@ -64,6 +65,7 @@ const plugin = (options = {}) => {
|
|
|
64
65
|
path: null,
|
|
65
66
|
segments: [],
|
|
66
67
|
alias: [],
|
|
68
|
+
tags: [],
|
|
67
69
|
options: Object.fromEntries(this.options.map((option) => [option.name, option])),
|
|
68
70
|
entry: { file: joinPaths(this.entryPath, "bin.ts") },
|
|
69
71
|
args: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../plugin-help/dist/index.mjs"],"sourcesContent":["import { HelpBuiltin } from \"./components/help-builtin.mjs\";\nimport { HelpCommand } from \"./components/help-command.mjs\";\nimport \"./components/index.mjs\";\nimport { createComponent } from \"@alloy-js/core/jsx-runtime\";\nimport { For, Show, 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\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport defu from \"defu\";\n\n//#region src/index.tsx\n/**\n* The Help - Shell Shock plugin to add a help 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:help\",\n\t\t\tenforce: \"post\",\n\t\t\tconfig() {\n\t\t\t\tthis.debug(\"Providing default configuration for the Shell Shock `help` plugin.\");\n\t\t\t\treturn { help: defu({ command: options.command === false ? false : isSetString(options.command) ? { name: options.command } : { name: \"help\" } }, options, { builtins: true }) };\n\t\t\t},\n\t\t\tasync configResolved() {\n\t\t\t\tthis.debug(\"Adding the Help command to the application context.\");\n\t\t\t\tif (this.config.help.command !== false) {\n\t\t\t\t\tthis.inputs ??= [];\n\t\t\t\t\tif (this.inputs.some((input) => input.name === this.config.help.command.name)) this.info(\"The `help` command already exists in the commands list. If you would like the help command to be managed by the `@shell-shock/plugin-help` package, please remove or rename the command.\");\n\t\t\t\t\telse this.inputs.push({\n\t\t\t\t\t\tid: this.config.help.command.name,\n\t\t\t\t\t\tpath: this.config.help.command.name,\n\t\t\t\t\t\tsegments: [this.config.help.command.name],\n\t\t\t\t\t\ttitle: \"Help\",\n\t\t\t\t\t\ticon: \"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../plugin-help/dist/index.mjs"],"sourcesContent":["import { HelpBuiltin } from \"./components/help-builtin.mjs\";\nimport { HelpCommand } from \"./components/help-command.mjs\";\nimport \"./components/index.mjs\";\nimport { createComponent } from \"@alloy-js/core/jsx-runtime\";\nimport { For, Show, 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\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport defu from \"defu\";\n\n//#region src/index.tsx\n/**\n* The Help - Shell Shock plugin to add a help 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:help\",\n\t\t\tenforce: \"post\",\n\t\t\tconfig() {\n\t\t\t\tthis.debug(\"Providing default configuration for the Shell Shock `help` plugin.\");\n\t\t\t\treturn { help: defu({ command: options.command === false ? false : isSetString(options.command) ? { name: options.command } : { name: \"help\" } }, options, { builtins: true }) };\n\t\t\t},\n\t\t\tasync configResolved() {\n\t\t\t\tthis.debug(\"Adding the Help command to the application context.\");\n\t\t\t\tif (this.config.help.command !== false) {\n\t\t\t\t\tthis.inputs ??= [];\n\t\t\t\t\tif (this.inputs.some((input) => input.name === this.config.help.command.name)) this.info(\"The `help` command already exists in the commands list. If you would like the help command to be managed by the `@shell-shock/plugin-help` package, please remove or rename the command.\");\n\t\t\t\t\telse this.inputs.push({\n\t\t\t\t\t\tid: this.config.help.command.name,\n\t\t\t\t\t\tpath: this.config.help.command.name,\n\t\t\t\t\t\tsegments: [this.config.help.command.name],\n\t\t\t\t\t\ttitle: \"Help\",\n\t\t\t\t\t\ticon: \"🛈\",\n\t\t\t\t\t\ttags: [\"Utility\"],\n\t\t\t\t\t\tdescription: `A command for displaying help information to assist in using the ${getAppTitle(this, true)} command-line interface application.`,\n\t\t\t\t\t\tentry: {\n\t\t\t\t\t\t\tfile: joinPaths(this.entryPath, \"help\", \"index.ts\"),\n\t\t\t\t\t\t\tinput: { file: joinPaths(this.entryPath, \"help\", \"command.ts\") }\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisVirtual: false,\n\t\t\t\t\t\t...this.config.help.command\n\t\t\t\t\t});\n\t\t\t\t\tawait render(this, createComponent(HelpCommand, {}));\n\t\t\t\t}\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 _self$ = this;\n\t\t\t\t\tconst commands = await getCommandList(this);\n\t\t\t\t\tthis.debug(`Rendering \\`help\\` 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, [createComponent(Show, {\n\t\t\t\t\t\tget when() {\n\t\t\t\t\t\t\treturn _self$.config.help.builtins !== false;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tget children() {\n\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\tcreateComponent(HelpBuiltin, { get command() {\n\t\t\t\t\t\t\t\t\treturn bin.value;\n\t\t\t\t\t\t\t\t} }),\n\t\t\t\t\t\t\t\tcreateComponent(Spacing, {}),\n\t\t\t\t\t\t\t\tcreateComponent(For, {\n\t\t\t\t\t\t\t\t\tget each() {\n\t\t\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\t\t},\n\t\t\t\t\t\t\t\t\tdoubleHardline: true,\n\t\t\t\t\t\t\t\t\tchildren: (command) => createComponent(HelpBuiltin, { command })\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t];\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":";;;;;;;;;;;;;;;;;;AAkBA,MAAM,UAAU,UAAU,EAAE,KAAK;AAChC,QAAO;EACN,GAAG,MAAM,QAAQ,MAAM;EACvB,QAAQ,QAAQ,QAAQ;EACxB;GACC,MAAM;GACN,SAAS;GACT,SAAS;AACR,SAAK,MAAM,qEAAqE;AAChF,WAAO,EAAE,MAAM,KAAK,EAAE,SAAS,QAAQ,YAAY,QAAQ,QAAQ,YAAY,QAAQ,QAAQ,GAAG,EAAE,MAAM,QAAQ,SAAS,GAAG,EAAE,MAAM,QAAQ,EAAE,EAAE,SAAS,EAAE,UAAU,MAAM,CAAC,EAAE;;GAEjL,MAAM,iBAAiB;AACtB,SAAK,MAAM,sDAAsD;AACjE,QAAI,KAAK,OAAO,KAAK,YAAY,OAAO;AACvC,UAAK,WAAW,EAAE;AAClB,SAAI,KAAK,OAAO,MAAM,UAAU,MAAM,SAAS,KAAK,OAAO,KAAK,QAAQ,KAAK,CAAE,MAAK,KAAK,2LAA2L;SAC/Q,MAAK,OAAO,KAAK;MACrB,IAAI,KAAK,OAAO,KAAK,QAAQ;MAC7B,MAAM,KAAK,OAAO,KAAK,QAAQ;MAC/B,UAAU,CAAC,KAAK,OAAO,KAAK,QAAQ,KAAK;MACzC,OAAO;MACP,MAAM;MACN,MAAM,CAAC,UAAU;MACjB,aAAa,oEAAoE,YAAY,MAAM,KAAK,CAAC;MACzG,OAAO;OACN,MAAM,UAAU,KAAK,WAAW,QAAQ,WAAW;OACnD,OAAO,EAAE,MAAM,UAAU,KAAK,WAAW,QAAQ,aAAa,EAAE;OAChE;MACD,WAAW;MACX,GAAG,KAAK,OAAO,KAAK;MACpB,CAAC;AACF,WAAM,OAAO,MAAM,gBAAgB,aAAa,EAAE,CAAC,CAAC;;;GAGtD,SAAS;IACR,OAAO;IACP,MAAM,UAAU;KACf,MAAM,SAAS;KACf,MAAM,WAAW,MAAM,eAAe,KAAK;AAC3C,UAAK,MAAM,gDAAgD,SAAS,OAAO,mBAAmB;KAC9F,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,CAAC,gBAAgB,MAAM;MAC1C,IAAI,OAAO;AACV,cAAO,OAAO,OAAO,KAAK,aAAa;;MAExC,IAAI,WAAW;AACd,cAAO;QACN,gBAAgB,aAAa,EAAE,IAAI,UAAU;AAC5C,gBAAO,IAAI;WACT,CAAC;QACJ,gBAAgB,SAAS,EAAE,CAAC;QAC5B,gBAAgB,KAAK;SACpB,IAAI,OAAO;AACV,iBAAO,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,KAAK,CAAC;;SAE7D,gBAAgB;SAChB,WAAW,YAAY,gBAAgB,aAAa,EAAE,SAAS,CAAC;SAChE,CAAC;QACF;;MAEF,CAAC,CAAC,CAAC;;IAEL;GACD;EACD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RequiredKeys } from "../node_modules/.pnpm/@stryke_types@0.11.2/node_modules/@stryke/types/dist/base.cjs";
|
|
2
2
|
import { CommandConfig, ResolvedConfig, UserConfig } from "@shell-shock/core";
|
|
3
|
-
import { ConsolePluginContext, ConsolePluginOptions, ConsolePluginResolvedConfig, ConsolePluginUserConfig } from "@shell-shock/plugin-console";
|
|
4
3
|
import { Context as Context$1 } from "@shell-shock/core/types/context";
|
|
4
|
+
import { ConsolePluginContext, ConsolePluginOptions, ConsolePluginResolvedConfig, ConsolePluginUserConfig } from "@shell-shock/plugin-console";
|
|
5
5
|
import { ThemePluginContext, ThemePluginOptions, ThemePluginResolvedConfig, ThemePluginUserConfig } from "@shell-shock/plugin-theme";
|
|
6
6
|
|
|
7
7
|
//#region ../plugin-help/dist/types/plugin.d.cts
|