@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.
- package/dist/{awk-C3Y4kjgp.js → awk-CC_Qo0hQ.js} +1 -1
- package/dist/base64-BBckAmkE.js +72 -0
- package/dist/{basename-C58k3uOT.js → basename-BIICW06y.js} +1 -1
- package/dist/{cat-B07HGjDg.js → cat-Jv35D4BV.js} +1 -1
- package/dist/{chmod-D03g3iaw.js → chmod-Bh-u8XOr.js} +1 -1
- package/dist/{chown-Cdv5fyX4.js → chown-Dv7xfl2a.js} +1 -1
- package/dist/commands/registry.d.ts.map +1 -1
- package/dist/commands/system/fastfetch.d.ts +4 -0
- package/dist/commands/system/fastfetch.d.ts.map +1 -0
- package/dist/commands/system/logout.d.ts +5 -0
- package/dist/commands/system/logout.d.ts.map +1 -0
- package/dist/commands/system/man.d.ts.map +1 -1
- package/dist/commands/system/sha256sum.d.ts +4 -0
- package/dist/commands/system/sha256sum.d.ts.map +1 -0
- package/dist/commands/system/sl.d.ts +4 -0
- package/dist/commands/system/sl.d.ts.map +1 -0
- package/dist/commands/system/whoami.d.ts.map +1 -1
- package/dist/commands/text/base64.d.ts +4 -0
- package/dist/commands/text/base64.d.ts.map +1 -0
- package/dist/commands/text/less.d.ts +4 -0
- package/dist/commands/text/less.d.ts.map +1 -0
- package/dist/commands/text/nano.d.ts +4 -0
- package/dist/commands/text/nano.d.ts.map +1 -0
- package/dist/commands/text/seq.d.ts +4 -0
- package/dist/commands/text/seq.d.ts.map +1 -0
- package/dist/commands/text/strings.d.ts +4 -0
- package/dist/commands/text/strings.d.ts.map +1 -0
- package/dist/commands/text/tac.d.ts +4 -0
- package/dist/commands/text/tac.d.ts.map +1 -0
- package/dist/commands/types.d.ts +1 -0
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/{cp-Bbw4TzMN.js → cp-CB-sGTRH.js} +1 -1
- package/dist/{cut-CMbXY7Ad.js → cut-B79kgCm4.js} +1 -1
- package/dist/{diff-CWzH8232.js → diff-D5Ej-JEe.js} +1 -1
- package/dist/{dirname-BbYKtWvZ.js → dirname-w2Y6csox.js} +1 -1
- package/dist/{du-DN_vLBho.js → du-UupzdKc_.js} +1 -1
- package/dist/fastfetch-aPM9Z3ym.js +310 -0
- package/dist/{file-CS6xn5J5.js → file-DOl4Wjtc.js} +1 -1
- package/dist/{find-D9R0im6o.js → find-C0T-P7sl.js} +1 -1
- package/dist/{grep-25tZUwuB.js → grep-Blwrv9k5.js} +1 -1
- package/dist/{gunzip-BQDl1oe1.js → gunzip-R7EtgP15.js} +1 -1
- package/dist/{gzip-alBLg0ER.js → gzip-BxF7M1np.js} +1 -1
- package/dist/{head-CCNOHUfb.js → head-CJwcsX18.js} +1 -1
- package/dist/{index-BkFxAA1M.js → index-BjKSFBDg.js} +2268 -2171
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -31
- package/dist/kernel/index.d.ts.map +1 -1
- package/dist/less-B0gFLJ_7.js +230 -0
- package/dist/{ls-CwFymhoV.js → ls-YnhMRefh.js} +1 -1
- package/dist/{man-CJ5pI0_W.js → man-Dg26tZ-a.js} +19 -6
- package/dist/{mkdir-BeBRuKQB.js → mkdir-DY1P3Jxj.js} +1 -1
- package/dist/{mktemp-BH7VNuq2.js → mktemp-BRzo2c8y.js} +1 -1
- package/dist/{mv-Cs7iKh80.js → mv-bH08L-F_.js} +1 -1
- package/dist/nano-CueO2oS0.js +304 -0
- package/dist/{nl-CTYHzA0y.js → nl-D26SSOD4.js} +1 -1
- package/dist/pkg/lifo-runtime.d.ts.map +1 -1
- package/dist/{realpath-Dc39KAn2.js → realpath-BH29Lem_.js} +1 -1
- package/dist/{rev-B3BJN7EV.js → rev-ySwmRf_K.js} +1 -1
- package/dist/{rm-vurGL_vt.js → rm-D7iWUUE2.js} +1 -1
- package/dist/{rmdir-BhhF1qiD.js → rmdir-BLtdNjt1.js} +1 -1
- package/dist/{sed-eDCC5m3U.js → sed-DwBPYYFb.js} +1 -1
- package/dist/seq-B01YKIbO.js +37 -0
- package/dist/sha256sum-DED6ePiU.js +64 -0
- package/dist/shell/Shell.d.ts +1 -0
- package/dist/shell/Shell.d.ts.map +1 -1
- package/dist/shell/interpreter.d.ts.map +1 -1
- package/dist/shell/terminal-stdin.d.ts +4 -0
- package/dist/shell/terminal-stdin.d.ts.map +1 -1
- package/dist/sl-Dv4iPBN6.js +138 -0
- package/dist/{sort-D0hbtaXP.js → sort-OXqZY83v.js} +1 -1
- package/dist/{stat-BqJ_Rfbb.js → stat-BvwNpE5B.js} +1 -1
- package/dist/strings-BesRwUt_.js +42 -0
- package/dist/tac-D4BMSdj9.js +31 -0
- package/dist/{tail-B70DgbwP.js → tail-xVmLkzJK.js} +1 -1
- package/dist/{tar-BmEaNNGv.js → tar-BHRJ0-4j.js} +1 -1
- package/dist/{tee-CkXYLcZC.js → tee-DxygINEJ.js} +1 -1
- package/dist/{touch-By5snYSz.js → touch-DCb9Qn5q.js} +1 -1
- package/dist/{tree-OO91GDuy.js → tree-4QpgsnA0.js} +1 -1
- package/dist/{uniq-Dz_ycdnR.js → uniq-xmgE0zRj.js} +1 -1
- package/dist/{unzip-Db0slBDW.js → unzip-CDKcoB0B.js} +1 -1
- package/dist/{wc-Dd6SghmQ.js → wc-B-jNRfLa.js} +1 -1
- package/dist/{wget-BmoTfBZi.js → wget-CO-45JoL.js} +1 -1
- package/dist/whoami-Y18wqme3.js +25 -0
- package/dist/{zip-AoFdCM-l.js → zip-Cu1DzbAu.js} +1 -1
- package/package.json +2 -2
- 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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EACV,cAAc,EACd,UAAU,EACV,aAAa,EACb,eAAe,EACf,SAAS,GACV,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAGhG,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACV,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,aAAa,EACb,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACtF,YAAY,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACtG,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAChF,YAAY,EACV,OAAO,EACP,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
17
|
-
|
|
16
|
+
L as ContentStore,
|
|
17
|
+
T as DIM,
|
|
18
18
|
R as ErrorCode,
|
|
19
19
|
I as GREEN,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
|
52
|
-
Q as
|
|
53
|
-
X as
|
|
54
|
-
$ as
|
|
55
|
-
aa as
|
|
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
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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;
|
|
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-
|
|
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
|
|
102
|
-
for (const [
|
|
103
|
-
(
|
|
104
|
-
`),
|
|
105
|
-
return
|
|
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];
|