@shell-shock/core 0.16.2 → 0.17.0

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 (37) hide show
  1. package/dist/components/{spawn-builtin.cjs → exec-builtin.cjs} +122 -56
  2. package/dist/components/exec-builtin.cjs.map +1 -0
  3. package/dist/components/exec-builtin.d.cts +12 -0
  4. package/dist/components/exec-builtin.d.cts.map +1 -0
  5. package/dist/components/exec-builtin.d.mts +12 -0
  6. package/dist/components/exec-builtin.d.mts.map +1 -0
  7. package/dist/components/{spawn-builtin.mjs → exec-builtin.mjs} +122 -56
  8. package/dist/components/exec-builtin.mjs.map +1 -0
  9. package/dist/components/index.cjs +3 -2
  10. package/dist/components/index.d.cts +3 -3
  11. package/dist/components/index.d.mts +3 -3
  12. package/dist/components/index.mjs +3 -3
  13. package/dist/components/utils-builtin.cjs +147 -0
  14. package/dist/components/utils-builtin.cjs.map +1 -1
  15. package/dist/components/utils-builtin.d.cts +5 -1
  16. package/dist/components/utils-builtin.d.cts.map +1 -1
  17. package/dist/components/utils-builtin.d.mts +5 -1
  18. package/dist/components/utils-builtin.d.mts.map +1 -1
  19. package/dist/components/utils-builtin.mjs +148 -2
  20. package/dist/components/utils-builtin.mjs.map +1 -1
  21. package/dist/plugin.cjs +2 -2
  22. package/dist/plugin.cjs.map +1 -1
  23. package/dist/plugin.mjs +2 -2
  24. package/dist/plugin.mjs.map +1 -1
  25. package/dist/types/env.cjs +1 -1
  26. package/dist/types/env.cjs.map +1 -1
  27. package/dist/types/env.d.cts +1 -1
  28. package/dist/types/env.d.mts +1 -1
  29. package/dist/types/env.mjs +1 -1
  30. package/dist/types/env.mjs.map +1 -1
  31. package/package.json +16 -16
  32. package/dist/components/spawn-builtin.cjs.map +0 -1
  33. package/dist/components/spawn-builtin.d.cts +0 -12
  34. package/dist/components/spawn-builtin.d.cts.map +0 -1
  35. package/dist/components/spawn-builtin.d.mts +0 -12
  36. package/dist/components/spawn-builtin.d.mts.map +0 -1
  37. package/dist/components/spawn-builtin.mjs.map +0 -1
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_components_usage = require('./usage.cjs');
3
3
  const require_components_docs = require('./docs.cjs');
4
- const require_components_spawn_builtin = require('./spawn-builtin.cjs');
4
+ const require_components_exec_builtin = require('./exec-builtin.cjs');
5
5
  const require_components_helpers = require('./helpers.cjs');
6
6
  const require_components_options_parser_logic = require('./options-parser-logic.cjs');
7
7
  const require_components_state_builtin = require('./state-builtin.cjs');
@@ -22,6 +22,7 @@ exports.CommandValidationLogic = require_components_command_validation_logic.Com
22
22
  exports.ContextUtilities = require_components_state_builtin.ContextUtilities;
23
23
  exports.DynamicSegmentsParserLogic = require_components_options_parser_logic.DynamicSegmentsParserLogic;
24
24
  exports.EnvSupportUtilities = require_components_utils_builtin.EnvSupportUtilities;
25
+ exports.ExecBuiltin = require_components_exec_builtin.ExecBuiltin;
25
26
  exports.FindSuggestionsDeclaration = require_components_utils_builtin.FindSuggestionsDeclaration;
26
27
  exports.GlobalTypeDefinitions = require_components_state_builtin.GlobalTypeDefinitions;
27
28
  exports.HyperlinkSupportUtilities = require_components_utils_builtin.HyperlinkSupportUtilities;
@@ -35,7 +36,7 @@ exports.OptionsMemberParserCondition = require_components_options_parser_logic.O
35
36
  exports.OptionsMemberParserLogic = require_components_options_parser_logic.OptionsMemberParserLogic;
36
37
  exports.OptionsParserLogic = require_components_options_parser_logic.OptionsParserLogic;
37
38
  exports.ResolveModuleFunctionDeclaration = require_components_utils_builtin.ResolveModuleFunctionDeclaration;
38
- exports.SpawnBuiltin = require_components_spawn_builtin.SpawnBuiltin;
39
39
  exports.StateBuiltin = require_components_state_builtin.StateBuiltin;
