Skip to content

Bringup minus#1124

Open
sinelaw wants to merge 5 commits intomasterfrom
bringup-minus
Open

Bringup minus#1124
sinelaw wants to merge 5 commits intomasterfrom
bringup-minus

Conversation

@sinelaw
Copy link
Copy Markdown
Owner

@sinelaw sinelaw commented Feb 25, 2026

No description provided.

sinelaw and others added 5 commits March 5, 2026 01:22
…le 3.25

Update ts_export.rs for ts-rs v12 breaking change (decl() now takes &Config).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Start with pre-compiled syntect defaults (~0ms, ~50 common languages)
and build the full grammar registry on a background thread. When
complete, swap in the new registry and re-detect syntax for all open
buffers. Plugin grammar rebuilds also moved off the main thread via
AsyncMessage::GrammarRegistryBuilt, with batching to coalesce multiple
RegisterGrammar+ReloadGrammars sequences into a single rebuild.

Removes UnbuiltGrammarRegistry (no longer needed) and the startup
command drain loop.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…onsiveness

Under CPU pressure (e.g., cgroups), terminal.draw() can take 500-800ms
wall clock time due to repeated process descheduling. During that time,
keyboard events buffer in the kernel. Previously the loop would render
after each event, causing N keystrokes to trigger N expensive draws.

Restructure the event loop to drain all pending events (non-blocking poll)
before drawing a single frame. After each event, recompute_layout_cached()
updates the visual layout (view_line_mappings, viewport sync, scroll
groups) so subsequent events see correct state — same pattern as macro
replay. Only the terminal draw is deferred.

Resize events break out of the drain loop immediately since they require
a real render to establish new frame dimensions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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