@fnndsc/brasa 0.36.0 → 0.37.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
- {"hash":"e17e43"}
1
+ {"hash":"92dbff"}
@@ -1,3 +1,4 @@
1
+ import { type HelpLookup } from './helpSections.js';
1
2
  import { type CommandHelp } from '../core/commandRegistry.js';
2
3
  import type { CommandEnvelope } from '@fnndsc/menu';
3
4
  /**
@@ -85,6 +86,12 @@ export declare function args_checkHasHelpFlag(args: string[], command?: string):
85
86
  * @param args - Command arguments (optional command name).
86
87
  */
87
88
  export declare function builtin_help(args: string[]): Promise<CommandEnvelope>;
89
+ /**
90
+ * What the help sections read of the commands this session has.
91
+ *
92
+ * @returns The lookup.
93
+ */
94
+ export declare function helpLookup_make(): HelpLookup;
88
95
  /**
89
96
  * The groups `help` lists commands under, in order. A command declares its
90
97
  * own (`category` on its help entry); the games shelf is its own page.
@@ -6,6 +6,7 @@
6
6
  * @module
7
7
  */
8
8
  import { pronounsPage_render } from './pronouns.js';
9
+ import { HELP_SECTIONS, helpPosix_render, helpSection_render, helpToc_render, section_find, shellTopic_render } from './helpSections.js';
9
10
  import { gamesShelf_render, gamesShelf_names } from './games/shelf.js';
10
11
  import chalk from 'chalk';
11
12
  import { CAT_USAGE } from './fs/cat.args.js';
@@ -16,7 +17,7 @@ import { backendInstalled_get } from '../core/backend.js';
16
17
  */