40
+ exports.TerminalSizeDeclaration = require_components_utils_builtin.TerminalSizeDeclaration;
40
41
  exports.Usage = require_components_usage.Usage;
41
42
  exports.UtilsBuiltin = require_components_utils_builtin.UtilsBuiltin;
@@ -1,9 +1,9 @@
1
1
  import { CommandValidationLogic, CommandValidationLogicProps } from "./command-validation-logic.cjs";
2
2
  import { CommandDocs, CommandDocsFile, CommandDocsFileProps, CommandDocsProps, CommandDocsUsageExample, CommandDocsUsageExampleProps, CommandOptionsDocs, CommandOptionsDocsProps } from "./docs.cjs";
3
+ import { ExecBuiltin, ExecBuiltinProps } from "./exec-builtin.cjs";
3
4
  import { BooleanInputParserLogic, BooleanInputParserLogicProps, CommandParameterType, IsDebug, IsNotDebug, IsNotVerbose, IsVerbose } from "./helpers.cjs";
4
5
  import { ArgumentsParserLogic, ArgumentsParserLogicProps, CommandParserLogic, CommandParserLogicProps, DynamicSegmentsParserLogic, DynamicSegmentsParserLogicProps, OptionsInterfaceDeclaration, OptionsMember, OptionsMemberParserCondition, OptionsMemberParserConditionProps, OptionsMemberParserLogic, OptionsMemberParserLogicProps, OptionsParserLogic, OptionsParserLogicProps } from "./options-parser-logic.cjs";
5
- import { SpawnBuiltin, SpawnBuiltinProps } from "./spawn-builtin.cjs";
6
6
  import { ArgsUtilities, ContextUtilities, GlobalTypeDefinitions, StateBuiltin, StateBuiltinProps } from "./state-builtin.cjs";
7
7
  import { Usage, UsageProps } from "./usage.cjs";
8
- import { ColorSupportUtilities, EnvSupportUtilities, FindSuggestionsDeclaration, HyperlinkSupportUtilities, ResolveModuleFunctionDeclaration, UtilsBuiltin, UtilsBuiltinProps } from "./utils-builtin.cjs";
9
- export { ArgsUtilities, ArgumentsParserLogic, ArgumentsParserLogicProps, BooleanInputParserLogic, BooleanInputParserLogicProps, ColorSupportUtilities, CommandDocs, CommandDocsFile, CommandDocsFileProps, CommandDocsProps, CommandDocsUsageExample, CommandDocsUsageExampleProps, CommandOptionsDocs, CommandOptionsDocsProps, CommandParameterType, CommandParserLogic, CommandParserLogicProps, CommandValidationLogic, CommandValidationLogicProps, ContextUtilities, DynamicSegmentsParserLogic, DynamicSegmentsParserLogicProps, EnvSupportUtilities, FindSuggestionsDeclaration, GlobalTypeDefinitions, HyperlinkSupportUtilities, IsDebug, IsNotDebug, IsNotVerbose, IsVerbose, OptionsInterfaceDeclaration, OptionsMember, OptionsMemberParserCondition, OptionsMemberParserConditionProps, OptionsMemberParserLogic, OptionsMemberParserLogicProps, OptionsParserLogic, OptionsParserLogicProps, ResolveModuleFunctionDeclaration, SpawnBuiltin, SpawnBuiltinProps, StateBuiltin, StateBuiltinProps, Usage, UsageProps, UtilsBuiltin, UtilsBuiltinProps };
8
+ import { ColorSupportUtilities, EnvSupportUtilities, FindSuggestionsDeclaration, HyperlinkSupportUtilities, ResolveModuleFunctionDeclaration, TerminalSizeDeclaration, UtilsBuiltin, UtilsBuiltinProps } from "./utils-builtin.cjs";
9
+ export { ArgsUtilities, ArgumentsParserLogic, ArgumentsParserLogicProps, BooleanInputParserLogic, BooleanInputParserLogicProps, ColorSupportUtilities, CommandDocs, CommandDocsFile, CommandDocsFileProps, CommandDocsProps, CommandDocsUsageExample, CommandDocsUsageExampleProps, CommandOptionsDocs, CommandOptionsDocsProps, CommandParameterType, CommandParserLogic, CommandParserLogicProps, CommandValidationLogic, CommandValidationLogicProps, ContextUtilities, DynamicSegmentsParserLogic, DynamicSegmentsParserLogicProps, EnvSupportUtilities, ExecBuiltin, ExecBuiltinProps, FindSuggestionsDeclaration, GlobalTypeDefinitions, HyperlinkSupportUtilities, IsDebug, IsNotDebug, IsNotVerbose, IsVerbose, OptionsInterfaceDeclaration, OptionsMember, OptionsMemberParserCondition, OptionsMemberParserConditionProps, OptionsMemberParserLogic, OptionsMemberParserLogicProps, OptionsParserLogic, OptionsParserLogicProps, ResolveModuleFunctionDeclaration, StateBuiltin, StateBuiltinProps, TerminalSizeDeclaration, Usage, UsageProps, UtilsBuiltin, UtilsBuiltinProps };
@@ -1,9 +1,9 @@
1
1
  import { CommandValidationLogic, CommandValidationLogicProps } from "./command-validation-logic.mjs";
