chore: adopt Dart 3.9 toolchain — honest floor + tall-style reformat (T-353)

Raise the declared minimums in pubspec.yaml to what our deps already
require: Flutter >=3.35.0 / Dart >=3.9.0 (was 3.19.0 / 3.5.0). alchemist
0.12 needs Flutter 3.32; Dart 3.9 first ships in Flutter 3.35, so 3.35 is
the binding floor. Pin the exact build toolchain in .fvmrc (Flutter
3.44.1).

Moving to the Dart 3.9 language level switches `dart format` to the new
"tall" style and enables two new lints. This commit is the resulting
mechanical churn, isolated from any behaviour change:
  - whole-tree `dart format` reformat (tall style)
  - `dart fix` for unnecessary_underscores + use_null_aware_elements

No runtime behaviour change; `make test` green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-11 12:11:53 +02:00
co-authored by Claude Opus 4.8
parent bcea5f15b7
commit 6d0ebab721
444 changed files with 7587 additions and 12849 deletions
+9 -23
View File
@@ -177,9 +177,7 @@ class _QuickOpenOverlayState extends State<QuickOpenOverlay> {
color: tokens.dropdownBackground,
border: Border.all(color: tokens.dropdownBorder),
borderRadius: BorderRadius.circular(6),
boxShadow: [
BoxShadow(color: tokens.shadowAmbient, blurRadius: 12, offset: const Offset(0, 4)),
],
boxShadow: [BoxShadow(color: tokens.shadowAmbient, blurRadius: 12, offset: const Offset(0, 4))],
),
child: Column(
mainAxisSize: MainAxisSize.min,
@@ -189,11 +187,7 @@ class _QuickOpenOverlayState extends State<QuickOpenOverlay> {
child: EditableText(
controller: _input,
focusNode: _focus,
style: TextStyle(
fontFamily: clideMonoFamily,
fontSize: clideFontMono,
color: tokens.dropdownForeground,
),
style: TextStyle(fontFamily: clideMonoFamily, fontSize: clideFontMono, color: tokens.dropdownForeground),
cursorColor: tokens.globalFocus,
backgroundCursorColor: tokens.globalFocus,
maxLines: 1,
@@ -246,18 +240,13 @@ class _Hint extends StatelessWidget {
@override
Widget build(BuildContext context) => Padding(
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
child: ClideText(text, fontSize: clideFontCaption, color: tokens.globalTextMuted),
);
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
child: ClideText(text, fontSize: clideFontCaption, color: tokens.globalTextMuted),
);
}
class _QuickOpenItem extends StatefulWidget {
const _QuickOpenItem({
super.key,
required this.path,
required this.highlighted,
required this.onTap,
});
const _QuickOpenItem({super.key, required this.path, required this.highlighted, required this.onTap});
final String path;
final bool highlighted;
@@ -288,15 +277,12 @@ class _QuickOpenItemState extends State<_QuickOpenItem> {
color: selected
? tokens.listItemSelectedBackground
: _hover
? tokens.listItemHoverBackground
: null,
? tokens.listItemHoverBackground
: null,
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 6),
child: Row(
children: [
ClideText(
name,
color: selected ? tokens.listItemSelectedForeground : tokens.listItemForeground,
),
ClideText(name, color: selected ? tokens.listItemSelectedForeground : tokens.listItemForeground),
const SizedBox(width: 8),
Expanded(
child: ClideText(