17
18
  export const helpText = {
18
19
  sudo: {
19
- category: 'Administration',
20
+ category: 'Admin',
20
21
  usage: 'sudo <command> [arguments...]',
21
22
  description: 'Run one ChRIS command with a temporary administrator identity',
22
23
  options: [
@@ -29,6 +30,7 @@ export const helpText = {
29
30
  ],
30
31
  },
31
32
  ls: {
33
+ posix: { group: 'Files', differs: 'lists ChRIS\'s filesystem (CFS), not this machine\'s; -l numbers rows' },
32
34
  category: 'Navigation',
33
35
  usage: 'ls [options] [path]',
34
36
  description: 'List directory contents',
@@ -56,6 +58,7 @@ export const helpText = {
56
58
  ],
57
59
  },
58
60
  cd: {
61
+ posix: { group: 'Files', differs: 'moves in CFS, including /proc and /net' },
59
62
  category: 'Navigation',
60
63
  usage: 'cd [path]',
61
64
  description: 'Change current working directory',
@@ -67,7 +70,26 @@ export const helpText = {
67
70
  'cd # Show current directory',
68
71
  ],
69
72
  },
73
+ apropos: {
74
+ posix: { group: 'Shell', differs: 'as apropos: searches every command\'s line and description' },
75
+ category: 'General',
76
+ usage: 'apropos <word>',
77
+ summary: 'Find commands by a word in their name, summary or description',
78
+ description: 'Search every command, section and Shell topic for a word, in any case',
79
+ options: ['Nothing found is exit 1, as apropos is. man -k <word> is the same.'],
80
+ examples: ['apropos dicom', 'apropos link', 'man -k pull'],
81
+ },
82
+ man: {
83
+ posix: { group: 'Shell', differs: 'man <name> is help <name>; man -k is apropos' },
84
+ category: 'General',
85
+ usage: 'man <command|Section|topic> | man -k <word>',
86
+ summary: 'The page for a command, a section or a Shell topic (help, by its Unix name)',
87
+ description: 'man <name> is help <name>; man -k <word> is apropos <word>',
88
+ options: [],
89
+ examples: ['man grep', 'man PACS', 'man -k dicom'],
90
+ },
70
91
  command: {
92
+ posix: { group: 'Shell', differs: 'as in any POSIX shell: runs the system\'s program, not the builtin' },
71
93
  category: 'General',
72
94
  usage: 'command <name> [args...]',
73
95
  summary: 'Run the system program of a name, not the builtin',
@@ -80,7 +102,8 @@ export const helpText = {
80
102
  examples: ['query PatientID:1234567 | command grep -i t1', 'command -v grep'],
81
103
  },
82
104
  grep: {
83
- category: 'File Operations',
105
+ posix: { group: 'Files', differs: 'also filters numbered listings, keeping their handles (help grep)' },
106
+ category: 'Files',
84
107
  usage: 'grep [-ivwEFc] [-e PATTERN]... [PATTERN]',
85
108
  summary: 'Keep the lines, or the rows of a numbered listing, that match',
86
109
  description: 'Filter text, or a numbered listing keeping its handles',
@@ -106,9 +129,9 @@ export const helpText = {
106
129
  ],
107
130
  },
108
131
  url: {
109
- category: 'Sharing & Tags',
132
+ category: 'Sharing',
110
133
  usage: 'url [path]',
111
- summary: 'Print a web address that opens ARGUS at a path, to send to a colleague',
134
+ summary: 'Print a link (a web address) that opens ARGUS at a path, to send to a colleague',
112
135
  description: 'Print a web address that opens ARGUS at a path (a feed or node lands in RUNS, anything else in FILES)',
113
136
  options: [],
114
137
  examples: [
@@ -120,6 +143,7 @@ export const helpText = {
120
143
  ],
121
144
  },
122
145
  pwd: {
146
+ posix: { group: 'Files', differs: 'where the session stands in CFS' },
123
147
  category: 'Navigation',
124
148
  usage: 'pwd [options]',
125
149
  description: 'Print current working directory',
@@ -139,7 +163,8 @@ export const helpText = {
139
163
  ],
140
164
  },
141
165
  cat: {
142
- category: 'File Operations',
166
+ posix: { group: 'Files', differs: 'reads CFS files (and a pipe)' },
167
+ category: 'Files',
143
168
  usage: CAT_USAGE,
144
169
  description: 'Display file contents, with terminal syntax highlighting for recognized text formats',
145
170
  options: [
@@ -157,7 +182,8 @@ export const helpText = {
157
182
  ],
158
183
  },
159
184
  rm: {
160
- category: 'File Operations',
185
+ posix: { group: 'Files', differs: 'removes from CFS; -r for folders, -i asks' },
186
+ category: 'Files',
161
187
  usage: 'rm [options] <path> [path...]',
162
188
  description: 'Remove files or directories',
163
189
  options: [
@@ -181,7 +207,8 @@ export const helpText = {
181
207
  ],
182
208
  },
183
209
  cp: {
184
- category: 'File Operations',
210
+ posix: { group: 'Files', differs: 'copies within CFS; -r for folders' },
211
+ category: 'Files',
185
212
  usage: 'cp [-t <dir>] [options] <source...> [dest]',
186
213
  description: 'Copy files or directories (supports wildcards and multiple sources)',
187
214
  options: [
@@ -207,7 +234,8 @@ export const helpText = {
207
234
  ],
208
235
  },
209
236
  mv: {
210
- category: 'File Operations',
237
+ posix: { group: 'Files', differs: 'moves within CFS' },
238
+ category: 'Files',
211
239
  usage: 'mv [-t <dir>] <source...> [dest]',
212
240
  description: 'Move or rename files or directories (supports wildcards and multiple sources)',
213
241
  options: [
@@ -223,7 +251,8 @@ export const helpText = {
223
251
  ],
224
252
  },
225
253
  touch: {
226
- category: 'File Operations',
254
+ posix: { group: 'Files', differs: 'makes a CFS file; --withContents writes text into it' },
255
+ category: 'Files',
227
256
  usage: 'touch [options] <file>',
228
257
  description: 'Create empty files or files with content',
229
258
  options: [
@@ -237,7 +266,8 @@ export const helpText = {
237
266
  ],
238
267
  },
239
268
  mkdir: {
240
- category: 'File Operations',
269
+ posix: { group: 'Files', differs: 'makes CFS folders; -p for parents' },
270
+ category: 'Files',
241
271
  usage: 'mkdir [-p] <directory> [directory...]',
242
272
  description: 'Create directories',
243
273
  options: [
@@ -252,7 +282,8 @@ export const helpText = {
252
282
  ],
253
283
  },
254
284
  rmdir: {
255
- category: 'File Operations',
285
+ posix: { group: 'Files', differs: 'removes empty CFS folders' },
286
+ category: 'Files',
256
287
  usage: 'rmdir <directory> [directory...]',
257
288
  summary: 'Remove empty directories',
258
289
  description: 'Removes each folder only when it is empty, as on Linux: one that holds anything is '
@@ -275,7 +306,7 @@ export const helpText = {
275
306
  examples: ['version'],
276
307
  },
277
308
  fortune: {
278
- category: 'Games and utilities',
309
+ category: 'Games',
279
310
  usage: 'fortune',
280
311
  summary: 'Print a random fortune cookie',
281
312
  description: 'Prints a random fortune — the classic UNIX fortune cookie, bundled and self-contained.',
@@ -314,18 +345,21 @@ export const helpText = {
314
345
  examples: ['fortune | lolcat', 'figlet ARGUS | lolcat', 'motd | lolcat -p 12'],
315
346
  },
316
347
  rev: {
348
+ posix: { group: 'Text', differs: 'reads a pipe or its words' },
317
349
  usage: 'rev [text]',
318
350
  summary: 'Reverse each line',
319
351
  description: 'Reverses the characters of each line, keeping the lines in order. Reads what is piped in, else the words given.',
320
352
  examples: ['rev stressed', 'fortune | rev'],
321
353
  },
322
354
  tac: {
355
+ posix: { group: 'Text', differs: 'reads a pipe or its words' },
323
356
  usage: 'tac [text]',
324
357
  summary: 'Lines last to first',
325
358
  description: 'cat backwards: prints the lines in reverse order. Reads what is piped in.',
326
359
  examples: ['help games | tac', 'seq 5 | tac'],
327
360
  },
328
361
  yes: {
362
+ posix: { group: 'Text', differs: 'bounded: ten lines unless told how many, never forever' },
329
363
  usage: 'yes [word] [-n N]',
330
364
  summary: 'Repeat a word (ten times, not forever)',
331
365
  description: 'Prints a word on its own line, over and over — but bounded: ten times unless -n N asks for more (up to 10000), and it says how many it printed. The real yes runs until killed; a session is not the place.',
@@ -333,24 +367,28 @@ export const helpText = {
333
367
  examples: ['yes', 'yes no -n 3', 'yes | head -n 2'],
334
368
  },
335
369
  seq: {
370
+ posix: { group: 'Text', differs: 'as seq' },
336
371
  usage: 'seq [FIRST [STEP]] LAST',
337
372
  summary: 'Count from one number to another',
338
373
  description: 'Prints the numbers from FIRST to LAST by STEP, one per line, as seq does: seq 5 is 1 to 5, seq 2 10 is 2 to 10, seq 10 -2 0 counts down. At most 100000 numbers.',
339
374
  examples: ['seq 5', 'seq 0 5 30', 'seq 10 -1 1 | tac'],
340
375
  },
341
376
  factor: {
377
+ posix: { group: 'System', differs: 'as factor' },
342
378
  usage: 'factor N [N...]',
343
379
  summary: 'Prime factors of a number',
344
380
  description: 'Prints each number with its prime factors, smallest first, repeats included, as factor does.',
345
381
  examples: ['factor 360', 'factor 2026 1729'],
346
382
  },
347
383
  primes: {
384
+ posix: { group: 'System', differs: 'as primes' },
348
385
  usage: 'primes [FROM] TO',
349
386
  summary: 'The primes up to a number',
350
387
  description: 'Lists the primes from FROM (2 when omitted) to TO, at most 10000 of them.',
351
388
  examples: ['primes 100', 'primes 1000 1100'],
352
389
  },
353
390
  shuf: {
391
+ posix: { group: 'Text', differs: 'reads a pipe or its words' },
354
392
  usage: 'shuf [words...]',
355
393
  summary: 'Shuffle lines',
356
394
  description: 'Prints the lines piped in, or the words given, in a random order.',
@@ -382,18 +420,21 @@ export const helpText = {
382
420
  examples: ['calc 2^10', 'calc (3+4)*5', 'calc sqrt(2)*pi', 'calc 1024*1024'],
383
421
  },
384
422
  units: {
423
+ posix: { group: 'System', differs: 'a small set of conversions' },
385
424
  usage: 'units VALUE FROM [to] TO | units list',
386
425
  summary: 'Convert between units: units 10 mm in',
387
426
  description: 'Converts a quantity between two units of one kind: length (mm cm m km in ft yd mi), mass (g kg mg lb oz), time (ms s min h d wk yr), data (B kB MB GB TB KiB MiB GiB TiB bit) and temperature (C F K). units list names them all.',
388
427
  examples: ['units 10 mm in', 'units 72 F to C', 'units 1 GiB MB', 'units list'],
389
428
  },
390
429
  who: {
430
+ posix: { group: 'System', differs: 'the surfaces on this session (each terminal and browser), not logged-in users' },
391
431
  usage: 'who',
392
432
  summary: 'Who is attached to this session',
393
433
  description: 'Lists the surfaces on this session — each terminal and browser, by the host\'s name for it — marking the one you are at. A local shell answers for itself alone.',
394
434
  examples: ['who'],
395
435
  },
396
436
  uptime: {
437
+ posix: { group: 'System', differs: 'how long this session\'s process has run, not this machine' },
397
438
  usage: 'uptime',
398
439
  summary: 'How long this session\'s process has been up',
399
440
  description: 'The time, how long the process serving this session has run, how many surfaces are attached, since when, and its pid.',
@@ -522,7 +563,7 @@ export const helpText = {
522
563
  examples: ['notes', 'notes --since 3', 'notes --since 2026-10-01 --long', 'notes --all'],
523
564
  },
524
565
  weather: {
525
- category: 'Games and utilities',
566
+ category: 'Games',
526
567
  usage: 'weather [place] [-u|--units metric|imperial] [-d|--days N]',
527
568
  summary: 'The weather at a place, now and the next few days',
528
569
  description: 'Reports the current conditions and a short forecast for a place, from Open-Meteo (no key, no account). The place is found by name; with none given it is Boston. Metric (°C, km/h) unless --units imperial asks for °F and mph. The call is made from the session host, so it needs that host to reach the internet.',
@@ -533,6 +574,7 @@ export const helpText = {
533
574
  examples: ['weather', 'weather Cape Town', 'weather Boston --units imperial', 'weather Paris -d 7'],
534
575
  },
535
576
  date: {
577
+ posix: { group: 'System', differs: 'as date, with its + formats' },
536
578
  category: 'General',
537
579
  usage: 'date [-u] [+FORMAT]',
538
580
  summary: 'Print the current date and time',
@@ -544,14 +586,15 @@ export const helpText = {
544
586
  examples: ['date', 'date -u', 'date +%Y-%m-%d', 'date "+%A, %B %e %Y"'],
545
587
  },
546
588
  cal: {
547
- category: 'Games and utilities',
589
+ posix: { group: 'System', differs: 'as cal' },
590
+ category: 'Games',
548
591
  usage: 'cal [[month] year]',
549
592
  summary: 'Print a calendar',
550
593
  description: 'Prints a month or year calendar with today highlighted, in the spirit of UNIX cal.',
551
594
  examples: ['cal', 'cal 2026', 'cal 7 2026'],
552
595
  },
553
596
  prompt: {
554
- category: 'Shell Settings',
597
+ category: 'Settings',
555
598
  usage: 'prompt [list | <theme>]',
556
599
  description: 'List available prompt themes or switch the active theme',
557
600
  options: [
@@ -566,7 +609,7 @@ export const helpText = {
566
609
  ],
567
610
  },
568
611
  timing: {
569
- category: 'Shell Settings',
612
+ category: 'Settings',
570
613
  usage: 'timing [on|off]',
571
614
  description: 'Toggle or display command timing mode',
572
615
  options: [
@@ -580,7 +623,7 @@ export const helpText = {
580
623
  ],
581
624
  },
582
625
  debug: {
583
- category: 'Shell Settings',
626
+ category: 'Settings',
584
627
  usage: 'debug [on|off]',
585
628
  description: 'Toggle or display debug mode (verbose logging)',
586
629
  options: [
@@ -897,73 +940,60 @@ export async function builtin_help(args) {
897
940
  const { builtin_notes } = await import('./sys/notes.js');
898
941
  return builtin_notes([]);
899
942
  }
900
- // If a specific command is requested, return its help
901
- // A verb this session has; else whatever its backend answers for (ChRIS:
902
- // a plugin or pipeline executable); else no help, never a page for a verb
903
- // the session cannot run.
943
+ // A section (`help PACS`), a Shell topic (`help pipes`), then a command.
904
944
  if (commandName) {
945
+ const lookup = helpLookup_make();
946
+ const section = section_find(commandName, (name) => verb_available(name));
947
+ if (section?.name === 'POSIX')
948
+ return { status: 'ok', rendered: helpPosix_render(lookup) };
949
+ // The Games section is the shelf's own page, by its categories.
950
+ if (section?.name === 'Games')
951
+ return { status: 'ok', rendered: gamesShelf_render(commandSummary_get) };
952
+ if (section !== undefined)
953
+ return { status: 'ok', rendered: helpSection_render(section, lookup) };
954
+ const topic = shellTopic_render(commandName);
955
+ if (topic !== undefined)
956
+ return { status: 'ok', rendered: topic };
957
+ // A verb this session has; else whatever its backend answers for (ChRIS:
958
+ // a plugin or pipeline executable); else no help, never a page for a verb
959
+ // the session cannot run.
905
960
  if (verb_available(commandName))
906
961
  return { status: 'ok', rendered: help_render(commandName) };
907
962
  const backendHelp = (await backendInstalled_get()?.fallback?.help?.(commandName)) ?? null;
908
963
  return { status: 'ok', rendered: backendHelp ?? helpMissing_render(commandName) };
909
964
  }
910
- // Otherwise, list all available commands
911
- let rendered = '';
912
- rendered += '\n';
913
- rendered += `${chalk.bold.cyan('ChELL - Available Commands')}\n`;
914
- rendered += `${chalk.gray('─'.repeat(60))}\n`;
915
- rendered += '\n';
916
- // Group commands by the category each declares (HELP_CATEGORIES order).
917
- const categories = Object.fromEntries(HELP_CATEGORIES.map((category) => [category, []]));
918
- for (const name of helpTopic_names()) {
919
- const category = commandHelpEntry_get(name)?.category;
920
- if (category !== undefined && name.indexOf(' ') < 0)
921
- (categories[category] ??= []).push(name);
922
- }
923
- // Display commands by category
924
- for (const [category, commands] of Object.entries(categories)) {
925
- const runnable = commands.filter((cmd) => verb_available(cmd) && commandHelpEntry_get(cmd) !== undefined);
926
- if (runnable.length === 0 && category !== 'Games and utilities')
927
- continue;
928
- rendered += `${chalk.bold.yellow(category)}\n`;
929
- runnable.forEach((cmd) => {
930
- const help = commandHelpEntry_get(cmd);
931
- if (help) {
932
- rendered += ` ${chalk.cyan(cmd.padEnd(20))} ${chalk.gray(help.summary ?? help.description)}\n`;
933
- }
934
- });
935
- // The four above are the shelf's best known; the rest of /usr/games is
936
- // its own page, and the count is read from the shelf so it never goes stale.
937
- if (category === 'Games and utilities') {
938
- const more = gamesShelf_names(commandSummary_get).length - runnable.length;
939
- rendered += ` ${chalk.cyan('help games'.padEnd(20))} ${chalk.gray(`The /usr/games shelf by category: ${more} more small tools and games`)}\n`;
940
- }
941
- rendered += '\n';
942
- }
943
- // Display Shell Features
944
- rendered += `${chalk.bold.yellow('Shell Features')}\n`;
945
- rendered += ` ${chalk.cyan('Pipes'.padEnd(20))} ${chalk.gray('Chain commands: cat file.txt | wc -l; a numbered listing travels to the next builtin: query … | gather add')}\n`;
946
- rendered += ` ${chalk.cyan('Redirection >'.padEnd(20))} ${chalk.gray('Write to file: cat file.txt > output.txt')}\n`;
947
- rendered += ` ${chalk.cyan('Redirection >>'.padEnd(20))} ${chalk.gray('Append to file: cat file.txt >> output.txt')}\n`;
948
- rendered += ` ${chalk.cyan('Listing-aware grep'.padEnd(20))} ${chalk.gray('Filter a numbered listing, keeping its handles: … | grep -i t1 (help grep)')}\n`;
949
- rendered += ` ${chalk.cyan('command'.padEnd(20))} ${chalk.gray('Run the system program, not the builtin: … | command grep -i t1')}\n`;
950
- rendered += ` ${chalk.cyan('Index handles'.padEnd(20))} ${chalk.gray('Name rows of the last numbered listing: gather add @SER3 @SER1-4 @SER2,5,7')}\n`;
951
- rendered += ` ${chalk.cyan('Pronouns ${…}'.padEnd(20))} ${chalk.gray('What this session just made or asked, as ${name}: ${cwd} … (help pronouns)')}\n`;
952
- rendered += '\n';
953
- rendered += `${chalk.gray('Type "help <command>" for detailed information about a command.')}\n`;
954
- rendered += `${chalk.gray('Type "<command> --help" for quick help on any command.')}\n`;
955
- rendered += '\n';
956
- return { status: 'ok', rendered };
965
+ // Otherwise the table of contents: the sections, what each is for, and
966
+ // a few of its commands (builtins/helpSections.ts).
967
+ return { status: 'ok', rendered: helpToc_render(helpLookup_make()) };
968
+ }
969
+ /**
970
+ * What the help sections read of the commands this session has.
971
+ *
972
+ * @returns The lookup.
973
+ */
974
+ export function helpLookup_make() {
975
+ const runnable = helpTopic_names().filter((name) => name.indexOf(' ') < 0 && verb_available(name));
976
+ return {
977
+ commands: () => runnable,
978
+ summary: (name) => {
979
+ const help = commandHelpEntry_get(name);
980
+ return help === undefined ? undefined : help.summary ?? help.description;
981
+ },
982
+ text: (name) => {
983
+ const help = commandHelpEntry_get(name);
984
+ return help === undefined ? '' : `${help.description} ${(help.options ?? []).join(' ')}`;
985
+ },
986
+ // A command on the games shelf is the Games section's, whatever it declares.
987
+ section: (name) => commandHelpEntry_get(name)?.category ?? (gamesShelf_names(commandSummary_get).includes(name) ? 'Games' : undefined),
988
+ games: () => gamesShelf_names(commandSummary_get),
989
+ posix: (name) => commandHelpEntry_get(name)?.posix,
990
+ };
957
991
  }
958
992
  /**
959
993
  * The groups `help` lists commands under, in order. A command declares its
960
994
  * own (`category` on its help entry); the games shelf is its own page.
961
995
  */
962
- export const HELP_CATEGORIES = [
963
- 'Navigation', 'File Operations', 'Sharing & Tags', 'Connection', 'Monitoring', 'Imaging',
964
- 'Workflows & Cohorts', 'Single Resource', 'Resource Collections', 'PACS', 'Administration',
965
- 'Shell Settings', 'Games and utilities', 'General',
966
- ];
996
+ export const HELP_CATEGORIES = HELP_SECTIONS.map((section) => section.name);
967
997
  /**
968
998
  * Gets the list of all builtin command names.
969
999
  *
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/builtins/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/builtins/help.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ /** One section of help. */
2
+ export interface HelpSection {
3
+ /** One capitalised word: what `help <Section>` takes, and the category commands declare. */
4
+ name: string;
5
+ /** What the section is for, a sentence or two. */
6
+ blurb: string;
7
+ /** Commands that show what it holds, the first runnable ones of which `help` lists. */
8
+ examples: ReadonlyArray<string>;
9
+ }
10
+ /** The sections, in the order `help` lists them. */
11
+ export declare const HELP_SECTIONS: ReadonlyArray<HelpSection>;
12
+ /** The section that is not a list of commands: what the shell does to a line. */
13
+ export declare const SHELL_SECTION: HelpSection;
14
+ /** The view across sections: every command that mirrors a Unix utility. */
15
+ export declare const POSIX_SECTION: HelpSection;
16
+ /** A Shell topic: its one line, and its page (or the command whose page it is). */
17
+ interface ShellTopic {
18
+ name: string;
19
+ summary: string;
20
+ page?: ReadonlyArray<string>;
21
+ }
22
+ /** The Shell section's topics, each `help <topic>`. */
23
+ export declare const SHELL_TOPICS: ReadonlyArray<ShellTopic>;
24
+ /** What the renderers read of the commands: a summary, whether it runs, its section. */
25
+ export interface HelpLookup {
26
+ /** The commands this session can run, with help, in listing order. */
27
+ commands(): ReadonlyArray<string>;
28
+ /** A command's one line. */
29
+ summary(name: string): string | undefined;
30
+ /** A command's description and options, for apropos. */
31
+ text(name: string): string;
32
+ /** A command's section. */
33
+ section(name: string): string | undefined;
34
+ /** The games shelf's commands, for the Games section. */
35
+ games(): ReadonlyArray<string>;
36
+ /** How a command mirrors a Unix utility, when it does. */
37
+ posix(name: string): {
38
+ group: string;
39
+ differs: string;
40
+ } | undefined;
41
+ }
42
+ /**
43
+ * A section's commands: those that declare it, and for Games the shelf.
44
+ *
45
+ * @param section - The section's name.
46
+ * @param lookup - The commands.
47
+ * @returns Its runnable commands.
48
+ */
49
+ export declare function sectionCommands_of(section: string, lookup: HelpLookup): string[];
50
+ /**
51
+ * `help`: the table of contents. A section with nothing this session can
52
+ * run is left out, as are examples it cannot run.
53
+ *
54
+ * @param lookup - The commands.
55
+ * @returns The page.
56
+ */
57
+ export declare function helpToc_render(lookup: HelpLookup): string;
58
+ /**
59
+ * The section a word names: exactly (`PACS`), or in any case when no command
60
+ * has that name (`navigation`).
61
+ *
62
+ * @param word - What followed `help`.
63
+ * @param isCommand - Whether a command has that name.
64
+ * @returns The section, or undefined.
65
+ */
66
+ export declare function section_find(word: string, isCommand: (name: string) => boolean): HelpSection | undefined;
67
+ /**
68
+ * A section's page: what it is for, then each command with its line.
69
+ *
70
+ * @param section - The section.
71
+ * @param lookup - The commands.
72
+ * @returns The page.
73
+ */
74
+ export declare function helpSection_render(section: HelpSection, lookup: HelpLookup): string;
75
+ /**
76
+ * `help POSIX`: every command that mirrors a Unix utility, by group, each
77
+ * with how chell's differs.
78
+ *
79
+ * @param lookup - The commands.
80
+ * @returns The page.
81
+ */
82
+ export declare function helpPosix_render(lookup: HelpLookup): string;
83
+ /**
84
+ * A Shell topic's own page, or undefined when it is not one (or is a
85
+ * command, whose own page answers).
86
+ *
87
+ * @param word - What followed `help`.
88
+ * @returns The page.
89
+ */
90
+ export declare function shellTopic_render(word: string): string | undefined;
91
+ /**
92
+ * `apropos <word>` (`man -k`): what holds the word, strongest first. A
93
+ * section, a command or a Shell topic whose name or one line holds it leads;
94
+ * one that only mentions it further in (its description, its options)
95
+ * follows, under "also mentioned in", so `apropos dicom` leads with dcm and
96
+ * image rather than a game that happens to name DICOM.
97
+ *
98
+ * @param word - What to look for.
99
+ * @param lookup - The commands.
100
+ * @returns The lines, empty when nothing holds the word.
101
+ */
102
+ export declare function apropos_search(word: string, lookup: HelpLookup): string[];
103
+ export {};