formatted_text 4.0.0 copy "formatted_text: ^4.0.0" to clipboard
formatted_text: ^4.0.0 copied to clipboard

A simple text formatting package. Use to format text in TextField and Text widgets

pub package BSD-3-Clause License

Introduction #

  • Formatted Text is a Text formatting package.

  • One text can be wrapped aroung with multiple patterns to apply multiple TextStyles merged together. ( All TextStyles should be able to merged together )

  • Child wrappers can be applied to substrings and they will be merged with parenet wrapper style. ( All TextStyles should be able to merged together )

  • This package includes,

    • Text View
    • Text Editing Controller
    • Selection toolbar

Packages #

formatted_text - Formatted Text Package

formatted_text_hooks - Formatted Text Hooks Package

Getting Started #

Add as a dependency #

dependencies:
  formatted_text: [latest-version]

If you are using flutter_hooks use formatted_text_hooks

dependencies:
  formatted_text_hooks: [latest-version]

Import package #

import 'package:formatted_text/formatted_text.dart';

If using formatted_text_hooks

import 'package:formatted_text_hooks/formatted_text_hooks.dart';

Usage examples #

Text View #

Bold

FormattedText('*This text is bold*');

Bold Text Image

Italic

FormattedText('_This text is Italic_');

Italic Text Image

Strikethrough (~) and Underline (#) are also available as default formatters

Multi styling substrings

FormattedText('_This is *Bold Italic* Italic_');

Multistyling substring Image

Text Editing Controller #

final textEditingController = FormattedTextEditingController();

or with hooks

final textEditingController = useFormattedTextController();

Selection controls #

To display custom selection controls,

selectionControls: FormattedTextSelectionControls(),

Modify cut / copy / paste / select all action availability using Toolbar Options

toolbarOptions: ToolbarOptions(
  cut: false,
  copy: false,
  paste: false,
  selectAll: true,
)

Custom Formatters #

  • Providing custom formatters will override the default formatters.
FormattedText(
  '==This text is orange==',
  formatters: [
    ... FormattedTextDefaults.formattedTextDefaultFormatters, // To add default formatters
    FormattedTextFormatter(
      patternChars: '==', // Pattern char(s)
      style: TextStyle(color: Colors.orange),
    )
  ],
)

Custom Formatter Image - Orange Text

Custom Toolbar Actions #

  • Providing custom actions will override the default actions except cut / copy / paste / select all.
  • Don't escape patternChars.
selectionControls: FormattedTextSelectionControls(
  actions: [
    ... FormattedTextDefaults.formattedTextToolbarDefaultActions, // To add default actions
    FormattedTextToolbarAction(
      label: 'Orange',
      patternChars: '==',
    )
  ],
)

Note #

  • All formatter patterns must be distinctive
  • Child patterns which are already applied will be considered normal text
  • Child styles should be able to merge with parent styles

Issues #

Please file any issues, bugs or feature requests as an issue on our GitHub page.

Author #

This Formatted Text package is developed by NirmalCode.

9
likes
150
pub points
81%
popularity

Publisher

verified publishernirmalcode.com

A simple text formatting package. Use to format text in TextField and Text widgets

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

equatable, flutter

More

Packages that depend on formatted_text