2
2
  import { CommandDocs, CommandDocsFile, CommandDocsFileProps, CommandDocsProps, CommandDocsUsageExample, CommandDocsUsageExampleProps, CommandOptionsDocs, CommandOptionsDocsProps } from "./docs.mjs";
3
+ import { ExecBuiltin, ExecBuiltinProps } from "./exec-builtin.mjs";
3
4
  import { BooleanInputParserLogic, BooleanInputParserLogicProps, CommandParameterType, IsDebug, IsNotDebug, IsNotVerbose, IsVerbose } from "./helpers.mjs";
4
5
  import { ArgumentsParserLogic, ArgumentsParserLogicProps, CommandParserLogic, CommandParserLogicProps, DynamicSegmentsParserLogic, DynamicSegmentsParserLogicProps, OptionsInterfaceDeclaration, OptionsMember, OptionsMemberParserCondition, OptionsMemberParserConditionProps, OptionsMemberParserLogic, OptionsMemberParserLogicProps, OptionsParserLogic, OptionsParserLogicProps } from "./options-parser-logic.mjs";
5
- import { SpawnBuiltin, SpawnBuiltinProps } from "./spawn-builtin.mjs";
6
6
  import { ArgsUtilities, ContextUtilities, GlobalTypeDefinitions, StateBuiltin, StateBuiltinProps } from "./state-builtin.mjs";
7
7
  import { Usage, UsageProps } from "./usage.mjs";
8
- import { ColorSupportUtilities, EnvSupportUtilities, FindSuggestionsDeclaration, HyperlinkSupportUtilities, ResolveModuleFunctionDeclaration, UtilsBuiltin, UtilsBuiltinProps } from "./utils-builtin.mjs";
9
- export { ArgsUtilities, ArgumentsParserLogic, ArgumentsParserLogicProps, BooleanInputParserLogic, BooleanInputParserLogicProps, ColorSupportUtilities, CommandDocs, CommandDocsFile, CommandDocsFileProps, CommandDocsProps, CommandDocsUsageExample, CommandDocsUsageExampleProps, CommandOptionsDocs, CommandOptionsDocsProps, CommandParameterType, CommandParserLogic, CommandParserLogicProps, CommandValidationLogic, CommandValidationLogicProps, ContextUtilities, DynamicSegmentsParserLogic, DynamicSegmentsParserLogicProps, EnvSupportUtilities, FindSuggestionsDeclaration, GlobalTypeDefinitions, HyperlinkSupportUtilities, IsDebug, IsNotDebug, IsNotVerbose, IsVerbose, OptionsInterfaceDeclaration, OptionsMember, OptionsMemberParserCondition, OptionsMemberParserConditionProps, OptionsMemberParserLogic, OptionsMemberParserLogicProps, OptionsParserLogic, OptionsParserLogicProps, ResolveModuleFunctionDeclaration, SpawnBuiltin, SpawnBuiltinProps, StateBuiltin, StateBuiltinProps, Usage, UsageProps, UtilsBuiltin, UtilsBuiltinProps };
8
+ import { ColorSupportUtilities, EnvSupportUtilities, FindSuggestionsDeclaration, HyperlinkSupportUtilities, ResolveModuleFunctionDeclaration, TerminalSizeDeclaration, UtilsBuiltin, UtilsBuiltinProps } from "./utils-builtin.mjs";
9
+ export { ArgsUtilities, ArgumentsParserLogic, ArgumentsParserLogicProps, BooleanInputParserLogic, BooleanInputParserLogicProps, ColorSupportUtilities, CommandDocs, CommandDocsFile, CommandDocsFileProps, CommandDocsProps, CommandDocsUsageExample, CommandDocsUsageExampleProps, CommandOptionsDocs, CommandOptionsDocsProps, CommandParameterType, CommandParserLogic, CommandParserLogicProps, CommandValidationLogic, CommandValidationLogicProps, ContextUtilities, DynamicSegmentsParserLogic, DynamicSegmentsParserLogicProps, EnvSupportUtilities, ExecBuiltin, ExecBuiltinProps, FindSuggestionsDeclaration, GlobalTypeDefinitions, HyperlinkSupportUtilities, IsDebug, IsNotDebug, IsNotVerbose, IsVerbose, OptionsInterfaceDeclaration, OptionsMember, OptionsMemberParserCondition, OptionsMemberParserConditionProps, OptionsMemberParserLogic, OptionsMemberParserLogicProps, OptionsParserLogic, OptionsParserLogicProps, ResolveModuleFunctionDeclaration, StateBuiltin, StateBuiltinProps, TerminalSizeDeclaration, Usage, UsageProps, UtilsBuiltin, UtilsBuiltinProps };
@@ -1,10 +1,10 @@
1
1
  import { Usage } from "./usage.mjs";
