@lifo-sh/core 0.4.5 → 0.5.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 (87) hide show
  1. package/dist/{awk-C3Y4kjgp.js → awk-CC_Qo0hQ.js} +1 -1
  2. package/dist/base64-BBckAmkE.js +72 -0
  3. package/dist/{basename-C58k3uOT.js → basename-BIICW06y.js} +1 -1
  4. package/dist/{cat-B07HGjDg.js → cat-Jv35D4BV.js} +1 -1
  5. package/dist/{chmod-D03g3iaw.js → chmod-Bh-u8XOr.js} +1 -1
  6. package/dist/{chown-Cdv5fyX4.js → chown-Dv7xfl2a.js} +1 -1
  7. package/dist/commands/registry.d.ts.map +1 -1
  8. package/dist/commands/system/fastfetch.d.ts +4 -0
  9. package/dist/commands/system/fastfetch.d.ts.map +1 -0
  10. package/dist/commands/system/logout.d.ts +5 -0
  11. package/dist/commands/system/logout.d.ts.map +1 -0
  12. package/dist/commands/system/man.d.ts.map +1 -1
  13. package/dist/commands/system/sha256sum.d.ts +4 -0
  14. package/dist/commands/system/sha256sum.d.ts.map +1 -0
  15. package/dist/commands/system/sl.d.ts +4 -0
  16. package/dist/commands/system/sl.d.ts.map +1 -0
  17. package/dist/commands/system/whoami.d.ts.map +1 -1
  18. package/dist/commands/text/base64.d.ts +4 -0
  19. package/dist/commands/text/base64.d.ts.map +1 -0
  20. package/dist/commands/text/less.d.ts +4 -0
  21. package/dist/commands/text/less.d.ts.map +1 -0
  22. package/dist/commands/text/nano.d.ts +4 -0
  23. package/dist/commands/text/nano.d.ts.map +1 -0
  24. package/dist/commands/text/seq.d.ts +4 -0
  25. package/dist/commands/text/seq.d.ts.map +1 -0
  26. package/dist/commands/text/strings.d.ts +4 -0
  27. package/dist/commands/text/strings.d.ts.map +1 -0
  28. package/dist/commands/text/tac.d.ts +4 -0
  29. package/dist/commands/text/tac.d.ts.map +1 -0
  30. package/dist/commands/types.d.ts +1 -0
  31. package/dist/commands/types.d.ts.map +1 -1
  32. package/dist/{cp-Bbw4TzMN.js → cp-CB-sGTRH.js} +1 -1
  33. package/dist/{cut-CMbXY7Ad.js → cut-B79kgCm4.js} +1 -1
  34. package/dist/{diff-CWzH8232.js → diff-D5Ej-JEe.js} +1 -1
  35. package/dist/{dirname-BbYKtWvZ.js → dirname-w2Y6csox.js} +1 -1
  36. package/dist/{du-DN_vLBho.js → du-UupzdKc_.js} +1 -1
  37. package/dist/fastfetch-aPM9Z3ym.js +310 -0
  38. package/dist/{file-CS6xn5J5.js → file-DOl4Wjtc.js} +1 -1
  39. package/dist/{find-D9R0im6o.js → find-C0T-P7sl.js} +1 -1
  40. package/dist/{grep-25tZUwuB.js → grep-Blwrv9k5.js} +1 -1
  41. package/dist/{gunzip-BQDl1oe1.js → gunzip-R7EtgP15.js} +1 -1
  42. package/dist/{gzip-alBLg0ER.js → gzip-BxF7M1np.js} +1 -1
  43. package/dist/{head-CCNOHUfb.js → head-CJwcsX18.js} +1 -1
  44. package/dist/{index-BkFxAA1M.js → index-BjKSFBDg.js} +2268 -2171
  45. package/dist/index.d.ts +1 -0
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +32 -31
  48. package/dist/kernel/index.d.ts.map +1 -1
  49. package/dist/less-B0gFLJ_7.js +230 -0
  50. package/dist/{ls-CwFymhoV.js → ls-YnhMRefh.js} +1 -1
  51. package/dist/{man-CJ5pI0_W.js → man-Dg26tZ-a.js} +19 -6
  52. package/dist/{mkdir-BeBRuKQB.js → mkdir-DY1P3Jxj.js} +1 -1
  53. package/dist/{mktemp-BH7VNuq2.js → mktemp-BRzo2c8y.js} +1 -1
  54. package/dist/{mv-Cs7iKh80.js → mv-bH08L-F_.js} +1 -1
  55. package/dist/nano-CueO2oS0.js +304 -0
  56. package/dist/{nl-CTYHzA0y.js → nl-D26SSOD4.js} +1 -1
  57. package/dist/pkg/lifo-runtime.d.ts.map +1 -1
  58. package/dist/{realpath-Dc39KAn2.js → realpath-BH29Lem_.js} +1 -1
  59. package/dist/{rev-B3BJN7EV.js → rev-ySwmRf_K.js} +1 -1
  60. package/dist/{rm-vurGL_vt.js → rm-D7iWUUE2.js} +1 -1
  61. package/dist/{rmdir-BhhF1qiD.js → rmdir-BLtdNjt1.js} +1 -1
  62. package/dist/{sed-eDCC5m3U.js → sed-DwBPYYFb.js} +1 -1
  63. package/dist/seq-B01YKIbO.js +37 -0
  64. package/dist/sha256sum-DED6ePiU.js +64 -0
  65. package/dist/shell/Shell.d.ts +1 -0
  66. package/dist/shell/Shell.d.ts.map +1 -1
  67. package/dist/shell/interpreter.d.ts.map +1 -1
  68. package/dist/shell/terminal-stdin.d.ts +4 -0
  69. package/dist/shell/terminal-stdin.d.ts.map +1 -1
  70. package/dist/sl-Dv4iPBN6.js +138 -0
  71. package/dist/{sort-D0hbtaXP.js → sort-OXqZY83v.js} +1 -1
  72. package/dist/{stat-BqJ_Rfbb.js → stat-BvwNpE5B.js} +1 -1
  73. package/dist/strings-BesRwUt_.js +42 -0
  74. package/dist/tac-D4BMSdj9.js +31 -0
  75. package/dist/{tail-B70DgbwP.js → tail-xVmLkzJK.js} +1 -1
  76. package/dist/{tar-BmEaNNGv.js → tar-BHRJ0-4j.js} +1 -1
  77. package/dist/{tee-CkXYLcZC.js → tee-DxygINEJ.js} +1 -1
  78. package/dist/{touch-By5snYSz.js → touch-DCb9Qn5q.js} +1 -1
  79. package/dist/{tree-OO91GDuy.js → tree-4QpgsnA0.js} +1 -1
  80. package/dist/{uniq-Dz_ycdnR.js → uniq-xmgE0zRj.js} +1 -1
  81. package/dist/{unzip-Db0slBDW.js → unzip-CDKcoB0B.js} +1 -1
  82. package/dist/{wc-Dd6SghmQ.js → wc-B-jNRfLa.js} +1 -1
  83. package/dist/{wget-BmoTfBZi.js → wget-CO-45JoL.js} +1 -1
  84. package/dist/whoami-Y18wqme3.js +25 -0
  85. package/dist/{zip-AoFdCM-l.js → zip-Cu1DzbAu.js} +1 -1
  86. package/package.json +2 -2
  87. package/dist/whoami-B1237V5e.js +0 -8
