@mak-98/dirvi-cli 0.1.0 → 0.2.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"dir-buffer-helpers.d.ts","sourceRoot":"","sources":["../../src/application/dir-buffer-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,SAAS,EACV,MAAM,WAAW,CAAC;AAEnB,wBAAgB,WAAW,CACzB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,SAAS,GACd,SAAS,GAAG,SAAS,CA2BvB"}
1
+ {"version":3,"file":"dir-buffer-helpers.d.ts","sourceRoot":"","sources":["../../src/application/dir-buffer-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEvE,wBAAgB,WAAW,CACzB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,SAAS,GACd,SAAS,GAAG,SAAS,CA2BvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-rows.d.ts","sourceRoot":"","sources":["../../src/application/display-rows.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,SAAS,EACT,QAAQ,EAGT,MAAM,WAAW,CAAC;AAsDnB,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,QAAQ,GACd,UAAU,EAAE,CAEd;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,SAAS,GACd,UAAU,GAAG,SAAS,CAqBxB"}
1
+ {"version":3,"file":"display-rows.d.ts","sourceRoot":"","sources":["../../src/application/display-rows.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,SAAS,EACT,QAAQ,EAIT,MAAM,WAAW,CAAC;AAsDnB,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,QAAQ,GACd,UAAU,EAAE,CAEd;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,SAAS,GACd,UAAU,GAAG,SAAS,CAqBxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"fold-helpers.d.ts","sourceRoot":"","sources":["../../src/application/fold-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGpE,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAEzE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAEnF;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,aAAa,EAAE,EACrB,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,GACnC,QAAQ,CAkBV;AAGD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,SAAS,EAAE,GACnB,QAAQ,CAOV;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,GAAG,QAAQ,CAS1E;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,SAAS,EAAE,EACpB,SAAS,EAAE,aAAa,GACvB,QAAQ,CA8BV"}
1
+ {"version":3,"file":"fold-helpers.d.ts","sourceRoot":"","sources":["../../src/application/fold-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGpE,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAEzE;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,QAAQ,GAAG,SAAS,EAC1B,KAAK,EAAE,SAAS,GACf,OAAO,CAET;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,aAAa,EAAE,EACrB,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,GACnC,QAAQ,CAkBV;AAGD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,QAAQ,CAOvE;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,GAAG,QAAQ,CAS1E;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,SAAS,EAAE,EACpB,SAAS,EAAE,aAAa,GACvB,QAAQ,CA8BV"}
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../src/application/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,aAAa,EAEb,SAAS,EACT,IAAI,EAGL,MAAM,WAAW,CAAC;AAKnB,MAAM,MAAM,MAAM,GACd;IACE,IAAI,EAAE,WAAW,CAAC;CACnB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;CACnB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;CAChB,GACD;IACE,IAAI,EAAE,YAAY,CAAC;CACpB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;CAChB,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AA8EN,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAmNxD"}
1
+ {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../src/application/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,aAAa,EAEb,SAAS,EACT,IAAI,EAGL,MAAM,WAAW,CAAC;AASnB,MAAM,MAAM,MAAM,GACd;IACE,IAAI,EAAE,WAAW,CAAC;CACnB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;CACnB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;CAChB,GACD;IACE,IAAI,EAAE,YAAY,CAAC;CACpB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;CAChB,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AA8EN,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA+MxD"}
@@ -1,5 +1,5 @@
1
1
  import { rowsEqual, entryNamesEqual, } from 'dirvi-lib';
2
- import { updateFoldNodeAtPath, unfoldFoldSequence, addFold } from './fold-helpers.js';
2
+ import { updateFoldNodeAtPath, unfoldFoldSequence, addFold, } from './fold-helpers.js';
3
3
  import { createDisplayRows, displayRowAtPath } from './display-rows.js';
4
4
  import { entryAtPath } from './dir-buffer-helpers.js';
5
5
  function updateEntries(entries, currentPath, newEntries) {
@@ -0,0 +1,12 @@
1
+ import { EntryPath, View } from 'dirvi-lib';
2
+ export type EventMessage = {
3
+ type: 'view';
4
+ view: View;
5
+ } | {
6
+ type: 'displayed-files-paths';
7
+ paths: string[];
8
+ } | {
9
+ type: 'file';
10
+ path: EntryPath;
11
+ };
12
+ //# sourceMappingURL=event-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-message.d.ts","sourceRoot":"","sources":["../../src/domain/event-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
package/dist/index.js CHANGED
@@ -14,10 +14,7 @@ const uiOutput = process.stderr;
14
14
  // separate JSON Lines message.
15
15
  // Note: if you pipe output you'll need to use FORCE_COLOR=3
16
16
  // to keep interactive screen colored.
17
- const print = (message) => {
18
- if (process.stdout.isTTY) {
19
- return;
20
- }
17
+ const emitEventMsg = (message) => {
21
18
  process.stdout.write(`${JSON.stringify(message)}\n`);
22
19
  };
23
20
  const enterAlternateScreen = '\u001b[?1049h\u001b[2J\u001b[H\u001b[?25l';
@@ -48,7 +45,7 @@ program
48
45
  alternateScreenActive = true;
49
46
  }
50
47
  try {
51
- const app = render(_jsx(AppShell, { ...initialProps, print: print, onError: (error) => {
48
+ const app = render(_jsx(AppShell, { ...initialProps, print: (process.stdout.isTTY) ? undefined : emitEventMsg, onError: (error) => {
52
49
  appError = error;
53
50
  } }), { stdout: uiOutput });
54
51
  // Errors thrown while leaving this await still execute the finally block.
package/dist/ui/App.d.ts CHANGED
@@ -1,10 +1,12 @@
1
+ import { DisplayRow } from 'dirvi-lib';
1
2
  import type { UnixAbsolutePath, View } from 'dirvi-lib';
2
- import { PrintMessage } from '../domain/print-message.js';
3
+ import { EventMessage } from '../domain/event-message.js';
3
4
  export type AppProps = {
4
5
  cwdAddress: UnixAbsolutePath;
5
6
  initialView: View;
6
- print?: (message: PrintMessage) => void;
7
+ print?: (message: EventMessage) => void;
7
8
  onError?: (error: Error) => void;
8
9
  };
9
10
  export declare function App({ cwdAddress, initialView, print, onError }: AppProps): import("react").JSX.Element | null;
11
+ export declare function displayedFilePaths(rows: readonly DisplayRow[]): string[];
10
12
  //# sourceMappingURL=App.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAMxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,IAAI,CAAC;IAClB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,wBAAgB,GAAG,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,sCAgHxE"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAqB,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAMxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,IAAI,CAAC;IAClB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,wBAAgB,GAAG,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,sCA+GxE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,EAAE,CAUxE"}
package/dist/ui/App.js CHANGED
@@ -8,14 +8,20 @@ import { inputToInputResult } from '../infrastructure/input.js';
8
8
  import DirEntries from './components/DirEntries.js';
9
9
  import { createDisplayRows } from '../application/display-rows.js';
10
10
  import { entryAtPath } from '../application/dir-buffer-helpers.js';
11
+ import * as path from 'node:path';
11
12
  export function App({ cwdAddress, initialView, print, onError }) {
12
13
  const [view, dispatch] = useReducer(reducer, initialView);
13
14
  const { buffer, folds, cursor } = view;
14
- const [exitStatus, setExitStatus] = useState();
15
+ const displayRows = createDisplayRows(buffer, folds);
15
16
  const pendingInput = useRef(undefined);
17
+ const [exitStatus, setExitStatus] = useState();
16
18
  // Print view on changes
17
19
  useEffect(() => {
18
20
  print?.({ type: 'view', view: view });
21
+ print?.({
22
+ type: 'displayed-files-paths',
23
+ paths: displayedFilePaths(displayRows),
24
+ });
19
25
  }, [view, print]);
20
26
  // --- Input ---
21
27
  useInput((input, key) => {
@@ -85,6 +91,15 @@ export function App({ cwdAddress, initialView, print, onError }) {
85
91
  return null;
86
92
  }
87
93
  // --- JSX ---
88
- const displayRows = createDisplayRows(buffer, folds);
89
- return (_jsx(Box, { flexDirection: "column", children: (buffer.entries.length === 0 || cursor === undefined) ? (_jsx(Text, { dimColor: true, children: "Directory is empty." })) : (_jsx(DirEntries, { rows: displayRows, cursor: cursor })) }));
94
+ return (_jsx(Box, { flexDirection: "column", children: buffer.entries.length === 0 || cursor === undefined ? (_jsx(Text, { dimColor: true, children: "Directory is empty." })) : (_jsx(DirEntries, { rows: displayRows, cursor: cursor })) }));
95
+ }
96
+ export function displayedFilePaths(rows) {
97
+ return rows.flatMap((row) => {
98
+ if ((row.kind !== 'entry') || (row.entry.kind !== 'file')) {
99
+ return [];
100
+ }
101
+ return [
102
+ path.posix.join(...row.parentPath.map(String), String(row.entry.name)),
103
+ ];
104
+ });
90
105
  }
@@ -1,13 +1,13 @@
1
1
  import { UnixAbsolutePath, View } from 'dirvi-lib';
2
- import { PrintMessage } from '../domain/print-message.js';
2
+ import { EventMessage } from '../domain/event-message.js';
3
3
  export type EmptyView = {
4
4
  cursor: undefined;
5
5
  };
6
6
  export type ShellAppProps = {
7
7
  cwdAddress: UnixAbsolutePath;
8
8
  initialView: View | EmptyView;
9
- print?: (message: PrintMessage) => void;
9
+ print?: (message: EventMessage) => void;
10
10
  onError?: (error: Error) => void;
11
11
  };
12
- export declare function AppShell({ cwdAddress, initialView, print, onError }: ShellAppProps): import("react").JSX.Element;
12
+ export declare function AppShell({ cwdAddress, initialView, print, onError, }: ShellAppProps): import("react").JSX.Element;
13
13
  //# sourceMappingURL=AppShell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../src/ui/AppShell.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,aAAa,+BAalF"}
1
+ {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../src/ui/AppShell.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EACvB,UAAU,EACV,WAAW,EACX,KAAK,EACL,OAAO,GACR,EAAE,aAAa,+BAaf"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Text } from 'ink';
3
3
  import { App } from './App.js';
4
- export function AppShell({ cwdAddress, initialView, print, onError }) {
4
+ export function AppShell({ cwdAddress, initialView, print, onError, }) {
5
5
  if (initialView.cursor === undefined) {
6
6
  return _jsx(Text, { dimColor: true, children: "Directory is empty." });
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DirEntries.d.ts","sourceRoot":"","sources":["../../../src/ui/components/DirEntries.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAQpD,iBAAS,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,+BA8D3E;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"DirEntries.d.ts","sourceRoot":"","sources":["../../../src/ui/components/DirEntries.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAQpD,iBAAS,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,+BA0D3E;AAED,eAAe,UAAU,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { UnixEntry } from 'dirvi-lib';
2
- export declare function UnixEntry({ entry, selected }: {
2
+ export declare function UnixEntry({ entry, selected, }: {
3
3
  entry: UnixEntry;
4
4
  selected: boolean;
5
5
  }): import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"UnixEntry.d.ts","sourceRoot":"","sources":["../../../src/ui/components/UnixEntry.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACT,EAAE;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAA;CAClB,+BAuBA"}
1
+ {"version":3,"file":"UnixEntry.d.ts","sourceRoot":"","sources":["../../../src/ui/components/UnixEntry.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,+BAmBA"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Text } from 'ink';
3
- export function UnixEntry({ entry, selected }) {
3
+ export function UnixEntry({ entry, selected, }) {
4
4
  switch (entry.kind) {
5
5
  case 'file':
6
- return (_jsx(Text, { inverse: selected, children: entry.name }));
6
+ return _jsx(Text, { inverse: selected, children: entry.name });
7
7
  case 'symlink':
8
8
  return (_jsxs(Text, { inverse: selected, children: [entry.name, " -> ", entry.target] }));
9
9
  case 'directory':
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mak-98/dirvi-cli",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "A Vim-inspired TUI for browsing directories.",
5
5
  "type": "module",
6
6
  "license": "GPL-3.0-or-later",
@@ -13,7 +13,7 @@
13
13
  ],
14
14
  "dependencies": {
15
15
  "commander": "^13.0.0",
16
- "dirvi-lib": "0.1.0",
16
+ "dirvi-lib": "0.2.0",
17
17
  "ink": "^7.1.1",
18
18
  "react": "^19.0.0"
19
19
  },
@@ -27,6 +27,7 @@
27
27
  "build": "tsc",
28
28
  "dev": "FORCE_COLOR=3 tsx src/index.tsx",
29
29
  "start": "node dist/index.js",
30
- "typecheck": "tsc --noEmit"
30
+ "typecheck": "tsc --noEmit",
31
+ "update-global": "npm install --global @mak-98/dirvi-cli@latest"
31
32
  }
32
33
  }