2
2
  import { CommandDocs, CommandDocsFile, CommandDocsUsageExample, CommandOptionsDocs } from "./docs.mjs";
3
- import { SpawnBuiltin } from "./spawn-builtin.mjs";
3
+ import { ExecBuiltin } from "./exec-builtin.mjs";
4
4
  import { BooleanInputParserLogic, CommandParameterType, IsDebug, IsNotDebug, IsNotVerbose, IsVerbose } from "./helpers.mjs";
5
5
  import { ArgumentsParserLogic, CommandParserLogic, DynamicSegmentsParserLogic, OptionsInterfaceDeclaration, OptionsMember, OptionsMemberParserCondition, OptionsMemberParserLogic, OptionsParserLogic } from "./options-parser-logic.mjs";
6
6
  import { ArgsUtilities, ContextUtilities, GlobalTypeDefinitions, StateBuiltin } from "./state-builtin.mjs";
7
- import { ColorSupportUtilities, EnvSupportUtilities, FindSuggestionsDeclaration, HyperlinkSupportUtilities, ResolveModuleFunctionDeclaration, UtilsBuiltin } from "./utils-builtin.mjs";
7
+ import { ColorSupportUtilities, EnvSupportUtilities, FindSuggestionsDeclaration, HyperlinkSupportUtilities, ResolveModuleFunctionDeclaration, TerminalSizeDeclaration, UtilsBuiltin } from "./utils-builtin.mjs";
8
8
  import { CommandValidationLogic } from "./command-validation-logic.mjs";
9
9
 
10
- export { ArgsUtilities, ArgumentsParserLogic, BooleanInputParserLogic, ColorSupportUtilities, CommandDocs, CommandDocsFile, CommandDocsUsageExample, CommandOptionsDocs, CommandParameterType, CommandParserLogic, CommandValidationLogic, ContextUtilities, DynamicSegmentsParserLogic, EnvSupportUtilities, FindSuggestionsDeclaration, GlobalTypeDefinitions, HyperlinkSupportUtilities, IsDebug, IsNotDebug, IsNotVerbose, IsVerbose, OptionsInterfaceDeclaration, OptionsMember, OptionsMemberParserCondition, OptionsMemberParserLogic, OptionsParserLogic, ResolveModuleFunctionDeclaration, SpawnBuiltin, StateBuiltin, Usage, UtilsBuiltin };
10
+ export { ArgsUtilities, ArgumentsParserLogic, BooleanInputParserLogic, ColorSupportUtilities, CommandDocs, CommandDocsFile, CommandDocsUsageExample, CommandOptionsDocs, CommandParameterType, CommandParserLogic, CommandValidationLogic, ContextUtilities, DynamicSegmentsParserLogic, EnvSupportUtilities, ExecBuiltin, FindSuggestionsDeclaration, GlobalTypeDefinitions, HyperlinkSupportUtilities, IsDebug, IsNotDebug, IsNotVerbose, IsVerbose, OptionsInterfaceDeclaration, OptionsMember, OptionsMemberParserCondition, OptionsMemberParserLogic, OptionsParserLogic, ResolveModuleFunctionDeclaration, StateBuiltin, TerminalSizeDeclaration, Usage, UtilsBuiltin };
@@ -210,6 +210,142 @@ function FindSuggestionsDeclaration() {
210
210
  ];
211
211
  }