package/dist/index.d.ts CHANGED
@@ -23,6 +23,7 @@ export { createNodeCommand } from './commands/system/node.js';
23
23
  export { createCurlCommand } from './commands/net/curl.js';
24
24
  export { createLifoPkgCommand, bootLifoPackages } from './commands/system/lifo.js';
25
25
  export { createNpmCommand } from './commands/system/npm.js';
26
+ export { createLogoutCommand } from './commands/system/logout.js';
26
27
  export { Shell } from './shell/Shell.js';
27
28
  export { JobTable } from './shell/jobs.js';
28
29
  export type { ITerminal } from './terminal/ITerminal.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { a as e, B as r, n as o, o as n, q as m, s as t, t as d, u as i, v as c, C as l, w as E, x as C, y as B, z as T, D as L, E as R, G as I, H, I as N, A as g, F as M, J as b, K as k, M as y, L as D, N as G, O as P, P as S, Q as f, S as _, R as A, T as p, U as u, W as x, X as U, V as h, Y as v, Z as F, b as K, _ as O, $ as W, a0 as Y, a1 as V, a2 as j, a3 as q, a4 as w, a5 as z, a6 as J, a7 as Z, a8 as Q, a9 as X, aa as $, ab as aa, ac as sa, ad as ea, ae as ra, k as oa, e as na, af as ma, c as ta, ag as da, ah as ia, i as ca, ai as la, aj as Ea, ak as Ca, al as Ba, am as Ta, an as La, ao as Ra, r as Ia, ap as Ha, aq as Na } from "./index-BkFxAA1M.js";
