lift text-zoom into kernel, surface it in the palette (T-114)
test / unit + widget + golden + a11y (push) Failing after 30s
test / integration_test (xvfb) (push) Has been skipped
test / bundle smoke (xvfb 5s) (push) Has been skipped
test / daemon subprocess + web WASM smoke (push) Has been skipped
test / dart doc (lib API) (push) Failing after 1m1s

Workspace text-zoom (Ctrl +/-/0) was local state on _RootShellState,
reachable only via the keymap intent path. Lifted to a kernel TextZoom
ChangeNotifier so the new `view.zoomIn/Out/Reset` palette commands
mutate the same number the keymap does — closing T-114's "discoverable
in the palette" item.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-05-18 09:04:43 +02:00
co-authored by Claude
parent 6d4a642773
commit 044d1b2ff1
11 changed files with 174 additions and 9 deletions
+6
View File
@@ -5,6 +5,7 @@ import 'package:clide/clide.dart';
import 'package:clide/kernel/src/clipboard.dart';
import 'package:clide/kernel/src/commands/keybindings.dart';
import 'package:clide/kernel/src/keymap/keymap_service.dart';
import 'package:clide/kernel/src/text_zoom.dart';
import 'package:clide/kernel/src/commands/palette.dart';
import 'package:clide/kernel/src/commands/registry.dart';
import 'package:clide/kernel/src/dialog.dart';
@@ -65,6 +66,7 @@ class KernelServices {
required this.toolchain,
required this.scheduler,
required this.keymap,
required this.textZoom,
});
final Logger log;
@@ -94,6 +96,7 @@ class KernelServices {
final Toolchain toolchain;
final SchedulerService scheduler;
final KeymapService keymap;
final TextZoom textZoom;
static Future<KernelServices> boot({
required Directory appDir,
@@ -151,6 +154,7 @@ class KernelServices {
final tc = toolchain ?? Toolchain();
final scheduler = SchedulerService(events);
scheduler.start();
final textZoom = TextZoom();
final project = ProjectManager(
log: log,
events: events,
@@ -225,6 +229,7 @@ class KernelServices {
toolchain: tc,
scheduler: scheduler,
keymap: keymap,
textZoom: textZoom,
);
}
@@ -247,6 +252,7 @@ class KernelServices {
extensions.dispose();
await scheduler.dispose();
keymap.dispose();
textZoom.dispose();
await log.dispose();
messages.dispose();
await events.dispose();