@fnndsc/brasa 0.56.2 → 0.56.3
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/buildinfo.json +1 -1
- package/dist/builtins/berth/berthCube.d.ts +3 -2
- package/dist/builtins/berth/berthCube.js +5 -10
- package/dist/builtins/berth/berthCube.js.map +1 -1
- package/dist/builtins/debug.d.ts +24 -3
- package/dist/builtins/debug.js +66 -13
- package/dist/builtins/debug.js.map +1 -1
- package/dist/builtins/fs/acl.args.d.ts +5 -38
- package/dist/builtins/fs/acl.args.js +6 -72
- package/dist/builtins/fs/acl.args.js.map +1 -1
- package/dist/builtins/fs/acl.d.ts +100 -10
- package/dist/builtins/fs/acl.js +222 -68
- package/dist/builtins/fs/acl.js.map +1 -1
- package/dist/builtins/fs/cat.args.d.ts +14 -15
- package/dist/builtins/fs/cat.args.js +13 -40
- package/dist/builtins/fs/cat.args.js.map +1 -1
- package/dist/builtins/fs/cat.d.ts +40 -3
- package/dist/builtins/fs/cat.js +89 -10
- package/dist/builtins/fs/cat.js.map +1 -1
- package/dist/builtins/fs/cd.d.ts +24 -6
- package/dist/builtins/fs/cd.js +71 -18
- package/dist/builtins/fs/cd.js.map +1 -1
- package/dist/builtins/fs/configWrite.d.ts +24 -8
- package/dist/builtins/fs/configWrite.js +77 -36
- package/dist/builtins/fs/configWrite.js.map +1 -1
- package/dist/builtins/fs/cp.d.ts +39 -4
- package/dist/builtins/fs/cp.js +120 -55
- package/dist/builtins/fs/cp.js.map +1 -1
- package/dist/builtins/fs/du.d.ts +59 -33
- package/dist/builtins/fs/du.js +111 -79
- package/dist/builtins/fs/du.js.map +1 -1
- package/dist/builtins/fs/edit.d.ts +19 -4
- package/dist/builtins/fs/edit.js +77 -16
- package/dist/builtins/fs/edit.js.map +1 -1
- package/dist/builtins/fs/find.d.ts +25 -0
- package/dist/builtins/fs/find.js +76 -5
- package/dist/builtins/fs/find.js.map +1 -1
- package/dist/builtins/fs/mkdir.d.ts +28 -18
- package/dist/builtins/fs/mkdir.js +95 -66
- package/dist/builtins/fs/mkdir.js.map +1 -1
- package/dist/builtins/fs/mv.d.ts +34 -4
- package/dist/builtins/fs/mv.js +129 -64
- package/dist/builtins/fs/mv.js.map +1 -1
- package/dist/builtins/fs/pull.args.d.ts +56 -17
- package/dist/builtins/fs/pull.args.js +16 -66
- package/dist/builtins/fs/pull.args.js.map +1 -1
- package/dist/builtins/fs/pull.d.ts +62 -0
- package/dist/builtins/fs/pull.js +86 -22
- package/dist/builtins/fs/pull.js.map +1 -1
- package/dist/builtins/fs/pwd.d.ts +19 -5
- package/dist/builtins/fs/pwd.js +62 -8
- package/dist/builtins/fs/pwd.js.map +1 -1
- package/dist/builtins/fs/rm.d.ts +58 -21
- package/dist/builtins/fs/rm.js +99 -82
- package/dist/builtins/fs/rm.js.map +1 -1
- package/dist/builtins/fs/rmdir.d.ts +29 -11
- package/dist/builtins/fs/rmdir.js +87 -36
- package/dist/builtins/fs/rmdir.js.map +1 -1
- package/dist/builtins/fs/touch.d.ts +44 -9
- package/dist/builtins/fs/touch.js +91 -27
- package/dist/builtins/fs/touch.js.map +1 -1
- package/dist/builtins/fs/tree.d.ts +36 -9
- package/dist/builtins/fs/tree.js +126 -36
- package/dist/builtins/fs/tree.js.map +1 -1
- package/dist/builtins/fs/upload.d.ts +22 -3
- package/dist/builtins/fs/upload.js +82 -14
- package/dist/builtins/fs/upload.js.map +1 -1
- package/dist/builtins/fs/xattr.args.d.ts +12 -33
- package/dist/builtins/fs/xattr.args.js +17 -95
- package/dist/builtins/fs/xattr.args.js.map +1 -1
- package/dist/builtins/fs/xattr.d.ts +98 -8
- package/dist/builtins/fs/xattr.js +163 -24
- package/dist/builtins/fs/xattr.js.map +1 -1
- package/dist/builtins/games/bytes.d.ts +201 -5
- package/dist/builtins/games/bytes.js +255 -54
- package/dist/builtins/games/bytes.js.map +1 -1
- package/dist/builtins/games/chimes.d.ts +180 -3
- package/dist/builtins/games/chimes.js +203 -26
- package/dist/builtins/games/chimes.js.map +1 -1
- package/dist/builtins/games/chrislab.d.ts +101 -3
- package/dist/builtins/games/chrislab.js +117 -17
- package/dist/builtins/games/chrislab.js.map +1 -1
- package/dist/builtins/games/cowsay.d.ts +93 -2
- package/dist/builtins/games/cowsay.js +90 -31
- package/dist/builtins/games/cowsay.js.map +1 -1
- package/dist/builtins/games/figlet.d.ts +70 -2
- package/dist/builtins/games/figlet.js +83 -6
- package/dist/builtins/games/figlet.js.map +1 -1
- package/dist/builtins/games/lab.d.ts +104 -5
- package/dist/builtins/games/lab.js +144 -6
- package/dist/builtins/games/lab.js.map +1 -1
- package/dist/builtins/games/lolcat.d.ts +61 -1
- package/dist/builtins/games/lolcat.js +59 -24
- package/dist/builtins/games/lolcat.js.map +1 -1
- package/dist/builtins/games/morse.d.ts +36 -1
- package/dist/builtins/games/morse.js +50 -2
- package/dist/builtins/games/morse.js.map +1 -1
- package/dist/builtins/games/numbers.d.ts +241 -5
- package/dist/builtins/games/numbers.js +298 -23
- package/dist/builtins/games/numbers.js.map +1 -1
- package/dist/builtins/games/play.d.ts +96 -6
- package/dist/builtins/games/play.js +137 -6
- package/dist/builtins/games/play.js.map +1 -1
- package/dist/builtins/games/qr.d.ts +40 -1
- package/dist/builtins/games/qr.js +51 -2
- package/dist/builtins/games/qr.js.map +1 -1
- package/dist/builtins/games/show.d.ts +131 -6
- package/dist/builtins/games/show.js +208 -20
- package/dist/builtins/games/show.js.map +1 -1
- package/dist/builtins/games/sky.d.ts +178 -4
- package/dist/builtins/games/sky.js +228 -12
- package/dist/builtins/games/sky.js.map +1 -1
- package/dist/builtins/games/text.d.ts +258 -7
- package/dist/builtins/games/text.js +310 -29
- package/dist/builtins/games/text.js.map +1 -1
- package/dist/builtins/games/trek.d.ts +67 -3
- package/dist/builtins/games/trek.js +63 -10
- package/dist/builtins/games/trek.js.map +1 -1
- package/dist/builtins/games/wtf.d.ts +58 -1
- package/dist/builtins/games/wtf.js +67 -6
- package/dist/builtins/games/wtf.js.map +1 -1
- package/dist/builtins/help.d.ts +38 -2
- package/dist/builtins/help.js +76 -769
- package/dist/builtins/help.js.map +1 -1
- package/dist/builtins/net/connect.d.ts +36 -3
- package/dist/builtins/net/connect.js +84 -26
- package/dist/builtins/net/connect.js.map +1 -1
- package/dist/builtins/net/cubepath.d.ts +49 -5
- package/dist/builtins/net/cubepath.js +69 -27
- package/dist/builtins/net/cubepath.js.map +1 -1
- package/dist/builtins/net/logout.d.ts +13 -4
- package/dist/builtins/net/logout.js +49 -3
- package/dist/builtins/net/logout.js.map +1 -1
- package/dist/builtins/net/netstat.d.ts +29 -4
- package/dist/builtins/net/netstat.js +64 -23
- package/dist/builtins/net/netstat.js.map +1 -1
- package/dist/builtins/net/pacs.d.ts +169 -15
- package/dist/builtins/net/pacs.js +92 -33
- package/dist/builtins/net/pacs.js.map +1 -1
- package/dist/builtins/net/query.args.d.ts +95 -0
- package/dist/builtins/net/query.args.js +26 -0
- package/dist/builtins/net/query.args.js.map +1 -0
- package/dist/builtins/net/query.d.ts +98 -5
- package/dist/builtins/net/query.js +89 -83
- package/dist/builtins/net/query.js.map +1 -1
- package/dist/builtins/net/status.d.ts +5 -3
- package/dist/builtins/net/status.js +5 -12
- package/dist/builtins/net/status.js.map +1 -1
- package/dist/builtins/parametersofplugin.d.ts +82 -3
- package/dist/builtins/parametersofplugin.js +79 -23
- package/dist/builtins/parametersofplugin.js.map +1 -1
- package/dist/builtins/proc.d.ts +210 -3
- package/dist/builtins/proc.js +210 -119
- package/dist/builtins/proc.js.map +1 -1
- package/dist/builtins/res/compute.d.ts +67 -3
- package/dist/builtins/res/compute.js +121 -35
- package/dist/builtins/res/compute.js.map +1 -1
- package/dist/builtins/res/dicom.d.ts +52 -3
- package/dist/builtins/res/dicom.js +82 -34
- package/dist/builtins/res/dicom.js.map +1 -1
- package/dist/builtins/res/expect.d.ts +52 -3
- package/dist/builtins/res/expect.js +92 -29
- package/dist/builtins/res/expect.js.map +1 -1
- package/dist/builtins/res/feed.d.ts +475 -3
- package/dist/builtins/res/feed.js +253 -158
- package/dist/builtins/res/feed.js.map +1 -1
- package/dist/builtins/res/files.d.ts +517 -3
- package/dist/builtins/res/files.js +124 -44
- package/dist/builtins/res/files.js.map +1 -1
- package/dist/builtins/res/gather.d.ts +113 -3
- package/dist/builtins/res/gather.js +153 -44
- package/dist/builtins/res/gather.js.map +1 -1
- package/dist/builtins/res/gather.process.d.ts +27 -19
- package/dist/builtins/res/gather.process.js +29 -59
- package/dist/builtins/res/gather.process.js.map +1 -1
- package/dist/builtins/res/group.d.ts +284 -3
- package/dist/builtins/res/group.js +147 -76
- package/dist/builtins/res/group.js.map +1 -1
- package/dist/builtins/res/image.d.ts +30 -2
- package/dist/builtins/res/image.js +62 -10
- package/dist/builtins/res/image.js.map +1 -1
- package/dist/builtins/res/play.d.ts +71 -9
- package/dist/builtins/res/play.js +124 -82
- package/dist/builtins/res/play.js.map +1 -1
- package/dist/builtins/res/plugininstance.d.ts +307 -2
- package/dist/builtins/res/plugininstance.js +122 -50
- package/dist/builtins/res/plugininstance.js.map +1 -1
- package/dist/builtins/res/pluginmeta.d.ts +244 -2
- package/dist/builtins/res/pluginmeta.js +98 -40
- package/dist/builtins/res/pluginmeta.js.map +1 -1
- package/dist/builtins/res/record.d.ts +37 -3
- package/dist/builtins/res/record.js +127 -57
- package/dist/builtins/res/record.js.map +1 -1
- package/dist/builtins/res/resourceList.d.ts +136 -0
- package/dist/builtins/res/resourceList.js +51 -0
- package/dist/builtins/res/resourceList.js.map +1 -0
- package/dist/builtins/res/tag.d.ts +244 -3
- package/dist/builtins/res/tag.js +97 -41
- package/dist/builtins/res/tag.js.map +1 -1
- package/dist/builtins/res/user.d.ts +122 -3
- package/dist/builtins/res/user.js +83 -21
- package/dist/builtins/res/user.js.map +1 -1
- package/dist/builtins/res/workflow.d.ts +244 -2
- package/dist/builtins/res/workflow.js +97 -40
- package/dist/builtins/res/workflow.js.map +1 -1
- package/dist/builtins/store.d.ts +85 -3
- package/dist/builtins/store.js +135 -68
- package/dist/builtins/store.js.map +1 -1
- package/dist/builtins/sys/apropos.d.ts +80 -5
- package/dist/builtins/sys/apropos.js +121 -15
- package/dist/builtins/sys/apropos.js.map +1 -1
- package/dist/builtins/sys/cal.d.ts +44 -5
- package/dist/builtins/sys/cal.js +57 -10
- package/dist/builtins/sys/cal.js.map +1 -1
- package/dist/builtins/sys/command.d.ts +20 -0
- package/dist/builtins/sys/command.js +31 -0
- package/dist/builtins/sys/command.js.map +1 -1
- package/dist/builtins/sys/context.d.ts +13 -3
- package/dist/builtins/sys/context.js +51 -4
- package/dist/builtins/sys/context.js.map +1 -1
- package/dist/builtins/sys/date.d.ts +56 -5
- package/dist/builtins/sys/date.js +63 -9
- package/dist/builtins/sys/date.js.map +1 -1
- package/dist/builtins/sys/echo.d.ts +63 -2
- package/dist/builtins/sys/echo.js +87 -8
- package/dist/builtins/sys/echo.js.map +1 -1
- package/dist/builtins/sys/fortune.d.ts +27 -2
- package/dist/builtins/sys/fortune.js +44 -2
- package/dist/builtins/sys/fortune.js.map +1 -1
- package/dist/builtins/sys/grep.d.ts +245 -11
- package/dist/builtins/sys/grep.js +418 -131
- package/dist/builtins/sys/grep.js.map +1 -1
- package/dist/builtins/sys/joblets.d.ts +66 -7
- package/dist/builtins/sys/joblets.js +101 -14
- package/dist/builtins/sys/joblets.js.map +1 -1
- package/dist/builtins/sys/motd.d.ts +37 -3
- package/dist/builtins/sys/motd.js +49 -8
- package/dist/builtins/sys/motd.js.map +1 -1
- package/dist/builtins/sys/notes.d.ts +75 -3
- package/dist/builtins/sys/notes.js +90 -29
- package/dist/builtins/sys/notes.js.map +1 -1
- package/dist/builtins/sys/physicalmode.d.ts +24 -3
- package/dist/builtins/sys/physicalmode.js +68 -14
- package/dist/builtins/sys/physicalmode.js.map +1 -1
- package/dist/builtins/sys/tasks.d.ts +74 -5
- package/dist/builtins/sys/tasks.js +102 -14
- package/dist/builtins/sys/tasks.js.map +1 -1
- package/dist/builtins/sys/textFilters.d.ts +673 -41
- package/dist/builtins/sys/textFilters.js +718 -263
- package/dist/builtins/sys/textFilters.js.map +1 -1
- package/dist/builtins/sys/timing.d.ts +24 -3
- package/dist/builtins/sys/timing.js +67 -14
- package/dist/builtins/sys/timing.js.map +1 -1
- package/dist/builtins/sys/variables.d.ts +70 -4
- package/dist/builtins/sys/variables.js +103 -31
- package/dist/builtins/sys/variables.js.map +1 -1
- package/dist/builtins/sys/version.d.ts +27 -2
- package/dist/builtins/sys/version.js +48 -3
- package/dist/builtins/sys/version.js.map +1 -1
- package/dist/builtins/sys/weather.d.ts +92 -15
- package/dist/builtins/sys/weather.js +71 -45
- package/dist/builtins/sys/weather.js.map +1 -1
- package/dist/builtins/sys/whoami.d.ts +38 -18
- package/dist/builtins/sys/whoami.js +112 -8
- package/dist/builtins/sys/whoami.js.map +1 -1
- package/dist/builtins/utils.d.ts +0 -37
- package/dist/builtins/utils.js +0 -86
- package/dist/builtins/utils.js.map +1 -1
- package/dist/chris/chrisCommands.js +58 -152
- package/dist/chris/chrisCommands.js.map +1 -1
- package/dist/chris/commandFallback.d.ts +12 -0
- package/dist/chris/commandFallback.js +47 -0
- package/dist/chris/commandFallback.js.map +1 -1
- package/dist/chris/filesystem.js +7 -5
- package/dist/chris/filesystem.js.map +1 -1
- package/dist/chris/help.js +0 -1018
- package/dist/chris/help.js.map +1 -1
- package/dist/chris/kinds.d.ts +21 -0
- package/dist/chris/kinds.js +114 -2
- package/dist/chris/kinds.js.map +1 -1
- package/dist/chris/mounts.d.ts +4 -4
- package/dist/chris/mounts.js +9 -16
- package/dist/chris/mounts.js.map +1 -1
- package/dist/chris/navigation.d.ts +2 -3
- package/dist/chris/navigation.js +6 -20
- package/dist/chris/navigation.js.map +1 -1
- package/dist/chris/pacsResources.d.ts +259 -0
- package/dist/chris/pacsResources.js +168 -0
- package/dist/chris/pacsResources.js.map +1 -0
- package/dist/core/commandDeclaration.d.ts +97 -7
- package/dist/core/commandDeclaration.js +21 -0
- package/dist/core/commandDeclaration.js.map +1 -1
- package/dist/core/commandParse.js +65 -17
- package/dist/core/commandParse.js.map +1 -1
- package/dist/core/commandRegistry.d.ts +4 -3
- package/dist/core/commandRegistry.js +36 -8
- package/dist/core/commandRegistry.js.map +1 -1
- package/dist/core/commandSchema.js +5 -2
- package/dist/core/commandSchema.js.map +1 -1
- package/dist/core/commandUsage.d.ts +15 -0
- package/dist/core/commandUsage.js +59 -7
- package/dist/core/commandUsage.js.map +1 -1
- package/dist/core/coreCommands.js +63 -212
- package/dist/core/coreCommands.js.map +1 -1
- package/dist/core/paths.d.ts +29 -1
- package/dist/core/paths.js +15 -2
- package/dist/core/paths.js.map +1 -1
- package/dist/core/preprocess.d.ts +3 -4
- package/dist/core/preprocess.js +4 -5
- package/dist/core/preprocess.js.map +1 -1
- package/dist/lib/completer/declared.js +7 -4
- package/dist/lib/completer/declared.js.map +1 -1
- package/dist/lib/completer/index.js +2 -7
- package/dist/lib/completer/index.js.map +1 -1
- package/dist/lib/parser.d.ts +0 -8
- package/dist/lib/parser.js +0 -11
- package/dist/lib/parser.js.map +1 -1
- package/dist/lib/vfs/vfs.d.ts +2 -1
- package/dist/lib/vfs/vfs.js +5 -4
- package/dist/lib/vfs/vfs.js.map +1 -1
- package/dist/notes.json +1 -1
- package/package.json +3 -3
package/dist/builtins/fs/find.js
CHANGED
|
@@ -6,7 +6,10 @@
|
|
|
6
6
|
* The walk reads every folder through the listing cache (`vfs.listing_get`),
|
|
7
7
|
* the same listings `ls` reads, so a tree already seen is walked without a
|
|
8
8
|
* word to CUBE; only a folder never listed, or one whose listing expired, is
|
|
9
|
-
* fetched.
|
|
9
|
+
* fetched. A starting point is walked where the store keeps it
|
|
10
|
+
* (`storePath_resolve`: a run's `data` path, a link named on the line, as
|
|
11
|
+
* POSIX's `-H`), and links met below it are not followed (POSIX's default),
|
|
12
|
+
* the paths printed as the starting point was typed. A long walk says how far
|
|
10
13
|
* it has got, and Ctrl-C stops it, saying where; a folder that cannot be read
|
|
11
14
|
* is named and the command fails, as POSIX `find` does, without stopping the
|
|
12
15
|
* walk.
|
|
@@ -17,11 +20,15 @@
|
|
|
17
20
|
* `-mindepth N`; actions `-print` (the default) and `-print0`. Anything else
|
|
18
21
|
* is refused by name.
|
|
19
22
|
*
|
|
23
|
+
* Declared in one record (`findCommand`) as an expression grammar: its words
|
|
24
|
+
* are tests and operators, not options, so it parses them itself and
|
|
25
|
+
* completes them itself (`find_complete`).
|
|
26
|
+
*
|
|
20
27
|
* @module
|
|
21
28
|
*/
|
|
22
29
|
import chalk from 'chalk';
|
|
23
30
|
import path from 'path';
|
|
24
|
-
import { path_resolve } from '../utils.js';
|
|
31
|
+
import { path_resolve, storePath_resolve } from '../utils.js';
|
|
25
32
|
import { vfs } from '../../lib/vfs/vfs.js';
|
|
26
33
|
import { vfsDispatcher_get } from '../../core/filesystem.js';
|
|
27
34
|
import { spinner } from '../../lib/spinner.js';
|
|
@@ -299,8 +306,10 @@ export async function builtin_find(args) {
|
|
|
299
306
|
};
|
|
300
307
|
try {
|
|
301
308
|
for (const start of query.starts) {
|
|
302
|
-
|
|
303
|
-
const
|
|
309
|
+
// Walked where the store keeps it: a run's data path, a link on the line.
|
|
310
|
+
const resolved = await storePath_resolve(start);
|
|
311
|
+
const logical = await path_resolve(start);
|
|
312
|
+
const shownRoot = start.startsWith('~') ? logical : start;
|
|
304
313
|
const self = await vfs.listing_get(resolved, { directory: true });
|
|
305
314
|
const entry = self.ok ? self.value.items[0] : undefined;
|
|
306
315
|
if (entry === undefined) {
|
|
@@ -309,7 +318,7 @@ export async function builtin_find(args) {
|
|
|
309
318
|
continue;
|
|
310
319
|
}
|
|
311
320
|
const rootType = itemType_derive(entry);
|
|
312
|
-
visit({ shown: shownRoot, name: path.posix.basename(
|
|
321
|
+
visit({ shown: shownRoot, name: path.posix.basename(logical) || logical, type: rootType, date: entry.date || undefined, depth: 0 });
|
|
313
322
|
if (rootType !== 'd')
|
|
314
323
|
continue;
|
|
315
324
|
// Depth first, in listing order: an entry, then everything beneath it.
|
|
@@ -426,4 +435,66 @@ export async function builtin_find(args) {
|
|
|
426
435
|
const failed = failures !== unjudgedNote;
|
|
427
436
|
return { status: failed ? 'error' : 'ok', rendered: out.join(''), renderedErr: failures === '' ? undefined : (failed ? chalk.red(failures) : chalk.yellow(failures)) };
|
|
428
437
|
}
|
|
438
|
+
/** find's tests, operators and actions, as completion offers them. */
|
|
439
|
+
const FIND_PRIMARIES = [
|
|
440
|
+
'-name', '-iname', '-path', '-ipath', '-type', '-newermt', '-status', '-plugin', '-pipeline', '-workflow',
|
|
441
|
+
'-maxdepth', '-mindepth', '-print', '-print0', '-true', '-false', '-not', '-o', '-or', '-a', '-and',
|
|
442
|
+
];
|
|
443
|
+
/** The tests that take the next word as their argument. */
|
|
444
|
+
const FIND_TAKES_ARGUMENT = new Set([
|
|
445
|
+
'-name', '-iname', '-path', '-ipath', '-wholename', '-type', '-newermt', '-status', '-plugin', '-pipeline', '-workflow', '-maxdepth', '-mindepth',
|
|
446
|
+
]);
|
|
447
|
+
/** The statuses `-status` most often asks for. */
|
|
448
|
+
const FIND_STATUSES = ['finishedSuccessfully', 'finishedWithError', 'started', 'scheduled', 'waiting', 'cancelled'];
|
|
449
|
+
/**
|
|
450
|
+
* Completes one word of a `find` line: a path among the starting points, a
|
|
451
|
+
* test or operator once the expression has begun (or when a dash is typed),
|
|
452
|
+
* and `-type`'s and `-status`'s words.
|
|
453
|
+
*
|
|
454
|
+
* @param words - The words before the one completed.
|
|
455
|
+
* @param word - The word typed so far.
|
|
456
|
+
* @returns The candidates.
|
|
457
|
+
*
|
|
458
|
+
* @example
|
|
459
|
+
* ```ts
|
|
460
|
+
* await find_complete(['.', '-type'], ''); // ['f', 'd', 'l']
|
|
461
|
+
* ```
|
|
462
|
+
*/
|
|
463
|
+
export async function find_complete(words, word) {
|
|
464
|
+
const previous = words.at(-1);
|
|
465
|
+
if (previous === '-type')
|
|
466
|
+
return ['f', 'd', 'l'].filter((kind) => kind.startsWith(word));
|
|
467
|
+
if (previous === '-status')
|
|
468
|
+
return FIND_STATUSES.filter((status) => status.startsWith(word));
|
|
469
|
+
if (previous !== undefined && FIND_TAKES_ARGUMENT.has(previous))
|
|
470
|
+
return [];
|
|
471
|
+
const begun = words.some((one) => /^[-!(]/.test(one));
|
|
472
|
+
if (begun || word.startsWith('-'))
|
|
473
|
+
return FIND_PRIMARIES.filter((primary) => primary.startsWith(word));
|
|
474
|
+
const { cfsPaths_complete } = await import('../../lib/completer/cfsPaths.js');
|
|
475
|
+
return cfsPaths_complete(word);
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* `find [path...] [expression]`: the declaration, an expression grammar.
|
|
479
|
+
*
|
|
480
|
+
* @example
|
|
481
|
+
* ```ts
|
|
482
|
+
* commands_register({ declarations: [findCommand] });
|
|
483
|
+
* ```
|
|
484
|
+
*/
|
|
485
|
+
export const findCommand = {
|
|
486
|
+
name: 'find',
|
|
487
|
+
grammar: 'expression',
|
|
488
|
+
help: {
|
|
489
|
+
usage: 'find [path...] [expression]',
|
|
490
|
+
summary: 'Walk folders and print the paths an expression selects',
|
|
491
|
+
description: "Walk from each path (. when none) and print the paths the expression selects. Tests and actions join by implicit AND, -o, ! (or -not) and parentheses. A starting point is walked where the store keeps it, so a run's data path and a link named on the line are walked at their target; links met below it are not followed. Folders are read from the listing cache, so a tree already seen is walked without asking CUBE; /proc/jobs is answered whole from the session's job index. A long walk says how far it has got; Ctrl-C stops it and says where. Tests: -name PATTERN and -iname PATTERN (the entry's name matches a shell pattern; -iname ignores case); -path PATTERN and -ipath PATTERN (the printed path matches; * crosses /); -type f|d|l (a file, a folder, a link); -newermt DATE (changed after DATE: 2026-10-10, or an ISO time); -status PATTERN (a job's or feed's status in /proc/jobs: finishedWithError, started, ...); -plugin PATTERN (the plugin a job ran in /proc/jobs: pl-dircopy, 'pl-dy*'); -pipeline PATTERN (the pipeline whose run made a job in /proc/jobs; '' is a direct run); -workflow ID (the pipeline run that made a job in /proc/jobs). Options: -maxdepth N and -mindepth N (descend at most N levels; test only from level N). Actions: -print (the default) and -print0 (end each path with NUL).",
|
|
492
|
+
category: 'Files',
|
|
493
|
+
posix: { group: 'Files', differs: 'walks the namespace through the listing cache; a starting point is walked at its target, links below it are not followed' },
|
|
494
|
+
examples: ["find ~ -name '*.nii'", 'find ~/feeds -maxdepth 2 -type d', "find . -name '*.json' -o -name '*.csv'", 'find /proc/jobs -plugin pl-dircopy -status finishedWithError', 'find /proc/jobs -maxdepth 1 -newermt 2026-10-10'],
|
|
495
|
+
},
|
|
496
|
+
holds: [],
|
|
497
|
+
handler: (args) => builtin_find(args),
|
|
498
|
+
complete: find_complete,
|
|
499
|
+
};
|
|
429
500
|
//# sourceMappingURL=find.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../src/builtins/fs/find.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../src/builtins/fs/find.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,19 +17,37 @@ export interface MkdirOptions {
|
|
|
17
17
|
*/
|
|
18
18
|
parents?: boolean;
|
|
19
19
|
}
|
|
20
|
-
/** Parsed `mkdir` arguments, or the option it refuses. */
|
|
21
|
-
export type MkdirArgs = MkdirOptions | {
|
|
22
|
-
refused: string;
|
|
23
|
-
};
|
|
24
20
|
/**
|
|
25
|
-
*
|
|
26
|
-
* Any other option is refused by name rather than taken for a path — a
|
|
27
|
-
* `-p` the session did not know once became a folder named `-p`.
|
|
21
|
+
* `mkdir [-p] <directory…>`: the declaration.
|
|
28
22
|
*
|
|
29
|
-
* @
|
|
30
|
-
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* commands_register({ declarations: [mkdirCommand] });
|
|
26
|
+
* ```
|
|
31
27
|
*/
|
|
32
|
-
export declare
|
|
28
|
+
export declare const mkdirCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
|
|
29
|
+
readonly operands: readonly [{
|
|
30
|
+
readonly name: "paths";
|
|
31
|
+
readonly kind: "cfsPath";
|
|
32
|
+
readonly repeat: true;
|
|
33
|
+
readonly glob: true;
|
|
34
|
+
readonly summary: "The folders to make";
|
|
35
|
+
}];
|
|
36
|
+
readonly options: {
|
|
37
|
+
readonly parents: {
|
|
38
|
+
readonly short: "p";
|
|
39
|
+
readonly long: "parents";
|
|
40
|
+
readonly summary: "Make missing parents too, and take a folder already there as done";
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
}>;
|
|
44
|
+
/**
|
|
45
|
+
* `mkdir` over words already split: the declaration's parse and handler.
|
|
46
|
+
*
|
|
47
|
+
* @param args - The words after `mkdir`.
|
|
48
|
+
* @returns The envelope from {@link mkdir_run}, or the refusal of a bad line.
|
|
49
|
+
*/
|
|
50
|
+
export declare function builtin_mkdir(args: string[]): Promise<CommandEnvelope>;
|
|
33
51
|
/**
|
|
34
52
|
* Creates directories: the shared typed core behind the parsed builtin and
|
|
35
53
|
* the typed API.
|
|
@@ -39,11 +57,3 @@ export declare function mkdirArgs_parse(args: string[]): MkdirArgs;
|
|
|
39
57
|
* model lists per-target outcomes.
|
|
40
58
|
*/
|
|
41
59
|
export declare function mkdir_run(options: MkdirOptions): Promise<CommandEnvelope>;
|
|
42
|
-
/**
|
|
43
|
-
* Creates directories from parsed command-line arguments.
|
|
44
|
-
*
|
|
45
|
-
* @param args - Command line arguments (`-p` and directory paths).
|
|
46
|
-
* @returns The envelope from {@link mkdir_run}, or the refusal of an
|
|
47
|
-
* option mkdir does not have.
|
|
48
|
-
*/
|
|
49
|
-
export declare function builtin_mkdir(args: string[]): Promise<CommandEnvelope>;
|
|
@@ -1,14 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @file
|
|
3
|
-
*
|
|
2
|
+
* @file `mkdir`: makes folders in ChRIS's filesystem (CFS).
|
|
3
|
+
*
|
|
4
|
+
* Declared in one record (`mkdirCommand`): folders, which glob, and `-p`.
|
|
5
|
+
* A path through a link is made where the link points; a path a projection
|
|
6
|
+
* holds itself (a tag under /proc/tags) is the projection's to make.
|
|
7
|
+
*
|
|
8
|
+
* Key components:
|
|
9
|
+
* - mkdirCommand: the declaration.
|
|
10
|
+
* - builtin_mkdir: the declaration run over words already split.
|
|
11
|
+
* - mkdir_run: the typed core behind both, and the typed API.
|
|
12
|
+
*
|
|
13
|
+
* Typical usage:
|
|
14
|
+
* ```ts
|
|
15
|
+
* await builtin_mkdir(['-p', 'experiments/run1']);
|
|
16
|
+
* await mkdir_run({ paths: ['experiments/run1'], parents: true });
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* Dependencies: the session's filesystem and listing cache, the store-path
|
|
20
|
+
* resolver, and the error stack (a provider's reason).
|
|
21
|
+
*
|
|
22
|
+
* @module
|
|
4
23
|
*/
|
|
5
|
-
import { vfsOutcome_convertToResult, mkdir_render } from '@fnndsc/fond';
|
|
24
|
+
import { errno_words, vfsOutcome_convertToResult, mkdir_render } from '@fnndsc/fond';
|
|
6
25
|
import chalk from 'chalk';
|
|
7
|
-
import { path_resolve, error_stripDebugPrefix } from '../utils.js';
|
|
26
|
+
import { path_resolve, storePath_resolve, error_stripDebugPrefix } from '../utils.js';
|
|
8
27
|
import { listingCache_get, vfsDispatcher_get } from '../../core/filesystem.js';
|
|
9
28
|
import { pathEntry_find, entry_isFolder, folderTree_make } from './entries.js';
|
|
10
29
|
import { errorStack } from '@fnndsc/fond';
|
|
11
30
|
import { envelope_ok, envelope_error } from '@fnndsc/menu';
|
|
31
|
+
import { command_declare } from '../../core/commandDeclaration.js';
|
|
32
|
+
import { declaredCommand_run } from '../../core/commandParse.js';
|
|
12
33
|
/**
|
|
13
34
|
* Makes a folder in a projection. Under `-p` a folder already there is
|
|
14
35
|
* fine, as it is on a disk; without it the projection's own refusal stands.
|
|
@@ -66,39 +87,63 @@ function ancestors_invalidate(targetPath) {
|
|
|
66
87
|
}
|
|
67
88
|
}
|
|
68
89
|
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* `-p` the session did not know once became a folder named `-p`.
|
|
90
|
+
* Forgets the listings a made folder changed, by the session's path and by
|
|
91
|
+
* the store's: its parent's, or under `-p` every one above it that is behind.
|
|
72
92
|
*
|
|
73
|
-
* @param
|
|
74
|
-
* @
|
|
93
|
+
* @param shown - The folder as the session names it.
|
|
94
|
+
* @param targetPath - The folder in the store.
|
|
95
|
+
* @param parents - Whether `-p` was given.
|
|
75
96
|
*/
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
paths.push(arg);
|
|
83
|
-
continue;
|
|
84
|
-
}
|
|
85
|
-
if (arg === '--') {
|
|
86
|
-
endOfOptions = true;
|
|
87
|
-
continue;
|
|
88
|
-
}
|
|
89
|
-
if (arg === '--parents') {
|
|
90
|
-
parents = true;
|
|
91
|
-
continue;
|
|
92
|
-
}
|
|
93
|
-
if (arg.startsWith('--'))
|
|
94
|
-
return { refused: `mkdir: unrecognized option '${arg}'` };
|
|
95
|
-
for (const flag of arg.substring(1)) {
|
|
96
|
-
if (flag !== 'p')
|
|
97
|
-
return { refused: `mkdir: invalid option -- '${flag}'` };
|
|
98
|
-
parents = true;
|
|
99
|
-
}
|
|
97
|
+
function listings_forget(shown, targetPath, parents) {
|
|
98
|
+
for (const at of new Set([shown, targetPath])) {
|
|
99
|
+
if (parents)
|
|
100
|
+
ancestors_invalidate(at);
|
|
101
|
+
else
|
|
102
|
+
listingCache_get().cache_invalidate?.(at.substring(0, at.lastIndexOf('/')) || '/');
|
|
100
103
|
}
|
|
101
|
-
|
|
104
|
+
}
|
|
105
|
+
/** What an `mkdir` line may hold. */
|
|
106
|
+
const MKDIR_GRAMMAR = {
|
|
107
|
+
operands: [
|
|
108
|
+
{ name: 'paths', kind: 'cfsPath', repeat: true, glob: true, summary: 'The folders to make' },
|
|
109
|
+
],
|
|
110
|
+
options: {
|
|
111
|
+
parents: { short: 'p', long: 'parents', summary: 'Make missing parents too, and take a folder already there as done' },
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* `mkdir [-p] <directory…>`: the declaration.
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```ts
|
|
119
|
+
* commands_register({ declarations: [mkdirCommand] });
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export const mkdirCommand = command_declare({
|
|
123
|
+
name: 'mkdir',
|
|
124
|
+
grammar: MKDIR_GRAMMAR,
|
|
125
|
+
help: {
|
|
126
|
+
summary: 'Create directories',
|
|
127
|
+
description: 'Makes each folder in ChRIS\'s filesystem. Without -p, as on Linux: a missing parent is "No such file or directory" and an existing folder is "File exists". A path through a link is made where the link points. Under /proc/tags a folder is a tag.',
|
|
128
|
+
category: 'Files',
|
|
129
|
+
posix: { group: 'Files', differs: 'makes CFS folders; -p for parents' },
|
|
130
|
+
examples: [
|
|
131
|
+
'mkdir newdir # Create single directory',
|
|
132
|
+
'mkdir dir1 dir2 # Create multiple directories',
|
|
133
|
+
'mkdir -p experiments/run1 # Create nested directory, parents included',
|
|
134
|
+
'mkdir /proc/tags/urgent # Make a tag (setfattr hangs it on a feed)',
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
handler: async (args) => mkdir_run({ paths: args.operands.paths, parents: args.options.parents }),
|
|
138
|
+
});
|
|
139
|
+
/**
|
|
140
|
+
* `mkdir` over words already split: the declaration's parse and handler.
|
|
141
|
+
*
|
|
142
|
+
* @param args - The words after `mkdir`.
|
|
143
|
+
* @returns The envelope from {@link mkdir_run}, or the refusal of a bad line.
|
|
144
|
+
*/
|
|
145
|
+
export async function builtin_mkdir(args) {
|
|
146
|
+
return declaredCommand_run(mkdirCommand, args);
|
|
102
147
|
}
|
|
103
148
|
/**
|
|
104
149
|
* Creates directories: the shared typed core behind the parsed builtin and
|
|
@@ -119,57 +164,54 @@ export async function mkdir_run(options) {
|
|
|
119
164
|
const outcomes = [];
|
|
120
165
|
for (const pathArg of args) {
|
|
121
166
|
try {
|
|
122
|
-
const
|
|
123
|
-
const
|
|
167
|
+
const shown = await path_resolve(pathArg);
|
|
168
|
+
const targetPath = await storePath_resolve(pathArg);
|
|
124
169
|
// A projection that makes folders (a tag under /proc/tags) makes them
|
|
125
170
|
// itself; one that makes none refuses by name.
|
|
126
171
|
const dispatcher = vfsDispatcher_get();
|
|
127
172
|
if (dispatcher.path_isVirtual(targetPath)) {
|
|
128
173
|
const made = await virtualFolder_make(targetPath, parents);
|
|
129
174
|
if (made.created)
|
|
130
|
-
rendered += `${mkdir_render(
|
|
175
|
+
rendered += `${mkdir_render(shown, true)}\n`;
|
|
131
176
|
else if (made.existed !== true)
|
|
132
177
|
renderedErr += `${chalk.red(refusal_said(`mkdir: cannot create directory '${pathArg}'`))}\n`;
|
|
133
|
-
outcomes.push(made);
|
|
178
|
+
outcomes.push({ ...made, path: shown });
|
|
134
179
|
if (made.created)
|
|
135
|
-
|
|
180
|
+
listings_forget(shown, targetPath, false);
|
|
136
181
|
continue;
|
|
137
182
|
}
|
|
138
183
|
const made = parents ? await folderTree_make(dispatcher, targetPath) : await dispatcher.mkdir(targetPath);
|
|
139
184
|
if (made.ok) {
|
|
140
|
-
rendered += `${mkdir_render(
|
|
141
|
-
outcomes.push({ path:
|
|
142
|
-
|
|
143
|
-
ancestors_invalidate(targetPath);
|
|
144
|
-
else
|
|
145
|
-
listingCache_get().cache_invalidate?.(parentDir);
|
|
185
|
+
rendered += `${mkdir_render(shown, true)}\n`;
|
|
186
|
+
outcomes.push({ path: shown, created: true });
|
|
187
|
+
listings_forget(shown, targetPath, parents);
|
|
146
188
|
continue;
|
|
147
189
|
}
|
|
148
190
|
if (made.errno === 'EEXIST') {
|
|
149
191
|
if (parents && entry_isFolder(await pathEntry_find(dispatcher, targetPath))) {
|
|
150
|
-
outcomes.push({ path:
|
|
192
|
+
outcomes.push({ path: shown, created: false, existed: true });
|
|
151
193
|
}
|
|
152
194
|
else {
|
|
153
195
|
renderedErr += `${chalk.red(`mkdir: cannot create directory '${pathArg}': File exists`)}\n`;
|
|
154
|
-
outcomes.push({ path:
|
|
196
|
+
outcomes.push({ path: shown, created: false });
|
|
155
197
|
}
|
|
156
198
|
continue;
|
|
157
199
|
}
|
|
158
200
|
if (made.errno === 'ENOENT') {
|
|
159
201
|
renderedErr += `${chalk.red(`mkdir: cannot create directory '${pathArg}': No such file or directory`)}\n`;
|
|
160
|
-
outcomes.push({ path:
|
|
202
|
+
outcomes.push({ path: shown, created: false });
|
|
161
203
|
continue;
|
|
162
204
|
}
|
|
163
205
|
if (made.errno === 'ENOTDIR') {
|
|
164
206
|
// A file above the target: CUBE would otherwise have made a folder over it.
|
|
165
207
|
renderedErr += `${chalk.red(`mkdir: cannot create directory '${pathArg}': Not a directory`)}\n`;
|
|
166
|
-
outcomes.push({ path:
|
|
208
|
+
outcomes.push({ path: shown, created: false });
|
|
167
209
|
continue;
|
|
168
210
|
}
|
|
169
|
-
rendered += `${mkdir_render(
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
outcomes.push({ path:
|
|
211
|
+
rendered += `${mkdir_render(shown, false)}\n`;
|
|
212
|
+
// A refusal with no words of its own (a store that will not, EACCES) still says why.
|
|
213
|
+
renderedErr += `${chalk.red(made.reason ?? `mkdir: cannot create directory '${pathArg}': ${errno_words(made.errno)}`)}\n`;
|
|
214
|
+
outcomes.push({ path: shown, created: false });
|
|
173
215
|
}
|
|
174
216
|
catch (e) {
|
|
175
217
|
const msg = e instanceof Error ? e.message : String(e);
|
|
@@ -186,17 +228,4 @@ export async function mkdir_run(options) {
|
|
|
186
228
|
}
|
|
187
229
|
return envelope_ok(rendered, model);
|
|
188
230
|
}
|
|
189
|
-
/**
|
|
190
|
-
* Creates directories from parsed command-line arguments.
|
|
191
|
-
*
|
|
192
|
-
* @param args - Command line arguments (`-p` and directory paths).
|
|
193
|
-
* @returns The envelope from {@link mkdir_run}, or the refusal of an
|
|
194
|
-
* option mkdir does not have.
|
|
195
|
-
*/
|
|
196
|
-
export async function builtin_mkdir(args) {
|
|
197
|
-
const parsed = mkdirArgs_parse(args);
|
|
198
|
-
if ('refused' in parsed)
|
|
199
|
-
return envelope_error('', undefined, `${chalk.red(parsed.refused)}\n`);
|
|
200
|
-
return mkdir_run(parsed);
|
|
201
|
-
}
|
|
202
231
|
//# sourceMappingURL=mkdir.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mkdir.js","sourceRoot":"","sources":["../../../src/builtins/fs/mkdir.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mkdir.js","sourceRoot":"","sources":["../../../src/builtins/fs/mkdir.ts"],"names":[],"mappings":"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"}
|
package/dist/builtins/fs/mv.d.ts
CHANGED
|
@@ -12,12 +12,42 @@ export interface MvModelData {
|
|
|
12
12
|
failed: number;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
16
|
-
* Supports multiple sources when destination is a directory.
|
|
15
|
+
* `mv [-t] [--target-directory <dir>] <paths…>`: the declaration.
|
|
17
16
|
*
|
|
18
|
-
* @
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* commands_register({ declarations: [mvCommand] });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare const mvCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
|
|
23
|
+
readonly operands: readonly [{
|
|
24
|
+
readonly name: "paths";
|
|
25
|
+
readonly kind: "cfsPath";
|
|
26
|
+
readonly repeat: true;
|
|
27
|
+
readonly glob: true;
|
|
28
|
+
readonly summary: "The sources, then the destination; a lone source asks where it goes";
|
|
29
|
+
}];
|
|
30
|
+
readonly options: {
|
|
31
|
+
readonly askTarget: {
|
|
32
|
+
readonly short: "t";
|
|
33
|
+
readonly summary: "Every operand is a source; asks for the target directory, and the answer must be one";
|
|
34
|
+
};
|
|
35
|
+
readonly targetDirectory: {
|
|
36
|
+
readonly long: "target-directory";
|
|
37
|
+
readonly summary: "Every operand is a source; move into this directory";
|
|
38
|
+
readonly value: {
|
|
39
|
+
readonly name: "dir";
|
|
40
|
+
readonly kind: "cfsPath";
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
}>;
|
|
45
|
+
/**
|
|
46
|
+
* `mv` over words already split: the declaration's parse and handler.
|
|
47
|
+
*
|
|
48
|
+
* @param args - The words after `mv`.
|
|
19
49
|
* @returns An envelope whose rendered text reports progress and results and
|
|
20
|
-
* whose model carries per-source outcomes.
|
|
50
|
+
* whose model carries per-source outcomes, or the refusal of a bad line.
|
|
21
51
|
*/
|
|
22
52
|
export declare function builtin_mv(args: string[]): Promise<CommandEnvelope>;
|
|
23
53
|
/** Typed invocation options for mv. */
|