textf 0.3.0
textf: ^0.3.0 copied to clipboard
A lightweight Flutter widget for inline text formatting with Markdown-like syntax. Supports bold, italic, strikethrough, and code with minimal overhead.
Changelog #
All notable changes to the textf
package will be documented in this file.
0.3.0 - 2025-04-18 #
Added #
- Theme-Aware Default Styling: Implemented theme-aware default styling for inline code (
`code`
) and links ([text](url)
). Their appearance now automatically adapts to the application'sThemeData
(e.g., usingcolorScheme.primary
for links, theme-appropriate background/text for code) unless overridden byTextfOptions
. strikethroughThickness
Option: Added thestrikethroughThickness
property toTextfOptions
to allow customizing the line thickness for~~strikethrough~~
text when not providing a fullstrikethroughStyle
.TextScaler
Support: Added support for thetextScaler
property, allowingTextf
to respect system font scaling settings and customTextScaler
instances, similar to the standardText
widget.
Changed #
- Documentation: Significantly enhanced
README.md
with detailed explanations of allTextfOptions
properties, their inheritance behavior, and added styling recommendations. - Code Font Defaults: Improved default font family fallbacks for inline code (
code
) for better cross-platform rendering when a specificcodeStyle
is not provided (usesRobotoMono
,Menlo
,Courier New
,monospace
).
Removed #
- Internal Caching: Removed the internal caching mechanism for parsed results to simplify the parsing logic and resolve potential inconsistencies during hot reload. Performance remains optimized through efficient algorithms.
Fixed #
- Internal: Updated internal tests to correctly account for the new theme-aware default styles.
0.2.1 - 2025-04-12 #
Fixed #
- Hot Reload Reliability: Fixed an issue where changes made to
TextfOptions
(e.g., custom colors, styles) or internal formatting logic might not render correctly immediately after using hot reload during development. The internal parser cache is now properly invalidated only in debug mode duringreassemble
, ensuring UI consistency and improving the development workflow without affecting release build performance.
0.2.0 - 2025-04-12 #
Added #
-
Link Support: Implemented full support for Markdown-style links with
[text](url)
syntax- Added interactive link styling with customizable colors and decorations
- Created hover effects for links with mouse cursor changes
- Enabled nested formatting within link text (e.g.,
[**bold** link](url)
) - Added
onUrlTap
andonUrlHover
callbacks for link interaction
-
TextfOptions: Introduced a new widget to customize text formatting styles
- Global styling options for all formatting types (bold, italic, code, etc.)
- Configurable link appearance and behavior
- Inheritance-based configuration through the widget tree
-
Enhanced Styling: Added support for more detailed text styling
- Font family customization for code blocks
- Expanded default styles for each formatting type
Fixed #
- Updated default font family for inline code text to RobotoMono for better readability
- Enabled trailing commas in analysis options for code consistency
0.1.1 - 2025-04-05 #
0.1.0 - 2025-04-04 #
Added #
- Initial release of Textf lightweight text formatting widget
- Support for bold formatting with
**text**
or__text__
- Support for italic formatting with
*text*
or_text_
- Support for combined bold+italic with
***text***
or___text___
- Support for strikethrough with
~~text~~
- Support for inline code with
`code`
- Escape character support with backslash
- Performance optimization with caching
- Nested formatting support (up to 2 levels deep)
0.0.1 #
- Initial release of Textf widget.