diff --git a/example/lib/main.dart b/example/lib/main.dart index 9943770..cf6a917 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -49,7 +49,8 @@ class MyApp extends StatelessWidget { HintedStyle(defaultBBStylesheet(), "Default style"), HintedStyle( defaultBBStylesheet( - textStyle: const TextStyle(color: Colors.blue, fontSize: 28, height: 1)), + textStyle: + const TextStyle(color: Colors.blue, fontSize: 28, height: 1)), "Default style with text style changed."), HintedStyle(BBStylesheet(tags: []), "Empty style sheet"), HintedStyle(defaultBBStylesheet().replaceTag(HeaderTag(3, 6)), @@ -167,7 +168,7 @@ class _MyHomePageState extends State { child: Center(child: parsedBBCode), ), floatingActionButton: - Column(mainAxisAlignment: MainAxisAlignment.end, children: [ + Column(mainAxisAlignment: MainAxisAlignment.end, children: [ FloatingActionButton.small( onPressed: _selectNextExample, tooltip: 'Next example text', @@ -186,4 +187,4 @@ class _MyHomePageState extends State { ]), ); } -} \ No newline at end of file +} diff --git a/lib/src/default_tags/abstract_tags.dart b/lib/src/default_tags/abstract_tags.dart index 9d109e6..fb03db6 100644 --- a/lib/src/default_tags/abstract_tags.dart +++ b/lib/src/default_tags/abstract_tags.dart @@ -44,7 +44,8 @@ abstract class WrappedStyleTag extends AbstractTag { /// Method that should be overwritten by the implementing tag. /// The [spans] are all styled children of this tag. /// A list of [InlineSpan] should be returned. For a quote tag this would be one single element. - List wrap(FlutterRenderer renderer, bbob.Element element, List spans); + List wrap( + FlutterRenderer renderer, bbob.Element element, List spans); @override void onTagStart(FlutterRenderer renderer) { @@ -55,7 +56,8 @@ abstract class WrappedStyleTag extends AbstractTag { @override void onTagEnd(FlutterRenderer renderer) { final wrappedElement = renderer.endWrappedStyle(); - final output = wrap(renderer, wrappedElement.element, wrappedElement.parsedChildren); + final output = + wrap(renderer, wrappedElement.element, wrappedElement.parsedChildren); renderer.appendTextSpans(output); super.onTagEnd(renderer); } diff --git a/lib/src/default_tags/basic_tags.dart b/lib/src/default_tags/basic_tags.dart index e0f4196..8124911 100644 --- a/lib/src/default_tags/basic_tags.dart +++ b/lib/src/default_tags/basic_tags.dart @@ -175,7 +175,8 @@ class QuoteTag extends WrappedStyleTag { }) : super("quote"); @override - List wrap(FlutterRenderer renderer, bbob.Element element, List spans) { + List wrap( + FlutterRenderer renderer, bbob.Element element, List spans) { String? author = element.attributes.isNotEmpty ? element.attributes.values.first : null; @@ -194,7 +195,8 @@ class SpoilerTag extends WrappedStyleTag { SpoilerTag() : super("spoiler"); @override - List wrap(FlutterRenderer renderer, bbob.Element element, List spans) { + List wrap( + FlutterRenderer renderer, bbob.Element element, List spans) { late String text; if (element.attributes.isNotEmpty) { text = "Spoiler: ${element.attributes.values.join(' ')}"; @@ -205,10 +207,10 @@ class SpoilerTag extends WrappedStyleTag { return [ WidgetSpan( child: SpoilerDisplay( - spoilerText: text, - content: spans, - selectable: renderer.stylesheet.selectableText, - )) + spoilerText: text, + content: spans, + selectable: renderer.stylesheet.selectableText, + )) ]; } } @@ -217,7 +219,8 @@ class LeftAlignTag extends WrappedStyleTag { LeftAlignTag() : super("left"); @override - List wrap(FlutterRenderer renderer, bbob.Element element, List spans) { + List wrap( + FlutterRenderer renderer, bbob.Element element, List spans) { return [ WidgetSpan( child: SizedBox( @@ -232,7 +235,8 @@ class CenterAlignTag extends WrappedStyleTag { CenterAlignTag() : super("center"); @override - List wrap(FlutterRenderer renderer, bbob.Element element, List spans) { + List wrap( + FlutterRenderer renderer, bbob.Element element, List spans) { return [ WidgetSpan( child: SizedBox( @@ -248,7 +252,8 @@ class RightAlignTag extends WrappedStyleTag { RightAlignTag() : super("right"); @override - List wrap(FlutterRenderer renderer, bbob.Element element, List spans) { + List wrap( + FlutterRenderer renderer, bbob.Element element, List spans) { return [ WidgetSpan( child: SizedBox( diff --git a/lib/src/default_tags/list_tag.dart b/lib/src/default_tags/list_tag.dart index eaf0532..a60241c 100644 --- a/lib/src/default_tags/list_tag.dart +++ b/lib/src/default_tags/list_tag.dart @@ -67,7 +67,8 @@ abstract class AbstractListTag extends WrappedStyleTag { } @override - List wrap(FlutterRenderer renderer, bbob.Element element, List spans) { + List wrap( + FlutterRenderer renderer, bbob.Element element, List spans) { // Remove accidental \n at the start and end. if (spans.first.toPlainText() == "\n") spans.removeAt(0); if (spans.last.toPlainText() == "\n") spans.removeLast(); diff --git a/lib/src/default_tags/widgets/spoiler_widget.dart b/lib/src/default_tags/widgets/spoiler_widget.dart index aef47cf..a77ddee 100644 --- a/lib/src/default_tags/widgets/spoiler_widget.dart +++ b/lib/src/default_tags/widgets/spoiler_widget.dart @@ -6,7 +6,13 @@ class SpoilerDisplay extends StatelessWidget { final double elevation; final bool selectable; - const SpoilerDisplay({Key? key, required this.spoilerText, required this.content, this.elevation = 2, this.selectable = true}) : super(key: key); + const SpoilerDisplay( + {Key? key, + required this.spoilerText, + required this.content, + this.elevation = 2, + this.selectable = true}) + : super(key: key); @override Widget build(BuildContext context) { @@ -21,11 +27,12 @@ class SpoilerDisplay extends StatelessWidget { Divider(height: 1), Padding( padding: EdgeInsets.all(10), - child: selectable ? SelectableText.rich(TextSpan(children: content)) : RichText(text: TextSpan(children: content)) - ) + child: selectable + ? SelectableText.rich(TextSpan(children: content)) + : RichText(text: TextSpan(children: content))) ], ), ), ); } -} \ No newline at end of file +} diff --git a/lib/src/style/stylesheet.dart b/lib/src/style/stylesheet.dart index b7d86e9..f56d883 100644 --- a/lib/src/style/stylesheet.dart +++ b/lib/src/style/stylesheet.dart @@ -20,9 +20,12 @@ class BBStylesheet { /// Constructor for a [BBStylesheet]. Requires at least a list /// of tags to be supplied. - BBStylesheet({required Iterable tags, TextStyle? defaultText, this.selectableText = false}) { - defaultTextStyle = - defaultText ?? const TextStyle(color: Colors.black, fontSize: 14, height: 1); + BBStylesheet( + {required Iterable tags, + TextStyle? defaultText, + this.selectableText = false}) { + defaultTextStyle = defaultText ?? + const TextStyle(color: Colors.black, fontSize: 14, height: 1); for (var parser in tags) { _tags[parser.tag] = parser; diff --git a/lib/src/widget.dart b/lib/src/widget.dart index db3faae..864a561 100644 --- a/lib/src/widget.dart +++ b/lib/src/widget.dart @@ -32,10 +32,7 @@ class BBCodeText extends StatelessWidget { /// The [tagParsers] are the parsers for the tags. When left empty, all available tag parsers will be used. One might /// want to get the subset of [_allTags] and additionally overwrite some like [UrlTag] to fit with the style scheme. const BBCodeText( - {Key? key, - required this.data, - this.stylesheet, - this.errorBuilder}) + {Key? key, required this.data, this.stylesheet, this.errorBuilder}) : super(key: key); @override @@ -79,12 +76,13 @@ class BBCodeText extends StatelessWidget { if (stylesheet?.selectableText ?? false) { return SelectableText.rich( - TextSpan(children: spans, style: stylesheet?.defaultTextStyle), - textScaler: textScaler, + TextSpan(children: spans, style: stylesheet?.defaultTextStyle), + textScaler: textScaler, ); } return RichText( - text: TextSpan(children: spans, style: stylesheet?.defaultTextStyle), textScaler: textScaler); + text: TextSpan(children: spans, style: stylesheet?.defaultTextStyle), + textScaler: textScaler); } } diff --git a/test/flutter_bbcode_internal_test.dart b/test/flutter_bbcode_internal_test.dart index 8024746..6dbbe47 100644 --- a/test/flutter_bbcode_internal_test.dart +++ b/test/flutter_bbcode_internal_test.dart @@ -25,18 +25,12 @@ void main() { var newStyle = TextStyle(fontSize: 999); var initial = defaultBBStylesheet(); - var copy = initial.copyWith( - defaultTextStyle: newStyle, - selectableText: true - ); + var copy = + initial.copyWith(defaultTextStyle: newStyle, selectableText: true); expect(initial.tags, copy.tags); expect(copy.defaultTextStyle, newStyle); expect(copy.selectableText, true); }); - - }); - - -} \ No newline at end of file +}