Skip to content

feat: showtabline=1 tab bar + plugin architecture fixes (core/plugin-api/renderer)#10

Merged
Xuepoo merged 4 commits into
mainfrom
feat/hide-single-tab-bar
Jul 17, 2026
Merged

feat: showtabline=1 tab bar + plugin architecture fixes (core/plugin-api/renderer)#10
Xuepoo merged 4 commits into
mainfrom
feat/hide-single-tab-bar

Conversation

@Xuepoo

@Xuepoo Xuepoo commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Two related change sets, released together:

Lone-buffer tab bar (user request): VemWorkspace opts into @vectojs/ui@1.9.5 autoHideTabBar — fresh start renders only the intro splash like vim with no arguments; bar appears with the second buffer. Engine floors raised to core ^1.9.2 / ui ^1.9.5, lockfile refreshed clean.

Plugin architecture fixes (2026-07-16 audit):

  • core: static VemEditorState.onDidCreateState(cb) — the only seam that covers states created inside splits/tabs/snapshot-restores, so hosts can attach a plugin registry per state (audit bug 1); executePluginCommand public (kills telescope's private-field poke, audit obs.).
  • plugin-api: idempotent register() + has() (audit bug 5); optional PluginHostCapabilities (openFile, gitDiff) on the context (enables audit fixes 3/4 in vem-plugins).
  • renderer-vecto: onLastTabClose(cb) so the desktop build can exit on final :q like Vim.

189 tests green. Changesets: patch core/plugin-api/renderer.

🤖 Generated with Claude Code

Xuepoo and others added 4 commits July 16, 2026 10:54
VemWorkspace opts into @vectojs/ui 1.9.5 autoHideTabBar: a fresh start
renders only the intro splash like vim with no arguments, and the tab
bar appears once a second buffer opens. Layout heights follow the live
bar height via effectiveTabBarHeight. Engine floors raised to
core ^1.9.2 / ui ^1.9.5.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…he 2026-07-16 audit

- core: static VemEditorState.onDidCreateState hook (per-state service
  attachment seam covering splits/tabs/restores), executePluginCommand
  now public for command palettes.
- plugin-api: idempotent register() (no duplicate listener stacking),
  has(name), optional PluginHostCapabilities (openFile, gitDiff)
  surfaced on the plugin context.
- renderer-vecto: VemWorkspace.onLastTabClose(cb) so the desktop host
  can exit on final :q like Vim while the web build keeps the splash.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Xuepoo Xuepoo changed the title feat(renderer-vecto): hide the tab bar for a lone buffer (showtabline=1) feat: showtabline=1 tab bar + plugin architecture fixes (core/plugin-api/renderer) Jul 17, 2026
@Xuepoo
Xuepoo merged commit 7476fbd into main Jul 17, 2026
1 check passed
@Xuepoo
Xuepoo deleted the feat/hide-single-tab-bar branch July 17, 2026 04:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant