Skip to content

Commit

Permalink
Merge pull request #40 from solid-software/fix/mistake-range-guards
Browse files Browse the repository at this point in the history
Added mistake range guards
Resolves #39
  • Loading branch information
mitryp committed May 26, 2023
2 parents 9d8c080 + fabe039 commit 29bd626
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions lib/core/controllers/colored_text_editing_controller.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import 'dart:math';

import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:languagetool_textfield/core/enums/mistake_type.dart';
Expand Down Expand Up @@ -98,7 +100,7 @@ class ColoredTextEditingController extends TextEditingController {
yield TextSpan(
text: text.substring(
currentOffset,
mistake.offset,
min(mistake.offset, text.length),
),
style: style,
);
Expand All @@ -119,7 +121,10 @@ class ColoredTextEditingController extends TextEditingController {
yield TextSpan(
children: [
TextSpan(
text: text.substring(mistake.offset, mistake.endOffset),
text: text.substring(
mistake.offset,
min(mistake.endOffset, text.length),
),
mouseCursor: MaterialStateMouseCursor.clickable,
style: style?.copyWith(
backgroundColor: mistakeColor.withOpacity(
Expand All @@ -134,7 +139,7 @@ class ColoredTextEditingController extends TextEditingController {
],
);

currentOffset = mistake.endOffset;
currentOffset = min(mistake.endOffset, text.length);
}

/// TextSpan after mistake
Expand Down

0 comments on commit 29bd626

Please sign in to comment.