project-compass 3.4.1 → 3.4.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.
Files changed (3) hide show
  1. package/README.md +2 -1
  2. package/package.json +1 -1
  3. package/src/cli.js +12 -2
package/README.md CHANGED
@@ -48,7 +48,8 @@ project-compass [--dir /path/to/workspace] [--studio] [--version]
48
48
  | **Shift+L** | Rerun last command |
49
49
  | **Shift+Q** | Quit app (with confirmation if tasks run) |
50
50
  | ? | Toggle help overlay |
51
- | Ctrl+C | Interrupt running command |
51
+ | Shift+Q | Quit app (with confirmation if tasks run) |
52
+ | **Ctrl+C** | Force quit and kill all background tasks |
52
53
 
53
54
  ## Orbit Task Manager
54
55
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-compass",
3
- "version": "3.4.1",
3
+ "version": "3.4.3",
4
4
  "description": "Futuristic project navigator and runner for Node, Python, Rust, and Go",
5
5
  "main": "src/cli.js",
6
6
  "bin": {
package/src/cli.js CHANGED
@@ -442,6 +442,10 @@ function Compass({rootPath, initialView = 'navigator'}) {
442
442
  if (hasRunningTasks) setQuitConfirm(true); else exit();
443
443
  return;
444
444
  }
445
+ if (isCtrlC) {
446
+ if (hasRunningTasks) setQuitConfirm(true); else exit();
447
+ return;
448
+ }
445
449
  if (shiftCombo('c') && viewMode === 'detail' && selectedProject) { setCustomMode(true); setCustomInput(''); setCustomCursor(0); return; }
446
450
 
447
451
  const actionKey = normalizedInput && ACTION_MAP[normalizedInput];
@@ -451,7 +455,13 @@ function Compass({rootPath, initialView = 'navigator'}) {
451
455
  return;
452
456
  }
453
457
  if (viewMode === 'detail' && normalizedInput && detailShortcutMap.has(normalizedInput)) {
454
- runProjectCommand(detailShortcutMap.get(normalizedInput), selectedProject);
458
+ if (key.shift) {
459
+ runProjectCommand(detailShortcutMap.get(normalizedInput), selectedProject);
460
+ return;
461
+ } else if (!isNaN(parseInt(normalizedInput))) {
462
+ runProjectCommand(detailShortcutMap.get(normalizedInput), selectedProject);
463
+ return;
464
+ }
455
465
  }
456
466
  });
457
467
 
@@ -559,7 +569,7 @@ function Compass({rootPath, initialView = 'navigator'}) {
559
569
  create(Box, {marginTop: 1, flexDirection: 'column'},
560
570
  create(Box, {flexDirection: 'row', justifyContent: 'space-between'}, create(Text, {bold: true, color: 'yellow'}, `Output: ${activeTask?.name || 'None'}`), create(Text, {dimColor: true}, logOffset ? `Scrolled ${logOffset} lines` : 'Live log view')),
561
571
  create(OutputPanel, {activeTask, logOffset}),
562
- create(Box, {marginTop: 1, flexDirection: 'row', justifyContent: 'space-between'}, create(Text, {dimColor: true}, running ? 'Type to feed stdin; Enter: submit, Ctrl+C: abort.' : 'Run a command or press Shift+T to switch tasks.'), create(Text, {dimColor: true}, `${toggleHint}, Shift+S: Structure Guide`)),
572
+ create(Box, {marginTop: 1, flexDirection: 'row', justifyContent: 'space-between'}, create(Text, {dimColor: true}, running ? 'Type to feed stdin; Enter: submit.' : 'Run a command or press Shift+T to switch tasks.'), create(Text, {dimColor: true}, `${toggleHint}, Shift+S: Structure Guide`)),
563
573
  create(Box, {marginTop: 1, flexDirection: 'row', borderStyle: 'round', borderColor: running ? 'green' : 'gray', paddingX: 1}, create(Text, {bold: true, color: 'green'}, running ? ' Stdin buffer ' : ' Input ready '), create(Box, {marginLeft: 1}, create(CursorText, {value: stdinBuffer || (running ? '' : 'Start a command to feed stdin'), cursorIndex: stdinCursor, active: running})))
564
574
  ),
565
575
  config.showHelpCards && create(Box, {marginTop: 1, flexDirection: 'row', justifyContent: 'space-between', flexWrap: 'wrap'}, [