212
212
  /**
213
+ * Generates utilities for detecting terminal size and whether the process is running in the foreground, which can be used to determine how to render output (e.g., whether to use a progress bar or spinner).
214
+ */
215
+ function TerminalSizeDeclaration() {
216
+ return [
217
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.VarDeclaration, {
218
+ "export": true,
219
+ "const": true,
220
+ name: "DEFAULT_TERMINAL_COLUMNS",
221
+ doc: "Default number of terminal columns",
222
+ initializer: _alloy_js_core.code`80`
223
+ }),
224
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
225
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.VarDeclaration, {
226
+ "export": true,
227
+ "const": true,
228
+ name: "DEFAULT_TERMINAL_ROWS",
229
+ doc: "Default number of terminal rows",
230
+ initializer: _alloy_js_core.code`24`
231
+ }),
232
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
233
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.FunctionDeclaration, {
234
+ name: "isForegroundProcess",
235
+ children: _alloy_js_core.code`if (isLinux) {
236
+ return true;
237
+ }
238
+
239
+ try {
240
+ const statContents = readFileSync("/proc/self/stat", "utf8");
241
+ const closingParenthesisIndex = statContents.lastIndexOf(') ');
242
+
243
+ if (closingParenthesisIndex === -1) {
244
+ return false;
245
+ }
246
+
247
+ const statFields = statContents.slice(closingParenthesisIndex + 2).trim().split(/\\s+/);
248
+ const processGroupId = Number.parseInt(statFields[2], 10);
249
+ const foregroundProcessGroupId = Number.parseInt(statFields[5], 10);
250
+
251
+ if (Number.isNaN(processGroupId) || Number.isNaN(foregroundProcessGroupId)) {
252
+ return false;
253
+ }
254
+
255
+ if (foregroundProcessGroupId <= 0) {
256
+ return false;
257
+ }
258
+
259
+ return processGroupId === foregroundProcessGroupId;
260
+ } catch {
261
+ return false;
262
+ } `
263
+ }),
264
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
265
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.FunctionDeclaration, {
266
+ name: "tput",
267
+ children: _alloy_js_core.code`try {
268
+ const columns = execSync(["tput", "cols"], { env: { TERM: 'dumb', ...process.env } });
269
+ const rows = execSync(["tput", "lines"], { env: { TERM: 'dumb', ...process.env } });
270
+
271
+ if (columns && rows) {
272
+ return { columns: Number.parseInt(columns.toString().trim(), 10), rows: Number.parseInt(rows.toString().trim(), 10) };
273
+ }
274
+ } catch {} `
275
+ }),
276
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
277
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.FunctionDeclaration, {
278
+ name: "devTty",
279
+ children: _alloy_js_core.code`try {
280
+ return tty.WriteStream(openSync("/dev/tty", isMacOS ? fsConstants.O_NONBLOCK : fsConstants.O_NONBLOCK));
281
+ } catch {} `
282
+ }),
283
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
284
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_typescript_components_tsdoc.TSDoc, {
285
+ heading: "A utility function that attempts to determine the size of the terminal (number of columns and rows) using various methods, and falls back to default values if it cannot be determined. This can be used to adjust output formatting based on the available terminal size.",
286
+ get children() {
287
+ return [
288
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_typescript_components_tsdoc.TSDocRemarks, { children: "The function first checks if the process is running in a TTY environment and if the stdout or stderr streams provide column and row information. If not, it attempts to use platform-specific methods (like reading from /proc/self/stat on Linux, using tput on Unix-like systems, or checking /dev/tty) to determine the terminal size. If all else fails, it returns default values." }),
289
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
290
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_typescript_components_tsdoc.TSDocReturns, { children: "An object containing the number of columns and rows of the terminal." })
291
+ ];
292
+ }
293
+ }),
294
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.FunctionDeclaration, {
295
+ "export": true,
296
+ name: "getTerminalSize",
297
+ returnType: "{ columns: number; rows: number; }",
298
+ get children() {
299
+ return [
300
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.IfStatement, {
301
+ condition: _alloy_js_core.code`process.stdout?.columns && process.stdout?.rows`,
302
+ children: _alloy_js_core.code`return { columns: process.stdout.columns, rows: process.stdout.rows }; `
303
+ }),
304
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.IfStatement, {
305
+ condition: _alloy_js_core.code`process.stderr?.columns && process.stderr?.rows`,
306
+ children: _alloy_js_core.code`return { columns: process.stderr.columns, rows: process.stderr.rows };`
307
+ }),
308
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
309
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.IfStatement, {
310
+ condition: _alloy_js_core.code`isWindows`,
311
+ children: _alloy_js_core.code`return tput() ?? {
312
+ columns: DEFAULT_TERMINAL_COLUMNS,
313
+ rows: DEFAULT_TERMINAL_ROWS,
314
+ }; `
315
+ }),
316
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.IfStatement, {
317
+ condition: _alloy_js_core.code`isMacOS`,
318
+ children: _alloy_js_core.code`return devTty() ?? tput() ?? {
319
+ columns: DEFAULT_TERMINAL_COLUMNS,
320
+ rows: DEFAULT_TERMINAL_ROWS,
321
+ }; `
322
+ }),
323
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
324
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.VarDeclaration, {
325
+ "let": true,
326
+ name: "result",
327
+ initializer: _alloy_js_core.code`devTty() ?? tput(); `
328
+ }),
329
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.IfStatement, {
330
+ condition: _alloy_js_core.code`!result && isForegroundProcess()`,
331
+ children: _alloy_js_core.code`try {
332
+ const size = execSync(["resize", "-u"]).match(/\\d+/g);
333
+ if (size.length === 2) {
334
+ result = { columns: Number.parseInt(size[0], 10), rows: Number.parseInt(size[1], 10) };
335
+ }
336
+ } catch {} `
337
+ }),
338
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
339
+ _alloy_js_core.code`return result ?? {
340
+ columns: DEFAULT_TERMINAL_COLUMNS,
341
+ rows: DEFAULT_TERMINAL_ROWS,
342
+ }; `
343
+ ];
344
+ }
345
+ })
346
+ ];
347
+ }
348
+ /**
213
349
  * Generates utilities for detecting terminal color support.
214
350
  */
