rich_text_controller
An extended text editing controller that supports different inline styles for custom regex patterns.
An extended text editing controller that supports different inline styles for custom regex
{"sdk":"flutter"}{"sdk":"flutter"}^5.0.0English project snapshot. Visit GitHub for the latest content.
Pub Version License Pub Points
rich_text_controller is an extended text editing controller for Flutter that supports applying different inline styles based on custom regex patterns. This package simplifies text styling and interaction in Flutter applications, making it easy to create feature-rich text inputs.
pubspec.yaml file:dependencies:
rich_text_controller: ^[latest_version]
flutter pub get
import 'package:rich_text_controller/rich_text_controller.dart';
Here's a quick example of how to use RichTextController to style specific patterns in a TextField:
import 'package:flutter/material.dart';
import 'package:rich_text_controller/rich_text_controller.dart';
defaultTextStyle(BuildContext context) => TextStyle(color: Colors.black);
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('RichTextController Example')),
body: Center(
child: Padding(
padding: const EdgeInsets.all(16.0),
child: TextField(
controller: RichTextController(
text: '',
onMatch: (match, target) {
print('Match found: \$match');
},
targetMatches: [
MatchTargetItem(
textStyle: TextStyle(color: Colors.blue, fontWeight: FontWeight.bold),
regex: RegExp(r'#[a-zA-Z0-9_]+'),
),
MatchTargetItem(
textStyle: TextStyle(color: Colors.green),
regex: RegExp(r'@[a-zA-Z0-9_]+'),
),
],
),
decoration: InputDecoration(border: OutlineInputBorder()),
),
),
),
),
);
}
}
Contributions are always welcome! Here’s how you can help:
Licensed under the MIT License. You are free to use, modify, and distribute this package. See the LICENSE.md file for details.