@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/cat.js
CHANGED
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @file
|
|
2
|
+
* @file `cat`: prints files of ChRIS's filesystem (CFS), text or binary.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Declared in one record (`catCommand`): one or more files, each a path
|
|
5
|
+
* that may be a wildcard, read where the store keeps it
|
|
6
|
+
* (`storePath_resolve`: a path through a link reads what it points at).
|
|
7
|
+
* Binary bytes stream through the active output sink; text returns in the
|
|
8
|
+
* envelope. Text highlighting uses cli-highlight with a forced-color theme
|
|
9
|
+
* only after option/TTY policy has allowed ANSI; ordinary pipe and redirect
|
|
10
|
+
* sinks strip ANSI downstream.
|
|
11
|
+
*
|
|
12
|
+
* Key components:
|
|
13
|
+
* - catCommand: the declaration.
|
|
14
|
+
* - builtin_cat: the declaration run over words already split.
|
|
15
|
+
* - cat_run: the typed core behind both, and the typed API.
|
|
16
|
+
*
|
|
17
|
+
* Typical usage:
|
|
18
|
+
* ```ts
|
|
19
|
+
* await builtin_cat(['--highlight=python', 'source']);
|
|
20
|
+
* await cat_run({ filePaths: ['notes.txt'], binaryMode: false, highlightMode: 'never' });
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* Dependencies: the session's filesystem and output sink, and cli-highlight.
|
|
8
24
|
*
|
|
9
25
|
* @module
|
|
10
26
|
*/
|
|
@@ -14,7 +30,9 @@ import { highlight, supportsLanguage } from 'cli-highlight';
|
|
|
14
30
|
import { vfsDispatcher_get } from '../../core/filesystem.js';
|
|
15
31
|
import { path_resolve, storePath_resolve, error_stripDebugPrefix } from '../utils.js';
|
|
16
32
|
import { sink_get } from '../../core/sink.js';
|
|
17
|
-
import {
|
|
33
|
+
import { command_declare } from '../../core/commandDeclaration.js';
|
|
34
|
+
import { declaredCommand_run } from '../../core/commandParse.js';
|
|
35
|
+
import { CAT_USAGE, } from './cat.args.js';
|
|
18
36
|
import { errorStack, Ok, Err, errno_words, vfsRefusal_text } from '@fnndsc/fond';
|
|
19
37
|
/**
|
|
20
38
|
* A read's answer as a Result, a refusal said on the error stack in the
|
|
@@ -278,8 +296,69 @@ async function textFile_read(target) {
|
|
|
278
296
|
}
|
|
279
297
|
}
|
|
280
298
|
}
|
|
299
|
+
/** What a `cat` line may hold. */
|
|
300
|
+
const CAT_GRAMMAR = {
|
|
301
|
+
operands: [
|
|
302
|
+
{ name: 'files', kind: 'cfsPath', repeat: true, glob: true, summary: 'The files to print, in order' },
|
|
303
|
+
],
|
|
304
|
+
options: {
|
|
305
|
+
binary: { long: 'binary', summary: 'Force byte-for-byte binary output' },
|
|
306
|
+
highlight: {
|
|
307
|
+
long: 'highlight',
|
|
308
|
+
summary: 'Force highlighting: in a cli-highlight language such as python, typescript, or sql; given none, inferred from the filename or content',
|
|
309
|
+
value: { name: 'language', kind: 'word', optional: true },
|
|
310
|
+
},
|
|
311
|
+
noHighlight: { long: 'no-highlight', summary: 'Disable automatic syntax highlighting (wins over --highlight)' },
|
|
312
|
+
},
|
|
313
|
+
};
|
|
314
|
+
/**
|
|
315
|
+
* Runs a parsed `cat` line: its options as the typed core's presentation.
|
|
316
|
+
* `--no-highlight` wins over `--highlight`; a bare `--highlight` (the
|
|
317
|
+
* empty value) infers the language.
|
|
318
|
+
*
|
|
319
|
+
* @param args - The typed line.
|
|
320
|
+
* @returns The files' envelope.
|
|
321
|
+
*/
|
|
322
|
+
async function cat_handle(args) {
|
|
323
|
+
const language = args.options.highlight;
|
|
324
|
+
const highlightMode = args.options.noHighlight ? 'never' : language !== undefined ? 'always' : 'auto';
|
|
325
|
+
return cat_run({
|
|
326
|
+
filePaths: args.operands.files,
|
|
327
|
+
binaryMode: args.options.binary,
|
|
328
|
+
highlightMode,
|
|
329
|
+
...(highlightMode === 'always' && language !== '' ? { highlightLanguage: language } : {}),
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* `cat [--binary] [--highlight[=<language>]] [--no-highlight] <files…>`: the declaration.
|
|
334
|
+
*
|
|
335
|
+
* @example
|
|
336
|
+
* ```ts
|
|
337
|
+
* commands_register({ declarations: [catCommand] });
|
|
338
|
+
* ```
|
|
339
|
+
*/
|
|
340
|
+
export const catCommand = command_declare({
|
|
341
|
+
name: 'cat',
|
|
342
|
+
grammar: CAT_GRAMMAR,
|
|
343
|
+
help: {
|
|
344
|
+
summary: 'Display file contents',
|
|
345
|
+
description: 'Display file contents, with terminal syntax highlighting for recognized text formats. Several files print in order, one after another. A file with a binary extension (.dcm, .png, .zip, ...) is written byte for byte; a path through a link reads what it points at.',
|
|
346
|
+
category: 'Files',
|
|
347
|
+
posix: { group: 'Files', differs: 'reads CFS files' },
|
|
348
|
+
examples: [
|
|
349
|
+
'cat file.txt # Display single file',
|
|
350
|
+
'cat analysis.py # Auto-highlight Python in a terminal',
|
|
351
|
+
'cat source --highlight=python # Force Python highlighting without filename inference',
|
|
352
|
+
'cat config.json --no-highlight # Display raw text',
|
|
353
|
+
'cat file1 file2 # Display multiple files',
|
|
354
|
+
],
|
|
355
|
+
},
|
|
356
|
+
holds: [],
|
|
357
|
+
handler: cat_handle,
|
|
358
|
+
});
|
|
281
359
|
/**
|
|
282
|
-
* Displays the content of one or more files
|
|
360
|
+
* Displays the content of one or more files: the declaration's parse and
|
|
361
|
+
* handler over words already split.
|
|
283
362
|
*
|
|
284
363
|
* Supports multiple files and concatenates their output. Binary mode is applied
|
|
285
364
|
* per recognized file, or consistently to all files when `--binary` is specified.
|
|
@@ -288,12 +367,12 @@ async function textFile_read(target) {
|
|
|
288
367
|
* and the binary auto-detection notice is emitted live on the err channel so it
|
|
289
368
|
* precedes the bytes it describes.
|
|
290
369
|
*
|
|
291
|
-
* @param args -
|
|
370
|
+
* @param args - The words after `cat`.
|
|
292
371
|
* @returns An envelope whose rendered text carries the (highlighted) file
|
|
293
|
-
* contents and whose model lists per-file outcomes.
|
|
372
|
+
* contents and whose model lists per-file outcomes, or the refusal of a bad line.
|
|
294
373
|
*/
|
|
295
374
|
export async function builtin_cat(args) {
|
|
296
|
-
return
|
|
375
|
+
return declaredCommand_run(catCommand, args);
|
|
297
376
|
}
|
|
298
377
|
/**
|
|
299
378
|
* Prints files: the shared typed core behind the parsed builtin and the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat.js","sourceRoot":"","sources":["../../../src/builtins/fs/cat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cat.js","sourceRoot":"","sources":["../../../src/builtins/fs/cat.ts"],"names":[],"mappings":"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"}
|
package/dist/builtins/fs/cd.d.ts
CHANGED
|
@@ -15,19 +15,37 @@ export declare function vfsPath_normalize(logicalPath: string): string;
|
|
|
15
15
|
*/
|
|
16
16
|
export declare function vfsPath_isStructural(cleanPath: string): boolean;
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* Where a CFS path's last part leads when it is a link: the store path the
|
|
19
|
+
* one resolver gives for the whole path, when that differs from the entry
|
|
20
|
+
* the path names (its folder resolved, its own name kept). Null when the
|
|
21
|
+
* last part is no link.
|
|
20
22
|
*
|
|
21
23
|
* @param cleanPath - The normalized absolute path.
|
|
22
24
|
* @returns The absolute target path, or null.
|
|
23
25
|
*/
|
|
24
26
|
export declare function cfsLink_target(cleanPath: string): Promise<string | null>;
|
|
25
27
|
/**
|
|
26
|
-
*
|
|
27
|
-
* Validates the existence of the target path before setting it.
|
|
28
|
+
* `cd [path]`: the declaration.
|
|
28
29
|
*
|
|
29
|
-
* @
|
|
30
|
-
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* commands_register({ declarations: [cdCommand] });
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare const cdCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
|
|
36
|
+
readonly operands: readonly [{
|
|
37
|
+
readonly name: "path";
|
|
38
|
+
readonly kind: "cfsPath";
|
|
39
|
+
readonly optional: true;
|
|
40
|
+
readonly glob: true;
|
|
41
|
+
readonly summary: "Where to go: a folder, .., ~, or - for the last; home when none is given";
|
|
42
|
+
}];
|
|
43
|
+
}>;
|
|
44
|
+
/**
|
|
45
|
+
* `cd` over words already split: the declaration's parse and handler.
|
|
46
|
+
*
|
|
47
|
+
* @param args - The words after `cd`.
|
|
48
|
+
* @returns The new working directory, or the refusal of a bad line.
|
|
31
49
|
*/
|
|
32
50
|
export declare function builtin_cd(args: string[]): Promise<CommandEnvelope>;
|
|
33
51
|
/** Typed invocation options for cd. */
|
package/dist/builtins/fs/cd.js
CHANGED
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @file
|
|
3
|
-
*
|
|
2
|
+
* @file `cd`: changes where the session stands in ChRIS's filesystem (CFS),
|
|
3
|
+
* the /proc and /net projections included.
|
|
4
|
+
*
|
|
5
|
+
* Declared in one record (`cdCommand`): one path, which may be a wildcard
|
|
6
|
+
* that matches one folder; none goes home, `-` goes back.
|
|
7
|
+
*
|
|
8
|
+
* Key components:
|
|
9
|
+
* - cdCommand: the declaration.
|
|
10
|
+
* - builtin_cd: the declaration run over words already split.
|
|
11
|
+
* - cd_run: the typed core behind both, and the typed API.
|
|
12
|
+
*
|
|
13
|
+
* Typical usage:
|
|
14
|
+
* ```ts
|
|
15
|
+
* await builtin_cd(['~/feeds']);
|
|
16
|
+
* await cd_run({ path: '-' });
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* Dependencies: the session's cwd, the filesystem's providers and listing
|
|
20
|
+
* cache, and the backend's way of entering a folder.
|
|
21
|
+
*
|
|
22
|
+
* @module
|
|
4
23
|
*/
|
|
5
24
|
import chalk from 'chalk';
|
|
25
|
+
import { command_declare } from '../../core/commandDeclaration.js';
|
|
26
|
+
import { declaredCommand_run } from '../../core/commandParse.js';
|
|
6
27
|
import path from 'path';
|
|
7
28
|
import { session } from '../../session/index.js';
|
|
8
|
-
import { path_resolve, error_stripDebugPrefix } from '../utils.js';
|
|
29
|
+
import { path_resolve, storePath_resolve, error_stripDebugPrefix } from '../utils.js';
|
|
9
30
|
import { Ok, Err } from '@fnndsc/fond';
|
|
10
31
|
import { backendInstalled_get } from '../../core/backend.js';
|
|
11
32
|
import { listingCache_get, vfsDispatcher_get } from '../../core/filesystem.js';
|
|
@@ -61,8 +82,10 @@ async function parentListing_get(parentPath) {
|
|
|
61
82
|
return listed.ok ? Ok(listed.value.items) : Err();
|
|
62
83
|
}
|
|
63
84
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
85
|
+
* Where a CFS path's last part leads when it is a link: the store path the
|
|
86
|
+
* one resolver gives for the whole path, when that differs from the entry
|
|
87
|
+
* the path names (its folder resolved, its own name kept). Null when the
|
|
88
|
+
* last part is no link.
|
|
66
89
|
*
|
|
67
90
|
* @param cleanPath - The normalized absolute path.
|
|
68
91
|
* @returns The absolute target path, or null.
|
|
@@ -70,12 +93,9 @@ async function parentListing_get(parentPath) {
|
|
|
70
93
|
export async function cfsLink_target(cleanPath) {
|
|
71
94
|
if (cleanPath === '/' || !cleanPath.startsWith('/'))
|
|
72
95
|
return null;
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const entryName = path.posix.basename(cleanPath);
|
|
77
|
-
const entry = parentResult.value.find((item) => item.name === entryName);
|
|
78
|
-
return entry?.type === 'link' && entry.target ? entry.target : null;
|
|
96
|
+
const entry = await storePath_resolve(cleanPath, { entry: true });
|
|
97
|
+
const target = await storePath_resolve(cleanPath);
|
|
98
|
+
return target === entry ? null : target;
|
|
79
99
|
}
|
|
80
100
|
/**
|
|
81
101
|
* Builds the success envelope for a completed directory change.
|
|
@@ -181,15 +201,48 @@ async function folderEntry_resolveByListing(logicalPath) {
|
|
|
181
201
|
errorStack.stack_pop();
|
|
182
202
|
return { cwd: null, rendered: '', renderedErr: '' };
|
|
183
203
|
}
|
|
204
|
+
/** What a `cd` line may hold. */
|
|
205
|
+
const CD_GRAMMAR = {
|
|
206
|
+
operands: [
|
|
207
|
+
{ name: 'path', kind: 'cfsPath', optional: true, glob: true, summary: 'Where to go: a folder, .., ~, or - for the last; home when none is given' },
|
|
208
|
+
],
|
|
209
|
+
};
|
|
210
|
+
/**
|
|
211
|
+
* `cd [path]`: the declaration.
|
|
212
|
+
*
|
|
213
|
+
* @example
|
|
214
|
+
* ```ts
|
|
215
|
+
* commands_register({ declarations: [cdCommand] });
|
|
216
|
+
* ```
|
|
217
|
+
*/
|
|
218
|
+
export const cdCommand = command_declare({
|
|
219
|
+
name: 'cd',
|
|
220
|
+
grammar: CD_GRAMMAR,
|
|
221
|
+
help: {
|
|
222
|
+
summary: 'Change current working directory',
|
|
223
|
+
description: "Moves the session to a folder of ChRIS's filesystem, the /proc and /net projections included. A link is entered at its target. With no path cd goes home; cd - goes back to the folder before.",
|
|
224
|
+
category: 'Navigation',
|
|
225
|
+
posix: { group: 'Files', differs: 'moves in CFS, including /proc and /net' },
|
|
226
|
+
examples: [
|
|
227
|
+
'cd /home/user/data # Absolute path',
|
|
228
|
+
'cd experiments # Relative path',
|
|
229
|
+
'cd .. # Parent directory',
|
|
230
|
+
'cd ~ # Home directory',
|
|
231
|
+
'cd - # The folder before',
|
|
232
|
+
'cd # Home directory',
|
|
233
|
+
],
|
|
234
|
+
},
|
|
235
|
+
holds: ['cwd'],
|
|
236
|
+
handler: async (args) => cd_run({ path: args.operands.path }),
|
|
237
|
+
});
|
|
184
238
|
/**
|
|
185
|
-
*
|
|
186
|
-
* Validates the existence of the target path before setting it.
|
|
239
|
+
* `cd` over words already split: the declaration's parse and handler.
|
|
187
240
|
*
|
|
188
|
-
* @param args -
|
|
189
|
-
* @returns
|
|
241
|
+
* @param args - The words after `cd`.
|
|
242
|
+
* @returns The new working directory, or the refusal of a bad line.
|
|
190
243
|
*/
|
|
191
244
|
export async function builtin_cd(args) {
|
|
192
|
-
return
|
|
245
|
+
return declaredCommand_run(cdCommand, args);
|
|
193
246
|
}
|
|
194
247
|
/**
|
|
195
248
|
* Changes the working directory: the shared typed core behind the parsed
|
|
@@ -202,14 +255,14 @@ export async function cd_run(options) {
|
|
|
202
255
|
const pathArg = options.path;
|
|
203
256
|
// 'cd' with no args goes to home
|
|
204
257
|
if (!pathArg) {
|
|
205
|
-
return
|
|
258
|
+
return cd_run({ path: '~' });
|
|
206
259
|
}
|
|
207
260
|
if (pathArg === '-') {
|
|
208
261
|
const previousCWD = session.previousCWD_get();
|
|
209
262
|
if (!previousCWD) {
|
|
210
263
|
return envelope_error('', undefined, `${chalk.red('cd: OLDPWD not set')}\n`);
|
|
211
264
|
}
|
|
212
|
-
const result = await
|
|
265
|
+
const result = await cd_run({ path: previousCWD });
|
|
213
266
|
return result.status === 'ok'
|
|
214
267
|
? { ...result, rendered: `${previousCWD}\n${result.rendered}` }
|
|
215
268
|
: result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cd.js","sourceRoot":"","sources":["../../../src/builtins/fs/cd.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cd.js","sourceRoot":"","sources":["../../../src/builtins/fs/cd.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,32 @@
|
|
|
1
1
|
import { type CommandEnvelope } from '@fnndsc/menu';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* `config write <path> <content>`: the declaration.
|
|
4
4
|
*
|
|
5
|
-
* @
|
|
6
|
-
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* commands_register({ declarations: [configCommand] }, 'backend');
|
|
8
|
+
* ```
|
|
7
9
|
*/
|
|
8
|
-
export declare
|
|
10
|
+
export declare const configCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
|
|
11
|
+
readonly subcommands: {
|
|
12
|
+
readonly write: {
|
|
13
|
+
readonly summary: "Write a configuration document";
|
|
14
|
+
readonly operands: readonly [{
|
|
15
|
+
readonly name: "path";
|
|
16
|
+
readonly kind: "cfsPath";
|
|
17
|
+
readonly summary: "Where the document goes in ChRIS";
|
|
18
|
+
}, {
|
|
19
|
+
readonly name: "content";
|
|
20
|
+
readonly kind: "word";
|
|
21
|
+
readonly summary: "The document, base64-encoded";
|
|
22
|
+
}];
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
}>;
|
|
9
26
|
/**
|
|
10
|
-
*
|
|
11
|
-
* reads travel the ordinary `cat`.
|
|
27
|
+
* `config` over words already split: the declaration's parse and handler.
|
|
12
28
|
*
|
|
13
|
-
* @param args -
|
|
14
|
-
* @returns The subcommand's envelope.
|
|
29
|
+
* @param args - The words after `config`.
|
|
30
|
+
* @returns The subcommand's envelope, or the refusal of a bad line.
|
|
15
31
|
*/
|
|
16
32
|
export declare function builtin_config(args: string[]): Promise<CommandEnvelope>;
|
|
@@ -6,47 +6,98 @@
|
|
|
6
6
|
* argus desktops, prompt choices — as files under `~/.config/...` on CFS.
|
|
7
7
|
* Surfaces hold no upload credentials of their own, so the write travels
|
|
8
8
|
* the session: content arrives base64-encoded, lands in a host temp file,
|
|
9
|
-
* and rides the same upload path the edit-in-place flow already uses.
|
|
9
|
+
* and rides the same upload path the edit-in-place flow already uses. The
|
|
10
|
+
* document is written where the store keeps its path (`storePath_resolve`).
|
|
11
|
+
*
|
|
12
|
+
* Declared in one record (`configCommand`): one subcommand, `write`, with a
|
|
13
|
+
* CFS path and the content as a word.
|
|
14
|
+
*
|
|
15
|
+
* Key components:
|
|
16
|
+
* - configCommand: the declaration.
|
|
17
|
+
* - builtin_config: the declaration run over words already split.
|
|
18
|
+
*
|
|
19
|
+
* Typical usage:
|
|
20
|
+
* ```ts
|
|
21
|
+
* await builtin_config(['write', '~/.config/argus/desktops/quad.desk', 'dmlldyBmaWxlcwo=']);
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* Dependencies: salsa's upload and chili's replace-in-place; the session's
|
|
25
|
+
* listing cache.
|
|
10
26
|
*
|
|
11
27
|
* @module
|
|
12
28
|
*/
|
|
13
29
|
import { writeFileSync, unlinkSync, existsSync } from 'fs';
|
|
14
30
|
import { tmpdir } from 'os';
|
|
15
|
-
import { join } from 'path';
|
|
31
|
+
import { join, posix } from 'path';
|
|
16
32
|
import chalk from 'chalk';
|
|
17
33
|
import { files_uploadPath } from '@fnndsc/salsa';
|
|
18
34
|
import { file_replaceContent } from '@fnndsc/chili/commands/fs/edit.js';
|
|
19
|
-
import { path_resolve } from '../utils.js';
|
|
35
|
+
import { path_resolve, storePath_resolve } from '../utils.js';
|
|
36
|
+
import { command_declare } from '../../core/commandDeclaration.js';
|
|
37
|
+
import { declaredCommand_run } from '../../core/commandParse.js';
|
|
38
|
+
import { listingCache_get } from '../../core/filesystem.js';
|
|
20
39
|
import { envelope_error, envelope_ok } from '@fnndsc/menu';
|
|
21
40
|
import { exitCode_set } from '../../core/handlerRun.js';
|
|
22
41
|
/** A config document is a note, not a dataset. */
|
|
23
42
|
const CONFIG_WRITE_LIMIT = 256 * 1024;
|
|
43
|
+
/** What a `config` line may hold: `write`, a CFS path, and the document as base64. */
|
|
44
|
+
const CONFIG_GRAMMAR = {
|
|
45
|
+
subcommands: {
|
|
46
|
+
write: {
|
|
47
|
+
summary: 'Write a configuration document',
|
|
48
|
+
operands: [
|
|
49
|
+
{ name: 'path', kind: 'cfsPath', summary: 'Where the document goes in ChRIS' },
|
|
50
|
+
{ name: 'content', kind: 'word', summary: 'The document, base64-encoded' },
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* `config write <path> <content>`: the declaration.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```ts
|
|
60
|
+
* commands_register({ declarations: [configCommand] }, 'backend');
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export const configCommand = command_declare({
|
|
64
|
+
name: 'config',
|
|
65
|
+
grammar: CONFIG_GRAMMAR,
|
|
66
|
+
help: {
|
|
67
|
+
summary: "Write a small configuration document into the user's CUBE home",
|
|
68
|
+
description: 'Write a small configuration document into the user\'s CUBE home (the durable layer: argus desktops, surface preferences). Reads travel the ordinary cat. Documents are notes, not datasets: 256KB limit.',
|
|
69
|
+
category: 'Files',
|
|
70
|
+
examples: [
|
|
71
|
+
'config write ~/.config/argus/desktops/quad.desk dmlldyBmaWxlcwo= # a saved argus desktop',
|
|
72
|
+
'cat ~/.config/argus/desktops/quad.desk # reading one back',
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
handler: async (args) => configWrite_run(args),
|
|
76
|
+
});
|
|
77
|
+
/**
|
|
78
|
+
* `config` over words already split: the declaration's parse and handler.
|
|
79
|
+
*
|
|
80
|
+
* @param args - The words after `config`.
|
|
81
|
+
* @returns The subcommand's envelope, or the refusal of a bad line.
|
|
82
|
+
*/
|
|
83
|
+
export async function builtin_config(args) {
|
|
84
|
+
return declaredCommand_run(configCommand, args);
|
|
85
|
+
}
|
|
24
86
|
/**
|
|
25
|
-
*
|
|
87
|
+
* Runs `config write <path> <base64>`.
|
|
26
88
|
*
|
|
27
|
-
* @param args -
|
|
89
|
+
* @param args - The line, parsed.
|
|
28
90
|
* @returns An envelope reporting the written path.
|
|
29
91
|
*/
|
|
30
|
-
|
|
31
|
-
const rawPath = args
|
|
32
|
-
const
|
|
33
|
-
if (rawPath === undefined || encoded === undefined) {
|
|
34
|
-
exitCode_set(1);
|
|
35
|
-
return envelope_error('', undefined, 'usage: config write <cfs-path> <base64-content>\n');
|
|
36
|
-
}
|
|
37
|
-
let content;
|
|
38
|
-
try {
|
|
39
|
-
content = Buffer.from(encoded, 'base64');
|
|
40
|
-
}
|
|
41
|
-
catch {
|
|
42
|
-
exitCode_set(1);
|
|
43
|
-
return envelope_error('', undefined, 'config write: the content is not valid base64.\n');
|
|
44
|
-
}
|
|
92
|
+
async function configWrite_run(args) {
|
|
93
|
+
const rawPath = args.operands.path;
|
|
94
|
+
const content = Buffer.from(args.operands.content, 'base64');
|
|
45
95
|
if (content.length > CONFIG_WRITE_LIMIT) {
|
|
46
96
|
exitCode_set(1);
|
|
47
97
|
return envelope_error('', undefined, 'config write: a config document is a note, not a dataset (256KB limit).\n');
|
|
48
98
|
}
|
|
49
|
-
const
|
|
99
|
+
const shown = await path_resolve(rawPath);
|
|
100
|
+
const remotePath = await storePath_resolve(rawPath);
|
|
50
101
|
const tmpPath = join(tmpdir(), `chell-config-${Date.now()}.tmp`);
|
|
51
102
|
try {
|
|
52
103
|
writeFileSync(tmpPath, content);
|
|
@@ -59,26 +110,16 @@ export async function configWrite_handle(args) {
|
|
|
59
110
|
}
|
|
60
111
|
if (!uploaded) {
|
|
61
112
|
exitCode_set(1);
|
|
62
|
-
return envelope_error('', undefined, `config write: upload to ${
|
|
113
|
+
return envelope_error('', undefined, `config write: upload to ${shown} failed.\n`);
|
|
63
114
|
}
|
|
64
|
-
|
|
115
|
+
// The folder's listing is stale by both its names.
|
|
116
|
+
listingCache_get().cache_invalidate?.(posix.dirname(remotePath));
|
|
117
|
+
listingCache_get().cache_invalidate?.(posix.dirname(shown));
|
|
118
|
+
return envelope_ok(`${chalk.green('[+]')} wrote ${shown} (${content.length} bytes)\n`);
|
|
65
119
|
}
|
|
66
120
|
finally {
|
|
67
121
|
if (existsSync(tmpPath))
|
|
68
122
|
unlinkSync(tmpPath);
|
|
69
123
|
}
|
|
70
124
|
}
|
|
71
|
-
/**
|
|
72
|
-
* Routes the `config` command family. `write` is its only member today;
|
|
73
|
-
* reads travel the ordinary `cat`.
|
|
74
|
-
*
|
|
75
|
-
* @param args - Full command args.
|
|
76
|
-
* @returns The subcommand's envelope.
|
|
77
|
-
*/
|
|
78
|
-
export async function builtin_config(args) {
|
|
79
|
-
if (args[1] === 'write')
|
|
80
|
-
return configWrite_handle(args);
|
|
81
|
-
exitCode_set(1);
|
|
82
|
-
return envelope_error('', undefined, 'usage: config write <cfs-path> <base64-content>\n');
|
|
83
|
-
}
|
|
84
125
|
//# sourceMappingURL=configWrite.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configWrite.js","sourceRoot":"","sources":["../../../src/builtins/fs/configWrite.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"configWrite.js","sourceRoot":"","sources":["../../../src/builtins/fs/configWrite.ts"],"names":[],"mappings":"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"}
|