215
351
  function EnvSupportUtilities() {
@@ -1562,6 +1698,10 @@ function UtilsBuiltin(props) {
1562
1698
  "isAbsolute"
1563
1699
  ],
1564
1700
  "node:fs": [
1701
+ {
1702
+ name: "constants",
1703
+ alias: "fsConstants"
1704
+ },
1565
1705
  "openSync",
1566
1706
  "closeSync",
1567
1707
  "read",
@@ -1570,6 +1710,7 @@ function UtilsBuiltin(props) {
1570
1710
  "realpathSync"
1571
1711
  ],
1572
1712
  "node:fs/promises": ["stat"],
1713
+ "node:tty": "tty",
1573
1714
  "node:util": ["promisify"],
1574
1715
  "node:url": ["fileURLToPath", "pathToFileURL"],
1575
1716
  "node:module": ["builtinModules"]
@@ -1587,9 +1728,12 @@ function UtilsBuiltin(props) {
1587
1728
  "isCI",
1588
1729
  "isTest",
1589
1730
  "isWindows",
1731
+ "isLinux",
1732
+ "isMacOS",
1590
1733
  "isDevelopment",
1591
1734
  "isDebug"
1592
1735
  ],
1736
+ exec: ["execSync"],
1593
1737
  state: ["hasFlag"]
1594
1738
  });
1595
1739
  },
@@ -1615,6 +1759,8 @@ function UtilsBuiltin(props) {
1615
1759
  children: _alloy_js_core.code`return new Promise((resolve) => setTimeout(resolve, durationMs)); `
1616
1760
  }),
1617
1761
  (0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
1762
+ (0, _alloy_js_core_jsx_runtime.createComponent)(TerminalSizeDeclaration, {}),
1763
+ (0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
1618
1764
  (0, _alloy_js_core_jsx_runtime.createComponent)(EnvSupportUtilities, {}),
1619
1765
  (0, _alloy_js_core_jsx_runtime.createComponent)(_powerlines_plugin_alloy_core_components_spacing.Spacing, {}),
1620
1766
  (0, _alloy_js_core_jsx_runtime.createComponent)(HyperlinkSupportUtilities, {}),
@@ -1642,5 +1788,6 @@ exports.EnvSupportUtilities = EnvSupportUtilities;
1642
1788
  exports.FindSuggestionsDeclaration = FindSuggestionsDeclaration;
1643
1789
  exports.HyperlinkSupportUtilities = HyperlinkSupportUtilities;
1644
1790
  exports.ResolveModuleFunctionDeclaration = ResolveModuleFunctionDeclaration;
1791
+ exports.TerminalSizeDeclaration = TerminalSizeDeclaration;
1645
1792
  exports.UtilsBuiltin = UtilsBuiltin;
1646
1793
  //# sourceMappingURL=utils-builtin.cjs.map