1
+ import { a as s, B as r, n as o, o as n, q as m, s as t, t as d, u as i, v as c, C as l, w as E, x as C, y as B, z as L, D as T, E as R, G as I, H as g, I as H, A as N, F as M, J as b, K as k, M as y, L as D, N as G, O as P, P as S, Q as f, S as _, R as u, T as A, U as p, W as x, X as U, V as h, Y as v, Z as F, b as K, _ as O, $ as W, a0 as Y, a1 as V, a2 as j, a3 as q, a4 as w, a5 as z, a6 as J, a7 as Z, a8 as Q, a9 as X, aa as $, ab as aa, ac as ea, ad as sa, ae as ra, af as oa, k as na, e as ma, ag as ta, c as da, ah as ia, ai as ca, i as la, aj as Ea, ak as Ca, al as Ba, am as La, an as Ta, ao as Ra, ap as Ia, r as ga, aq as Ha, ar as Na } from "./index-BjKSFBDg.js";
2
2
  export {
3
- e as BLUE,
3
+ s as BLUE,
4
4
  r as BOLD,
5
5
  o as BRIGHT_BLUE,
6
6
  n as BRIGHT_CYAN,
@@ -13,13 +13,13 @@ export {
13
13
  E as CHUNK_THRESHOLD,
14
14
  C as CYAN,
15
15
  B as CommandRegistry,
16
- T as ContentStore,
17
- L as DIM,
16
+ L as ContentStore,
17
+ T as DIM,
18
18
  R as ErrorCode,
19
19
  I as GREEN,
20
- H as HeadlessTerminal,
21
- N as ITALIC,
22
- g as IndexedDBBlobStore,
20
+ g as HeadlessTerminal,
21
+ H as ITALIC,
22
+ N as IndexedDBBlobStore,
23
23
  M as IndexedDBPersistenceBackend,
24
24
  b as JobTable,
25
25
  k as Kernel,
@@ -30,9 +30,9 @@ export {
30
30
  S as PersistenceManager,
31
31
  f as ProcessExitError,
32
32
  _ as RED,
33
- A as RESET,
34
- p as Sandbox,
35
- u as Shell,
33
+ u as RESET,
34
+ A as Sandbox,
35
+ p as Shell,
36
36
  x as UNDERLINE,
37
37
  U as VFS,
38
38
  h as VFSError,
@@ -48,29 +48,30 @@ export {
48
48
  w as createKillCommand,
49
49
  z as createLifoCommand,
50
50
  J as createLifoPkgCommand,
51
- Z as createModuleMap,
52
- Q as createNodeCommand,
53
- X as createNpmCommand,
54
- $ as createPsCommand,
55
- aa as createTopCommand,
51
+ Z as createLogoutCommand,
52
+ Q as createModuleMap,
53
+ X as createNodeCommand,
54
+ $ as createNpmCommand,
55
+ aa as createPsCommand,
56
+ ea as createTopCommand,
56
57
  sa as createWatchCommand,
57
- ea as cyan,
58
- ra as dim,
59
- oa as dirname,
60
- na as extname,
61
- ma as getFileCategory,
62
- ta as getMimeType,
63
- da as green,
64
- ia as hashBytes,
65
- ca as isBinaryMime,
66
- la as join,
67
- Ea as linkPackage,
68
- Ca as loadDevLinks,
69
- Ba as magenta,
58
+ ra as cyan,
59
+ oa as dim,
60
+ na as dirname,
61
+ ma as extname,
62
+ ta as getFileCategory,
63
+ da as getMimeType,
64
+ ia as green,
65
+ ca as hashBytes,
66
+ la as isBinaryMime,
67
+ Ea as join,
68
+ Ca as linkPackage,
69
+ Ba as loadDevLinks,
70
+ La as magenta,
70
71
  Ta as normalize,
71
- La as readLifoManifest,
72
- Ra as red,
73
- Ia as resolve,
72
+ Ra as readLifoManifest,
73
+ Ia as red,
74
+ ga as resolve,
74
75
  Ha as unlinkPackage,
75
76
  Na as yellow
76
77
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kernel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAKrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AA4BpE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;AAExF,qBAAa,MAAM;IACjB,GAAG,EAAE,GAAG,CAAC;IACT,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAa;IAC7D,OAAO,CAAC,WAAW,CAAqB;gBAE5B,OAAO,CAAC,EAAE,kBAAkB;IAOlC,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B1D,cAAc,IAAI,IAAI;IAwCtB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAWxC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kernel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAKrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAwCpE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;AAExF,qBAAa,MAAM;IACjB,GAAG,EAAE,GAAG,CAAC;IACT,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAa;IAC7D,OAAO,CAAC,WAAW,CAAqB;gBAE5B,OAAO,CAAC,EAAE,kBAAkB;IAOlC,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B1D,cAAc,IAAI,IAAI;IAgDtB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAWxC"}
@@ -0,0 +1,230 @@
1
+ import { r as E, V as L } from "./index-BjKSFBDg.js";
2
+ const n = "\x1B[", R = `${n}2J`, d = `${n}H`, B = `${n}?25l`, k = `${n}?25h`, g = `${n}2K`, y = `${n}7m`, S = `${n}1m`, C = `${n}0m`;
3
+ function m(e, r) {
4
+ return `${n}${e + 1};${r + 1}H`;
5
+ }
6
+ function v(e) {
7
+ if (e === "\r") return { type: "enter" };
8
+ if (e === "" || e === "\b") return { type: "backspace" };
9
+ if (e === "\x1B" && e.length === 1) return { type: "escape" };
10
+ if (e.startsWith("\x1B[")) {
11
+ const r = e.slice(2);
12
+ return r === "A" ? { type: "up" } : r === "B" ? { type: "down" } : r === "C" ? { type: "right" } : r === "D" ? { type: "left" } : r === "H" ? { type: "home" } : r === "F" ? { type: "end" } : r === "1~" || r === "7~" ? { type: "home" } : r === "4~" || r === "8~" ? { type: "end" } : r === "5~" ? { type: "pageup" } : r === "6~" ? { type: "pagedown" } : { type: "unknown" };
13
+ }
14
+ return e.length >= 1 && e.charCodeAt(0) >= 32 ? { type: "char", char: e } : { type: "unknown" };
15
+ }
16
+ function u(e) {
17
+ return e.rows - 1;
18
+ }
19
+ function N(e, r) {
20
+ const t = [];
21
+ if (!r) return t;
22
+ const o = r.toLowerCase();
23
+ for (let c = 0; c < e.length; c++)
24
+ e[c].toLowerCase().includes(o) && t.push(c);
25
+ return t;
26
+ }
27
+ function $(e) {
28
+ if (e.searchMatches.length !== 0) {
29
+ for (let r = 0; r < e.searchMatches.length; r++)
30
+ if (e.searchMatches[r] > e.scrollRow) {
31
+ e.currentMatch = r, e.scrollRow = e.searchMatches[r];
32
+ return;
33
+ }
34
+ e.currentMatch = 0, e.scrollRow = e.searchMatches[0];
35
+ }
36
+ }
37
+ function I(e) {
38
+ if (e.searchMatches.length !== 0) {
39
+ for (let r = e.searchMatches.length - 1; r >= 0; r--)
40
+ if (e.searchMatches[r] < e.scrollRow) {
41
+ e.currentMatch = r, e.scrollRow = e.searchMatches[r];
42
+ return;
43
+ }
44
+ e.currentMatch = e.searchMatches.length - 1, e.scrollRow = e.searchMatches[e.currentMatch];
45
+ }
46
+ }
47
+ function b(e, r) {
48
+ const t = u(e);
49
+ let o = B;
50
+ for (let c = 0; c < t; c++) {
51
+ const l = e.scrollRow + c;
52
+ if (o += m(c, 0) + g, l < e.lines.length) {
53
+ let a = e.lines[l].slice(e.scrollCol, e.scrollCol + e.cols);
54
+ e.searchQuery && a.toLowerCase().includes(e.searchQuery.toLowerCase()) && (a = H(a, e.searchQuery)), o += a;
55
+ } else
56
+ o += "~";
57
+ }
58
+ if (o += m(e.rows - 1, 0) + y + g, e.mode === "search")
59
+ o += "/" + e.searchBuf;
60
+ else {
61
+ const c = e.lines.length <= t || e.scrollRow + t >= e.lines.length ? "(END)" : `${Math.round((e.scrollRow + t) / e.lines.length * 100)}%`, l = e.searchQuery && e.searchMatches.length > 0 ? ` [${e.currentMatch + 1}/${e.searchMatches.length}]` : "", a = `${e.fileName} ${c}${l}`;
62
+ o += a.padEnd(e.cols);
63
+ }
64
+ o += C + k, r.write(o);
65
+ }
66
+ function H(e, r) {
67
+ const t = e.toLowerCase(), o = r.toLowerCase();
68
+ let c = "", l = 0;
69
+ for (; l < e.length; ) {
70
+ const a = t.indexOf(o, l);
71
+ if (a === -1) {
72
+ c += e.slice(l);
73
+ break;
74
+ }
75
+ c += e.slice(l, a), c += S + y + e.slice(a, a + r.length) + C, l = a + r.length;
76
+ }
77
+ return c;
78
+ }
79
+ function O(e, r) {
80
+ const t = u(e);
81
+ switch (r.type) {
82
+ case "char":
83
+ switch (r.char) {
84
+ case "q":
85
+ return !0;
86
+ case "j":
87
+ e.scrollRow = Math.min(e.scrollRow + 1, i(e));
88
+ break;
89
+ case "k":
90
+ e.scrollRow = Math.max(e.scrollRow - 1, 0);
91
+ break;
92
+ case "f":
93
+ case " ":
94
+ e.scrollRow = Math.min(e.scrollRow + t, i(e));
95
+ break;
96
+ case "b":
97
+ e.scrollRow = Math.max(e.scrollRow - t, 0);
98
+ break;
99
+ case "d":
100
+ e.scrollRow = Math.min(e.scrollRow + Math.floor(t / 2), i(e));
101
+ break;
102
+ case "u":
103
+ e.scrollRow = Math.max(e.scrollRow - Math.floor(t / 2), 0);
104
+ break;
105
+ case "g":
106
+ e.scrollRow = 0;
107
+ break;
108
+ case "G":
109
+ e.scrollRow = i(e);
110
+ break;
111
+ case "/":
112
+ e.mode = "search", e.searchBuf = "";
113
+ break;
114
+ case "n":
115
+ $(e);
116
+ break;
117
+ case "N":
118
+ I(e);
119
+ break;
120
+ case "h":
121
+ e.scrollCol = Math.max(e.scrollCol - 1, 0);
122
+ break;
123
+ case "l":
124
+ e.scrollCol++;
125
+ break;
126
+ }
127
+ break;
128
+ case "up":
129
+ e.scrollRow = Math.max(e.scrollRow - 1, 0);
130
+ break;
131
+ case "down":
132
+ e.scrollRow = Math.min(e.scrollRow + 1, i(e));
133
+ break;
134
+ case "pageup":
135
+ e.scrollRow = Math.max(e.scrollRow - t, 0);
136
+ break;
137
+ case "pagedown":
138
+ e.scrollRow = Math.min(e.scrollRow + t, i(e));
139
+ break;
140
+ case "home":
141
+ e.scrollRow = 0;
142
+ break;
143
+ case "end":
144
+ e.scrollRow = i(e);
145
+ break;
146
+ case "left":
147
+ e.scrollCol = Math.max(e.scrollCol - 1, 0);
148
+ break;
149
+ case "right":
150
+ e.scrollCol++;
151
+ break;
152
+ }
153
+ return !1;
154
+ }
155
+ function Q(e, r) {
156
+ switch (r.type) {
157
+ case "enter":
158
+ e.searchQuery = e.searchBuf, e.searchMatches = N(e.lines, e.searchQuery), e.currentMatch = -1, e.mode = "view", e.searchMatches.length > 0 && $(e);
159
+ break;
160
+ case "escape":
161
+ e.mode = "view";
162
+ break;
163
+ case "backspace":
164
+ e.searchBuf = e.searchBuf.slice(0, -1);
165
+ break;
166
+ case "char":
167
+ e.searchBuf += r.char;
168
+ break;
169
+ }
170
+ }
171
+ function i(e) {
172
+ return Math.max(0, e.lines.length - u(e));
173
+ }
174
+ const D = async (e) => {
175
+ var a, f, w;
176
+ let r, t;
177
+ if (e.args.length > 0) {
178
+ const s = E(e.cwd, e.args[0]);
179
+ try {
180
+ r = e.vfs.readFileString(s), t = e.args[0];
181
+ } catch (h) {
182
+ if (h instanceof L)
183
+ return e.stderr.write(`less: ${e.args[0]}: ${h.message}
184
+ `), 1;
185
+ throw h;
186
+ }
187
+ } else if (e.stdin)
188
+ r = await e.stdin.readAll(), t = "(stdin)";
189
+ else
190
+ return e.stderr.write(`Usage: less FILE
191
+ `), e.stderr.write(`View file contents one screen at a time. q to quit, / to search.
192
+ `), 1;
193
+ const o = r.split(`
194
+ `);
195
+ o.length > 1 && o[o.length - 1] === "" && o.pop(), o.length === 0 && o.push("");
196
+ const c = parseInt(e.env.LINES || "24", 10), l = parseInt(e.env.COLUMNS || "80", 10);
197
+ if (o.length <= c - 1)
198
+ return e.stdout.write(r), 0;
199
+ (a = e.setRawMode) == null || a.call(e, !0);
200
+ try {
201
+ const s = {
202
+ lines: o,
203
+ scrollRow: 0,
204
+ scrollCol: 0,
205
+ rows: c,
206
+ cols: l,
207
+ fileName: t,
208
+ mode: "view",
209
+ searchBuf: "",
210
+ searchQuery: "",
211
+ searchMatches: [],
212
+ currentMatch: -1
213
+ };
214
+ for (e.stdout.write(R + d), b(s, e.stdout); ; ) {
215
+ const h = await ((f = e.stdin) == null ? void 0 : f.read());
216
+ if (h == null) break;
217
+ const M = v(h);
218
+ let p = !1;
219
+ if (s.mode === "view" ? p = O(s, M) : Q(s, M), p) break;
220
+ b(s, e.stdout);
221
+ }
222
+ e.stdout.write(R + d + k);
223
+ } finally {
224
+ (w = e.setRawMode) == null || w.call(e, !1);
225
+ }
226
+ return 0;
227
+ };
228
+ export {
229
+ D as default
230
+ };
@@ -1,5 +1,5 @@
1
1
  import { p as h } from "./args-CG6b9cZt.js";
2
- import { r as m, V as d, B as w, a as y, R as $ } from "./index-BkFxAA1M.js";
2
+ import { r as m, V as d, B as w, a as y, R as $ } from "./index-BjKSFBDg.js";
3
3
  const S = {
4
4
  long: { type: "boolean", short: "l" },
5
5
  all: { type: "boolean", short: "a" },
@@ -12,7 +12,7 @@ const a = {
12
12
  fg: { synopsis: "fg [JOB_ID]", description: "Move a background job to the foreground." },
13
13
  bg: { synopsis: "bg [JOB_ID]", description: "Resume a stopped background job." },
14
14
  history: { synopsis: "history", description: "Display the command history list." },
15
- source: { synopsis: "source FILE", description: "Read and execute commands from FILE in the current shell environment." },
15
+ source: { synopsis: "source FILE", description: "Read and execute commands from FILE in the current shell environment. Shell sources /etc/profile and ~/.liforc on startup." },
16
16
  alias: { synopsis: "alias [NAME=VALUE...]", description: "Define or display aliases. Without arguments, lists all aliases." },
17
17
  unalias: { synopsis: "unalias NAME...", description: "Remove alias definitions." },
18
18
  // Filesystem
@@ -85,6 +85,19 @@ const a = {
85
85
  gunzip: { synopsis: "gunzip [-k] FILE...", description: "Decompress gzip files. -k keep original." },
86
86
  zip: { synopsis: "zip [-r] ARCHIVE FILE...", description: "Package and compress files. -r recursive." },
87
87
  unzip: { synopsis: "unzip [-lo] ARCHIVE", description: "Extract files from a ZIP archive. -l list, -o overwrite." },
88
+ // Text editors & pagers
89
+ nano: { synopsis: "nano [FILE]", description: "A simple text editor. ^O save, ^X exit, ^K cut line, ^U paste, ^W search, arrow keys to navigate." },
90
+ less: { synopsis: "less [FILE]", description: "View file contents one screen at a time. j/k scroll, f/b page, /pattern search, n/N next/prev match, q quit." },
91
+ // Text utilities (continued)
92
+ seq: { synopsis: "seq [-s SEP] [FIRST [INCR]] LAST", description: "Print a sequence of numbers from FIRST to LAST with optional INCRement. -s sets separator (default newline)." },
93
+ tac: { synopsis: "tac [FILE...]", description: "Concatenate and print files in reverse line order (opposite of cat)." },
94
+ base64: { synopsis: "base64 [-d] [-w COLS] [FILE]", description: "Base64 encode or decode data. -d decode, -w wrap encoded lines at COLS (default 76, 0 disables)." },
95
+ strings: { synopsis: "strings [-n MIN] [FILE...]", description: "Print sequences of printable characters from files. -n sets minimum string length (default 4)." },
96
+ sha256sum: { synopsis: "sha256sum [-c FILE] [FILE...]", description: "Compute or verify SHA-256 checksums. -c reads checksums from FILE and verifies them." },
97
+ // Fun
98
+ sl: { synopsis: "sl", description: "Steam Locomotive. Displays a train animation. A classic punishment for mistyping ls." },
99
+ fastfetch: { synopsis: "fastfetch [--logo default|small|none] [--color COLOR]", description: "Display system information with a custom Lifo logo. Config at ~/.config/fastfetch/config.json. Supports custom logos, colors (256-color), and module selection." },
100
+ neofetch: { synopsis: "neofetch", description: "Alias for fastfetch. Display system information with a custom Lifo logo." },
88
101
  // Node.js
89
102
  node: { synopsis: "node [-e CODE] [FILE]", description: "Execute JavaScript using the Node.js-compatible runtime." },
90
103
  pkg: { synopsis: "pkg install|remove|list [PACKAGE]", description: "Package manager for installing and managing packages." }
@@ -98,11 +111,11 @@ const a = {
98
111
  return s.stderr.write(`man: -k requires a keyword
99
112
  `), 1;
100
113
  const n = s.args[1].toLowerCase();
101
- let t = !1;
102
- for (const [o, r] of Object.entries(a))
103
- (o.includes(n) || r.synopsis.toLowerCase().includes(n) || r.description.toLowerCase().includes(n)) && (s.stdout.write(`${o}(1) - ${r.description.split(".")[0]}
104
- `), t = !0);
105
- return t ? 0 : (s.stderr.write(`man: nothing appropriate for "${s.args[1]}"
114
+ let o = !1;
115
+ for (const [r, t] of Object.entries(a))
116
+ (r.includes(n) || t.synopsis.toLowerCase().includes(n) || t.description.toLowerCase().includes(n)) && (s.stdout.write(`${r}(1) - ${t.description.split(".")[0]}
117
+ `), o = !0);
118
+ return o ? 0 : (s.stderr.write(`man: nothing appropriate for "${s.args[1]}"
106
119
  `), 1);
107
120
  }
108
121
  const i = s.args[0], e = a[i];
@@ -1,5 +1,5 @@
1
1
  import { p as i } from "./args-CG6b9cZt.js";
2
- import { r as p, V as m } from "./index-BkFxAA1M.js";
2
+ import { r as p, V as m } from "./index-BjKSFBDg.js";
3
3
  const d = {
4
4
  parents: { type: "boolean", short: "p" }
5
5
  }, l = async (r) => {
@@ -1,5 +1,5 @@
1
1
  import { p as d } from "./args-CG6b9cZt.js";
2
- import { r as p } from "./index-BkFxAA1M.js";
2
+ import { r as p } from "./index-BjKSFBDg.js";
3
3
  const f = {
4
4
  directory: { type: "boolean", short: "d" },
5
5
  tmpdir: { type: "string", short: "p" }
@@ -1,4 +1,4 @@
1
- import { r as a, b as n, V as o } from "./index-BkFxAA1M.js";
1
+ import { r as a, b as n, V as o } from "./index-BjKSFBDg.js";
2
2
  const f = async (r) => {
3
3
  if (r.args.length < 2)
4
4
  return r.stderr.write(`mv: missing operand