flutter_spanned_controller 0.5.0
flutter_spanned_controller: ^0.5.0 copied to clipboard
TextEditingController implementation that allows for rich text styling in Flutter.
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased #
0.5.0 — 2021-3-9 #
-
Added
StringDiff.isEmptyandStringDiff.isNotEmpty. -
Added
getSpansandgetTypedSpanstoSpanList. -
Added
SpanController.getAppliedSpansWithUnsafeType. -
Fixed:
GestureRecognizerson spans are now indexed with their attribute instead of the resolved attribute value, because function object equality does not work with inline lambdas. -
Fixed:
SpannedTextEditingController.buildTextSpandid not translate composition indices, causing an exception in some cases with characters that take up multiple code units in UTF-16 (like most emoji). -
Changed:
TextAttribute.resolvenow takes aBuildContextinstead of taking anAttributeThemedirectly. -
Changed: made
TextStyleinbuildTextSpansoptional.
0.4.0-0 — 2020-12-22 #
-
Removed
TextAttribute.simple. In favor of custom classes, so each attribute has its own type and serialization can use the type to determine which encoder to use. -
Changed: moved
ExpandRulesto be a part of attributes themselves.
0.3.0-0 — 2020-12-18 #
-
Added system to theme
TextAttributeswithAttributeTheme. -
Added
Rangeto avoid confusion withTextRange.TextRangeis designed to be for indexing intoStringby UTF-16 code units. -
Changed:
TextAttributenow has a resolve method that returns the actual information for applying the attribute in the form ofTextAttributeValue. -
Changed: the
characterslibrary is used to index with grapheme clusters instead of UTF-16 code units. This changes mostString-based API to useCharactersinstead. -
Changed: use
RangeinAttributeSpanand related classes to avoid confusion with UTF-16 indices used byTextRange. -
Changed: renamed
SpanList.spanstoiterto prevent confusingspans.spans. -
Changed:
SpannedTextEditingControllertakes aSpanListnow instead ofIterable<AttributeSpan>. -
Changed: renamed
InsertBehaviortoExpandRuleandFullInsertBehaviortoSpanExpandRules. Finally, I've come up with the right name for this concept :) -
Changed: rename
SpannedString()toSpannedString.chars()and let unnamed constructor takeString. -
Fixed: Changed library name from flutter_span_controller to flutter_spanned_controller.
0.2.0-0 — 2020-12-14 #
- Added:
SpannedStringBuilderto fluently buildSpannedString.
0.1.1-0 — 2020-12-14 #
- Changed: Replaced template README with short explanation.
0.1.0-0 — 2020-12-11 #
Initial release.