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
+17 -78
View File
@@ -13,10 +13,7 @@ import 'package:clide/src/terminal/src/core/state.dart';
import 'package:test/test.dart';
class _State implements TerminalState {
_State({
this.mouseMode = MouseMode.none,
this.mouseReportMode = MouseReportMode.normal,
});
_State({this.mouseMode = MouseMode.none, this.mouseReportMode = MouseReportMode.normal});
@override
MouseMode mouseMode;
@@ -91,12 +88,7 @@ void main() {
expect(TerminalMouseButton.wheelDown.id, 64 + 5);
expect(TerminalMouseButton.wheelLeft.id, 64 + 6);
expect(TerminalMouseButton.wheelRight.id, 64 + 7);
for (final b in [
TerminalMouseButton.wheelUp,
TerminalMouseButton.wheelDown,
TerminalMouseButton.wheelLeft,
TerminalMouseButton.wheelRight,
]) {
for (final b in [TerminalMouseButton.wheelUp, TerminalMouseButton.wheelDown, TerminalMouseButton.wheelLeft, TerminalMouseButton.wheelRight]) {
expect(b.isWheel, isTrue, reason: '$b');
}
});
@@ -134,14 +126,8 @@ void main() {
group('MouseReporter (sgr mode)', () {
test('M for press, m for release, with raw 1-based coords', () {
expect(
MouseReporter.report(TerminalMouseButton.middle, TerminalMouseButtonState.down, const CellOffset(10, 20), MouseReportMode.sgr),
'\x1b[<1;11;21M',
);
expect(
MouseReporter.report(TerminalMouseButton.middle, TerminalMouseButtonState.up, const CellOffset(10, 20), MouseReportMode.sgr),
'\x1b[<1;11;21m',
);
expect(MouseReporter.report(TerminalMouseButton.middle, TerminalMouseButtonState.down, const CellOffset(10, 20), MouseReportMode.sgr), '\x1b[<1;11;21M');
expect(MouseReporter.report(TerminalMouseButton.middle, TerminalMouseButtonState.up, const CellOffset(10, 20), MouseReportMode.sgr), '\x1b[<1;11;21m');
});
});
@@ -171,21 +157,11 @@ void main() {
group('CascadeMouseHandler', () {
test('returns the first non-null result; null when all return null', () {
const cascade = CascadeMouseHandler([
_NullHandler(),
_ConstHandler('first'),
_ConstHandler('second'),
]);
expect(
cascade(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down)),
'first',
);
const cascade = CascadeMouseHandler([_NullHandler(), _ConstHandler('first'), _ConstHandler('second')]);
expect(cascade(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down)), 'first');
const allNull = CascadeMouseHandler([_NullHandler(), _NullHandler()]);
expect(
allNull(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down)),
isNull,
);
expect(allNull(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down)), isNull);
});
});
@@ -198,31 +174,16 @@ void main() {
});
test('clickOnly mode + up → null (only down events report)', () {
expect(
h(_evt(TerminalMouseButton.middle, TerminalMouseButtonState.up, mode: MouseMode.clickOnly)),
isNull,
);
expect(h(_evt(TerminalMouseButton.middle, TerminalMouseButtonState.up, mode: MouseMode.clickOnly)), isNull);
});
test('clickOnly mode + button id >= 3 (wheel) → null', () {
expect(
h(_evt(TerminalMouseButton.wheelUp, TerminalMouseButtonState.down, mode: MouseMode.clickOnly)),
isNull,
);
expect(h(_evt(TerminalMouseButton.wheelUp, TerminalMouseButtonState.down, mode: MouseMode.clickOnly)), isNull);
});
test('non-clickOnly modes always return null', () {
for (final m in [
MouseMode.none,
MouseMode.upDownScroll,
MouseMode.upDownScrollDrag,
MouseMode.upDownScrollMove,
]) {
expect(
h(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: m)),
isNull,
reason: '$m',
);
for (final m in [MouseMode.none, MouseMode.upDownScroll, MouseMode.upDownScrollDrag, MouseMode.upDownScrollMove]) {
expect(h(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: m)), isNull, reason: '$m');
}
});
});
@@ -232,39 +193,22 @@ void main() {
test('none / clickOnly modes return null', () {
for (final m in [MouseMode.none, MouseMode.clickOnly]) {
expect(
h(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: m)),
isNull,
);
expect(h(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: m)), isNull);
}
});
test('upDownScroll modes report regular button events', () {
for (final m in [
MouseMode.upDownScroll,
MouseMode.upDownScrollDrag,
MouseMode.upDownScrollMove,
]) {
expect(
h(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: m)),
isNotNull,
reason: '$m',
);
for (final m in [MouseMode.upDownScroll, MouseMode.upDownScrollDrag, MouseMode.upDownScrollMove]) {
expect(h(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: m)), isNotNull, reason: '$m');
}
});
test('wheel up events are silently dropped (no report on wheel release)', () {
expect(
h(_evt(TerminalMouseButton.wheelUp, TerminalMouseButtonState.up, mode: MouseMode.upDownScroll)),
isNull,
);
expect(h(_evt(TerminalMouseButton.wheelUp, TerminalMouseButtonState.up, mode: MouseMode.upDownScroll)), isNull);
});
test('wheel down events do report (one click per scroll tick)', () {
expect(
h(_evt(TerminalMouseButton.wheelDown, TerminalMouseButtonState.down, mode: MouseMode.upDownScroll)),
isNotNull,
);
expect(h(_evt(TerminalMouseButton.wheelDown, TerminalMouseButtonState.down, mode: MouseMode.upDownScroll)), isNotNull);
});
});
@@ -280,12 +224,7 @@ void main() {
});
test('mode=none produces null (no handler reports)', () {
expect(
defaultMouseHandler(
_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: MouseMode.none),
),
isNull,
);
expect(defaultMouseHandler(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: MouseMode.none)), isNull);
});
});
}