rich_text_controller
カスタム正規表現パターン用に異なるインラインスタイルをサポートする拡張テキスト編集コントローラー。
カスタム正規表現用に異なるインラインスタイルをサポートする拡張テキスト編集コントローラー
{"sdk":"flutter"}{"sdk":"flutter"}^5.0.0以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。
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.