@danypops/pi-packed 0.21.2 → 0.21.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/README.md CHANGED
@@ -11,7 +11,7 @@ The extension connects to Packed's authenticated user daemon and starts the pack
11
11
  ## Commands
12
12
 
13
13
  - `/packed` -- one floating overlay, four tabs (Packages/Find/Config/Settings), always shown in a persistent tab bar at the top: the focused tab reverses the theme's text color for high contrast in both dark and light modes, unfocused tabs show only a foreground color with their own first letter highlighted as a jump mnemonic (the focused tab needs no mnemonic -- there's nothing to jump to when you're already there). `Tab`/`Shift-Tab` (or `←`/`→`) sweep between them -- recognized under legacy CSI, xterm's modifyOtherKeys, and the Kitty keyboard protocol alike, not just one hardcoded encoding; from any tab other than Packages, `p`/`f`/`c`/`s` also jump straight to the matching one (never stolen while that tab's own filter/query box is capturing text). `Esc` returns to Packages from anywhere else, or closes the panel from Packages itself. Every approval and reload confirmation, on any tab, renders inline on this same panel (`y`/`n` keys), never a separate popup or native dialog. A standing test (`keymap.test.ts`, using Malevich's tree-style `findMnemonicConflicts`) verifies no two actions genuinely reachable at once share a key.
14
- - **Packages** (the default tab) -- every installed Pi package is a bordered Card with full-card selection highlighting and update availability. Mnemonics follow lazy.nvim's own convention (uppercase acts on every row, lowercase on the one under the cursor):
14
+ - **Packages** (the default tab) -- every installed Pi package is a compact bordered Card with an accent-selected frame and update availability. Mnemonics follow lazy.nvim's own convention (uppercase acts on every row, lowercase on the one under the cursor):
15
15
  - `u` / `U` -- update the selected package / update every outdated package, one combined confirmation and one reload. `U` shows a spinner inline next to the package currently updating, settling into a real ✓ or ✗ plus a short tail of that update's own captured output once it finishes -- the list stays visible throughout, nothing swaps to a separate screen. A reload is confirmed separately from the update itself -- decline it to defer: the update already happened, only picking it up in this Pi session is deferred until `/reload`.
16
16
  - `x` -- remove the selected package.
17
17
  - `d` -- disable (or re-enable) the selected package's own extensions.
@@ -8,7 +8,7 @@ export function cardTheme(theme: Theme): CardTheme {
8
8
  border: (s) => theme.fg("border", s),
9
9
  selectedBorder: (s) => theme.fg("accent", s),
10
10
  content: (s) => s,
11
- selectedContent: (s) => (typeof theme.inverse === "function" ? theme.inverse(theme.fg("text", s)) : theme.fg("accent", s)),
11
+ selectedContent: (s) => theme.fg("accent", s),
12
12
  };
13
13
  }
14
14
 
@@ -125,7 +125,6 @@ export class FindTab implements Component {
125
125
  measure: { visibleWidth, truncateToWidth },
126
126
  });
127
127
  lines.push(...card.render(width));
128
- if (i < end - 1) lines.push("");
129
128
  }
130
129
  return lines;
131
130
  }
@@ -427,7 +427,7 @@ export class PackagesTab implements Component {
427
427
  private updatingRowName: string | undefined;
428
428
  private readonly spinner = new Spinner();
429
429
  private readonly settled = new Map<string, { ok: boolean; tail: string | undefined }>();
430
- private readonly maxVisible = 5;
430
+ private readonly maxVisible = 4;
431
431
 
432
432
  constructor(
433
433
  private readonly natives: Natives,
@@ -535,7 +535,6 @@ export class PackagesTab implements Component {
535
535
  measure: this.measure,
536
536
  });
537
537
  lines.push(...card.render(width));
538
- if (start + offset < end - 1) lines.push("");
539
538
  }
540
539
  const hasScroll = start > 0 || end < this.filtered.length;
541
540
  lines.push(theme.fg("dim", ` ${hasScroll ? `${this.selectedIndex + 1}/${this.filtered.length} ` : ""}${this.mode}`));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danypops/pi-packed",
3
- "version": "0.21.2",
3
+ "version": "0.21.3",
4
4
  "description": "Pi package lifecycle, validation, daemon, tools, profiles, and TUI",
5
5
  "type": "module",
6
6
  "bin": {