diff --git a/lib/src/terminal/src/ui/gesture/gesture_detector.dart b/lib/src/terminal/src/ui/gesture/gesture_detector.dart index 80514ab9..78258299 100644 --- a/lib/src/terminal/src/ui/gesture/gesture_detector.dart +++ b/lib/src/terminal/src/ui/gesture/gesture_detector.dart @@ -13,8 +13,6 @@ class TerminalGestureDetector extends StatefulWidget { this.onTapDown, this.onSecondaryTapDown, this.onSecondaryTapUp, - this.onTertiaryTapDown, - this.onTertiaryTapUp, this.onLongPressStart, this.onLongPressMoveUpdate, this.onLongPressUp, @@ -35,10 +33,6 @@ class TerminalGestureDetector extends StatefulWidget { final GestureTapDownCallback? onDoubleTapDown; - final GestureTapDownCallback? onTertiaryTapDown; - - final GestureTapUpCallback? onTertiaryTapUp; - final GestureLongPressStartCallback? onLongPressStart; final GestureLongPressMoveUpdateCallback? onLongPressMoveUpdate; @@ -112,9 +106,7 @@ class _TerminalGestureDetectorState extends State { ..onTapDown = _handleTapDown ..onTapUp = _handleTapUp ..onSecondaryTapDown = widget.onSecondaryTapDown - ..onSecondaryTapUp = widget.onSecondaryTapUp - ..onTertiaryTapDown = widget.onTertiaryTapDown - ..onTertiaryTapUp = widget.onTertiaryTapUp; + ..onSecondaryTapUp = widget.onSecondaryTapUp; }, ); diff --git a/lib/src/terminal/src/ui/gesture/gesture_handler.dart b/lib/src/terminal/src/ui/gesture/gesture_handler.dart index 4613a09a..77a75e41 100644 --- a/lib/src/terminal/src/ui/gesture/gesture_handler.dart +++ b/lib/src/terminal/src/ui/gesture/gesture_handler.dart @@ -1,6 +1,5 @@ // Based on xterm.dart v4.0.0 by xuty (MIT). See LICENSE in this directory. -import 'package:flutter/gestures.dart'; import 'package:flutter/widgets.dart'; import 'package:clide/src/terminal/src/core/mouse/button.dart'; import 'package:clide/src/terminal/src/core/mouse/button_state.dart'; @@ -20,8 +19,6 @@ class TerminalGestureHandler extends StatefulWidget { this.onTapDown, this.onSecondaryTapDown, this.onSecondaryTapUp, - this.onTertiaryTapDown, - this.onTertiaryTapUp, this.readOnly = false, }); @@ -39,10 +36,6 @@ class TerminalGestureHandler extends StatefulWidget { final GestureTapUpCallback? onSecondaryTapUp; - final GestureTapDownCallback? onTertiaryTapDown; - - final GestureTapUpCallback? onTertiaryTapUp; - final bool readOnly; @override @@ -65,8 +58,6 @@ class _TerminalGestureHandlerState extends State { onTapDown: onTapDown, onSecondaryTapDown: onSecondaryTapDown, onSecondaryTapUp: onSecondaryTapUp, - onTertiaryTapDown: onSecondaryTapDown, - onTertiaryTapUp: onSecondaryTapUp, onLongPressStart: onLongPressStart, onLongPressMoveUpdate: onLongPressMoveUpdate, // onLongPressUp: onLongPressUp, @@ -144,14 +135,6 @@ class _TerminalGestureHandlerState extends State { _tapUp(widget.onSecondaryTapUp, details, TerminalMouseButton.right); } - void onTertiaryTapDown(TapDownDetails details) { - _tapDown(widget.onTertiaryTapDown, details, TerminalMouseButton.middle); - } - - void onTertiaryTapUp(TapUpDetails details) { - _tapUp(widget.onTertiaryTapUp, details, TerminalMouseButton.right); - } - void onDoubleTapDown(TapDownDetails details) { renderTerminal.selectWord(details.localPosition); } @@ -172,8 +155,10 @@ class _TerminalGestureHandlerState extends State { void onDragStart(DragStartDetails details) { _lastDragStartDetails = details; - - details.kind == PointerDeviceKind.mouse ? renderTerminal.selectCharacters(details.localPosition) : renderTerminal.selectWord(details.localPosition); + // PanGestureRecognizer in TerminalGestureDetector only registers + // PointerDeviceKind.mouse, so we know the drag came from a mouse and + // characters are the right selection unit. + renderTerminal.selectCharacters(details.localPosition); } void onDragUpdate(DragUpdateDetails details) { diff --git a/test/terminal/coverage_trivials_test.dart b/test/terminal/coverage_trivials_test.dart index ff5a05fa..f175ba78 100644 --- a/test/terminal/coverage_trivials_test.dart +++ b/test/terminal/coverage_trivials_test.dart @@ -35,13 +35,13 @@ void main() { test('Buffer.resize pads reflow output up to the new height', () { final t = Terminal(maxLines: 200, onOutput: (_) {}); - // Write content narrower than the new width — reflow should produce - // fewer lines than newHeight, triggering the pad-with-empty-lines - // branch in buffer.dart. - t.write('abc\r\n'); - // Resize to a wide + tall viewport. - t.resize(40, 50, 8, 16); - expect(t.buffer.lines.length, greaterThanOrEqualTo(50)); + // Setup: narrow viewport with wrapped continuation lines. Widening + // collapses them in reflow → output rows < newHeight → the + // pad-with-empty-lines branch in Buffer.resize runs. + t.resize(5, 30, 8, 16); + t.write('aaaaaaaaaaaaaaaaaaaa'); // wraps 4 times + t.resize(80, 30, 8, 16); // widen, same height + expect(t.buffer.lines.length, 30); }); test('TerminalPainter.paintLine handles wide (CJK) cells without skipping the skip', () { diff --git a/test/terminal/render_test.dart b/test/terminal/render_test.dart index 8033308b..fd2273dd 100644 --- a/test/terminal/render_test.dart +++ b/test/terminal/render_test.dart @@ -11,7 +11,6 @@ import 'package:clide/src/terminal/src/ui/controller.dart'; import 'package:clide/src/terminal/src/ui/cursor_type.dart'; import 'package:clide/src/terminal/src/ui/terminal_text_style.dart'; import 'package:clide/src/terminal/src/ui/themes.dart'; -import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart';