Showing
4 changed files
with
119 additions
and
59 deletions
1 | +## 0.1.0 | ||
2 | + | ||
3 | +* Inline Latex Builder added and Link are now Clickable and Latex Error Color changed to null for debug mode. | ||
4 | + | ||
5 | +* `textScaleFector` is removed and `textScaler` added | ||
6 | + | ||
1 | ## 0.0.12 | 7 | ## 0.0.12 |
2 | 8 | ||
3 | * codeBuilder method added [[#6](https://github.com/saminsohag/flutter_packages/issues/6)], and maked the table scrollable. | 9 | * codeBuilder method added [[#6](https://github.com/saminsohag/flutter_packages/issues/6)], and maked the table scrollable. |
@@ -182,7 +182,7 @@ packages: | @@ -182,7 +182,7 @@ packages: | ||
182 | path: ".." | 182 | path: ".." |
183 | relative: true | 183 | relative: true |
184 | source: path | 184 | source: path |
185 | - version: "0.0.12" | 185 | + version: "0.1.0" |
186 | http: | 186 | http: |
187 | dependency: transitive | 187 | dependency: transitive |
188 | description: | 188 | description: |
@@ -38,8 +38,10 @@ abstract class MarkdownComponent { | @@ -38,8 +38,10 @@ abstract class MarkdownComponent { | ||
38 | TextDirection textDirection, | 38 | TextDirection textDirection, |
39 | final void Function(String url, String title)? onLinkTab, | 39 | final void Function(String url, String title)? onLinkTab, |
40 | final String Function(String tex)? latexWorkaround, | 40 | final String Function(String tex)? latexWorkaround, |
41 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
42 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 41 | + final Widget Function(BuildContext context, String tex, bool inline)? |
42 | + latexBuilder, | ||
43 | + final Widget Function(BuildContext context, String name, String code)? | ||
44 | + codeBuilder, | ||
43 | ) { | 45 | ) { |
44 | List<InlineSpan> spans = []; | 46 | List<InlineSpan> spans = []; |
45 | List<String> regexes = | 47 | List<String> regexes = |
@@ -126,8 +128,10 @@ abstract class MarkdownComponent { | @@ -126,8 +128,10 @@ abstract class MarkdownComponent { | ||
126 | TextDirection textDirection, | 128 | TextDirection textDirection, |
127 | final void Function(String url, String title)? onLinkTab, | 129 | final void Function(String url, String title)? onLinkTab, |
128 | final String Function(String tex)? latexWorkaround, | 130 | final String Function(String tex)? latexWorkaround, |
129 | - final Widget Function(BuildContext context, String tex, bool inline)? latexBuilder, | ||
130 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 131 | + final Widget Function(BuildContext context, String tex, bool inline)? |
132 | + latexBuilder, | ||
133 | + final Widget Function(BuildContext context, String name, String code)? | ||
134 | + codeBuilder, | ||
131 | ); | 135 | ); |
132 | 136 | ||
133 | RegExp get exp; | 137 | RegExp get exp; |
@@ -147,8 +151,10 @@ abstract class InlineMd extends MarkdownComponent { | @@ -147,8 +151,10 @@ abstract class InlineMd extends MarkdownComponent { | ||
147 | TextDirection textDirection, | 151 | TextDirection textDirection, |
148 | final void Function(String url, String title)? onLinkTab, | 152 | final void Function(String url, String title)? onLinkTab, |
149 | final String Function(String tex)? latexWorkaround, | 153 | final String Function(String tex)? latexWorkaround, |
150 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
151 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 154 | + final Widget Function(BuildContext context, String tex, bool inline)? |
155 | + latexBuilder, | ||
156 | + final Widget Function(BuildContext context, String name, String code)? | ||
157 | + codeBuilder, | ||
152 | ); | 158 | ); |
153 | } | 159 | } |
154 | 160 | ||
@@ -164,8 +170,10 @@ abstract class BlockMd extends MarkdownComponent { | @@ -164,8 +170,10 @@ abstract class BlockMd extends MarkdownComponent { | ||
164 | TextDirection textDirection, | 170 | TextDirection textDirection, |
165 | final void Function(String url, String title)? onLinkTab, | 171 | final void Function(String url, String title)? onLinkTab, |
166 | final String Function(String tex)? latexWorkaround, | 172 | final String Function(String tex)? latexWorkaround, |
167 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
168 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 173 | + final Widget Function(BuildContext context, String tex, bool inline)? |
174 | + latexBuilder, | ||
175 | + final Widget Function(BuildContext context, String name, String code)? | ||
176 | + codeBuilder, | ||
169 | ) { | 177 | ) { |
170 | return WidgetSpan( | 178 | return WidgetSpan( |
171 | child: build( | 179 | child: build( |
@@ -189,8 +197,10 @@ abstract class BlockMd extends MarkdownComponent { | @@ -189,8 +197,10 @@ abstract class BlockMd extends MarkdownComponent { | ||
189 | TextDirection textDirection, | 197 | TextDirection textDirection, |
190 | final void Function(String url, String title)? onLinkTab, | 198 | final void Function(String url, String title)? onLinkTab, |
191 | final String Function(String tex)? latexWorkaround, | 199 | final String Function(String tex)? latexWorkaround, |
192 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
193 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 200 | + final Widget Function(BuildContext context, String tex, bool inline)? |
201 | + latexBuilder, | ||
202 | + final Widget Function(BuildContext context, String name, String code)? | ||
203 | + codeBuilder, | ||
194 | ); | 204 | ); |
195 | } | 205 | } |
196 | 206 | ||
@@ -206,8 +216,10 @@ class HTag extends BlockMd { | @@ -206,8 +216,10 @@ class HTag extends BlockMd { | ||
206 | TextDirection textDirection, | 216 | TextDirection textDirection, |
207 | final void Function(String url, String title)? onLinkTab, | 217 | final void Function(String url, String title)? onLinkTab, |
208 | final String Function(String tex)? latexWorkaround, | 218 | final String Function(String tex)? latexWorkaround, |
209 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
210 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 219 | + final Widget Function(BuildContext context, String tex, bool inline)? |
220 | + latexBuilder, | ||
221 | + final Widget Function(BuildContext context, String name, String code)? | ||
222 | + codeBuilder, | ||
211 | ) { | 223 | ) { |
212 | var match = exp.firstMatch(text.trim()); | 224 | var match = exp.firstMatch(text.trim()); |
213 | return Text.rich( | 225 | return Text.rich( |
@@ -278,8 +290,10 @@ class NewLines extends InlineMd { | @@ -278,8 +290,10 @@ class NewLines extends InlineMd { | ||
278 | TextDirection textDirection, | 290 | TextDirection textDirection, |
279 | final void Function(String url, String title)? onLinkTab, | 291 | final void Function(String url, String title)? onLinkTab, |
280 | final String Function(String tex)? latexWorkaround, | 292 | final String Function(String tex)? latexWorkaround, |
281 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
282 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 293 | + final Widget Function(BuildContext context, String tex, bool inline)? |
294 | + latexBuilder, | ||
295 | + final Widget Function(BuildContext context, String name, String code)? | ||
296 | + codeBuilder, | ||
283 | ) { | 297 | ) { |
284 | return TextSpan( | 298 | return TextSpan( |
285 | text: "\n\n\n\n", | 299 | text: "\n\n\n\n", |
@@ -303,8 +317,10 @@ class HrLine extends BlockMd { | @@ -303,8 +317,10 @@ class HrLine extends BlockMd { | ||
303 | TextDirection textDirection, | 317 | TextDirection textDirection, |
304 | final void Function(String url, String title)? onLinkTab, | 318 | final void Function(String url, String title)? onLinkTab, |
305 | final String Function(String tex)? latexWorkaround, | 319 | final String Function(String tex)? latexWorkaround, |
306 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
307 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 320 | + final Widget Function(BuildContext context, String tex, bool inline)? |
321 | + latexBuilder, | ||
322 | + final Widget Function(BuildContext context, String name, String code)? | ||
323 | + codeBuilder, | ||
308 | ) { | 324 | ) { |
309 | return CustomDivider( | 325 | return CustomDivider( |
310 | height: 2, | 326 | height: 2, |
@@ -327,8 +343,10 @@ class CheckBoxMd extends BlockMd { | @@ -327,8 +343,10 @@ class CheckBoxMd extends BlockMd { | ||
327 | TextDirection textDirection, | 343 | TextDirection textDirection, |
328 | final void Function(String url, String title)? onLinkTab, | 344 | final void Function(String url, String title)? onLinkTab, |
329 | final String Function(String tex)? latexWorkaround, | 345 | final String Function(String tex)? latexWorkaround, |
330 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
331 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 346 | + final Widget Function(BuildContext context, String tex, bool inline)? |
347 | + latexBuilder, | ||
348 | + final Widget Function(BuildContext context, String name, String code)? | ||
349 | + codeBuilder, | ||
332 | ) { | 350 | ) { |
333 | var match = exp.firstMatch(text.trim()); | 351 | var match = exp.firstMatch(text.trim()); |
334 | return CustomCb( | 352 | return CustomCb( |
@@ -361,8 +379,10 @@ class RadioButtonMd extends BlockMd { | @@ -361,8 +379,10 @@ class RadioButtonMd extends BlockMd { | ||
361 | TextDirection textDirection, | 379 | TextDirection textDirection, |
362 | final void Function(String url, String title)? onLinkTab, | 380 | final void Function(String url, String title)? onLinkTab, |
363 | final String Function(String tex)? latexWorkaround, | 381 | final String Function(String tex)? latexWorkaround, |
364 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
365 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 382 | + final Widget Function(BuildContext context, String tex, bool inline)? |
383 | + latexBuilder, | ||
384 | + final Widget Function(BuildContext context, String name, String code)? | ||
385 | + codeBuilder, | ||
366 | ) { | 386 | ) { |
367 | var match = exp.firstMatch(text.trim()); | 387 | var match = exp.firstMatch(text.trim()); |
368 | return CustomRb( | 388 | return CustomRb( |
@@ -395,8 +415,10 @@ class IndentMd extends BlockMd { | @@ -395,8 +415,10 @@ class IndentMd extends BlockMd { | ||
395 | TextDirection textDirection, | 415 | TextDirection textDirection, |
396 | final void Function(String url, String title)? onLinkTab, | 416 | final void Function(String url, String title)? onLinkTab, |
397 | final String Function(String tex)? latexWorkaround, | 417 | final String Function(String tex)? latexWorkaround, |
398 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
399 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 418 | + final Widget Function(BuildContext context, String tex, bool inline)? |
419 | + latexBuilder, | ||
420 | + final Widget Function(BuildContext context, String name, String code)? | ||
421 | + codeBuilder, | ||
400 | ) { | 422 | ) { |
401 | [ | 423 | [ |
402 | r"\\\[(.*?)\\\]", | 424 | r"\\\[(.*?)\\\]", |
@@ -440,8 +462,10 @@ class UnOrderedList extends BlockMd { | @@ -440,8 +462,10 @@ class UnOrderedList extends BlockMd { | ||
440 | TextDirection textDirection, | 462 | TextDirection textDirection, |
441 | final void Function(String url, String title)? onLinkTab, | 463 | final void Function(String url, String title)? onLinkTab, |
442 | final String Function(String tex)? latexWorkaround, | 464 | final String Function(String tex)? latexWorkaround, |
443 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
444 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 465 | + final Widget Function(BuildContext context, String tex, bool inline)? |
466 | + latexBuilder, | ||
467 | + final Widget Function(BuildContext context, String name, String code)? | ||
468 | + codeBuilder, | ||
445 | ) { | 469 | ) { |
446 | var match = exp.firstMatch(text); | 470 | var match = exp.firstMatch(text); |
447 | return UnorderedListView( | 471 | return UnorderedListView( |
@@ -477,8 +501,10 @@ class OrderedList extends BlockMd { | @@ -477,8 +501,10 @@ class OrderedList extends BlockMd { | ||
477 | TextDirection textDirection, | 501 | TextDirection textDirection, |
478 | final void Function(String url, String title)? onLinkTab, | 502 | final void Function(String url, String title)? onLinkTab, |
479 | final String Function(String tex)? latexWorkaround, | 503 | final String Function(String tex)? latexWorkaround, |
480 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
481 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 504 | + final Widget Function(BuildContext context, String tex, bool inline)? |
505 | + latexBuilder, | ||
506 | + final Widget Function(BuildContext context, String name, String code)? | ||
507 | + codeBuilder, | ||
482 | ) { | 508 | ) { |
483 | var match = exp.firstMatch(text.trim()); | 509 | var match = exp.firstMatch(text.trim()); |
484 | return OrderedListView( | 510 | return OrderedListView( |
@@ -510,8 +536,10 @@ class HighlightedText extends InlineMd { | @@ -510,8 +536,10 @@ class HighlightedText extends InlineMd { | ||
510 | TextDirection textDirection, | 536 | TextDirection textDirection, |
511 | final void Function(String url, String title)? onLinkTab, | 537 | final void Function(String url, String title)? onLinkTab, |
512 | final String Function(String tex)? latexWorkaround, | 538 | final String Function(String tex)? latexWorkaround, |
513 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
514 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 539 | + final Widget Function(BuildContext context, String tex, bool inline)? |
540 | + latexBuilder, | ||
541 | + final Widget Function(BuildContext context, String name, String code)? | ||
542 | + codeBuilder, | ||
515 | ) { | 543 | ) { |
516 | return TextSpan( | 544 | return TextSpan( |
517 | text: text, | 545 | text: text, |
@@ -546,8 +574,10 @@ class BoldMd extends InlineMd { | @@ -546,8 +574,10 @@ class BoldMd extends InlineMd { | ||
546 | TextDirection textDirection, | 574 | TextDirection textDirection, |
547 | final void Function(String url, String title)? onLinkTab, | 575 | final void Function(String url, String title)? onLinkTab, |
548 | final String Function(String tex)? latexWorkaround, | 576 | final String Function(String tex)? latexWorkaround, |
549 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
550 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 577 | + final Widget Function(BuildContext context, String tex, bool inline)? |
578 | + latexBuilder, | ||
579 | + final Widget Function(BuildContext context, String name, String code)? | ||
580 | + codeBuilder, | ||
551 | ) { | 581 | ) { |
552 | var match = exp.firstMatch(text.trim()); | 582 | var match = exp.firstMatch(text.trim()); |
553 | return TextSpan( | 583 | return TextSpan( |
@@ -583,8 +613,10 @@ class LatexMathMultyLine extends BlockMd { | @@ -583,8 +613,10 @@ class LatexMathMultyLine extends BlockMd { | ||
583 | TextDirection textDirection, | 613 | TextDirection textDirection, |
584 | void Function(String url, String title)? onLinkTab, | 614 | void Function(String url, String title)? onLinkTab, |
585 | String Function(String tex)? latexWorkaround, | 615 | String Function(String tex)? latexWorkaround, |
586 | - Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
587 | - Widget Function(BuildContext context,String name,String code)? codeBuilder, | 616 | + Widget Function(BuildContext context, String tex, bool inline)? |
617 | + latexBuilder, | ||
618 | + Widget Function(BuildContext context, String name, String code)? | ||
619 | + codeBuilder, | ||
588 | ) { | 620 | ) { |
589 | var p0 = exp.firstMatch(text.trim()); | 621 | var p0 = exp.firstMatch(text.trim()); |
590 | p0?.group(0); | 622 | p0?.group(0); |
@@ -592,7 +624,7 @@ class LatexMathMultyLine extends BlockMd { | @@ -592,7 +624,7 @@ class LatexMathMultyLine extends BlockMd { | ||
592 | var workaround = latexWorkaround ?? (String tex) => tex; | 624 | var workaround = latexWorkaround ?? (String tex) => tex; |
593 | 625 | ||
594 | var builder = latexBuilder ?? | 626 | var builder = latexBuilder ?? |
595 | - (BuildContext context, String tex,bool inline) => Math.tex( | 627 | + (BuildContext context, String tex, bool inline) => Math.tex( |
596 | tex, | 628 | tex, |
597 | textStyle: style?.copyWith( | 629 | textStyle: style?.copyWith( |
598 | fontFamily: "SansSerif", | 630 | fontFamily: "SansSerif", |
@@ -624,12 +656,17 @@ class LatexMathMultyLine extends BlockMd { | @@ -624,12 +656,17 @@ class LatexMathMultyLine extends BlockMd { | ||
624 | workaround(mathText), | 656 | workaround(mathText), |
625 | textDirection: textDirection, | 657 | textDirection: textDirection, |
626 | style: style?.copyWith( | 658 | style: style?.copyWith( |
627 | - color:(!kDebugMode)?null: Theme.of(context).colorScheme.error) ?? | ||
628 | - TextStyle(color:(!kDebugMode)?null: Theme.of(context).colorScheme.error), | 659 | + color: (!kDebugMode) |
660 | + ? null | ||
661 | + : Theme.of(context).colorScheme.error) ?? | ||
662 | + TextStyle( | ||
663 | + color: (!kDebugMode) | ||
664 | + ? null | ||
665 | + : Theme.of(context).colorScheme.error), | ||
629 | ); | 666 | ); |
630 | }, | 667 | }, |
631 | ); | 668 | ); |
632 | - return builder(context, workaround(mathText),false); | 669 | + return builder(context, workaround(mathText), false); |
633 | } | 670 | } |
634 | } | 671 | } |
635 | 672 | ||
@@ -652,15 +689,17 @@ class LatexMath extends InlineMd { | @@ -652,15 +689,17 @@ class LatexMath extends InlineMd { | ||
652 | TextDirection textDirection, | 689 | TextDirection textDirection, |
653 | final void Function(String url, String title)? onLinkTab, | 690 | final void Function(String url, String title)? onLinkTab, |
654 | final String Function(String tex)? latexWorkaround, | 691 | final String Function(String tex)? latexWorkaround, |
655 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
656 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 692 | + final Widget Function(BuildContext context, String tex, bool inline)? |
693 | + latexBuilder, | ||
694 | + final Widget Function(BuildContext context, String name, String code)? | ||
695 | + codeBuilder, | ||
657 | ) { | 696 | ) { |
658 | var p0 = exp.firstMatch(text.trim()); | 697 | var p0 = exp.firstMatch(text.trim()); |
659 | p0?.group(0); | 698 | p0?.group(0); |
660 | String mathText = p0?[1]?.toString() ?? ""; | 699 | String mathText = p0?[1]?.toString() ?? ""; |
661 | var workaround = latexWorkaround ?? (String tex) => tex; | 700 | var workaround = latexWorkaround ?? (String tex) => tex; |
662 | var builder = latexBuilder ?? | 701 | var builder = latexBuilder ?? |
663 | - (BuildContext context, String tex,bool inline) => Math.tex( | 702 | + (BuildContext context, String tex, bool inline) => Math.tex( |
664 | tex, | 703 | tex, |
665 | textStyle: style?.copyWith( | 704 | textStyle: style?.copyWith( |
666 | fontFamily: "SansSerif", | 705 | fontFamily: "SansSerif", |
@@ -692,15 +731,20 @@ class LatexMath extends InlineMd { | @@ -692,15 +731,20 @@ class LatexMath extends InlineMd { | ||
692 | workaround(mathText), | 731 | workaround(mathText), |
693 | textDirection: textDirection, | 732 | textDirection: textDirection, |
694 | style: style?.copyWith( | 733 | style: style?.copyWith( |
695 | - color:(!kDebugMode)?null: Theme.of(context).colorScheme.error) ?? | ||
696 | - TextStyle(color:(!kDebugMode)?null: Theme.of(context).colorScheme.error), | 734 | + color: (!kDebugMode) |
735 | + ? null | ||
736 | + : Theme.of(context).colorScheme.error) ?? | ||
737 | + TextStyle( | ||
738 | + color: (!kDebugMode) | ||
739 | + ? null | ||
740 | + : Theme.of(context).colorScheme.error), | ||
697 | ); | 741 | ); |
698 | }, | 742 | }, |
699 | ); | 743 | ); |
700 | return WidgetSpan( | 744 | return WidgetSpan( |
701 | alignment: PlaceholderAlignment.baseline, | 745 | alignment: PlaceholderAlignment.baseline, |
702 | baseline: TextBaseline.alphabetic, | 746 | baseline: TextBaseline.alphabetic, |
703 | - child:builder(context, workaround(mathText),true), | 747 | + child: builder(context, workaround(mathText), true), |
704 | ); | 748 | ); |
705 | } | 749 | } |
706 | } | 750 | } |
@@ -718,8 +762,10 @@ class ItalicMd extends InlineMd { | @@ -718,8 +762,10 @@ class ItalicMd extends InlineMd { | ||
718 | TextDirection textDirection, | 762 | TextDirection textDirection, |
719 | final void Function(String url, String title)? onLinkTab, | 763 | final void Function(String url, String title)? onLinkTab, |
720 | final String Function(String tex)? latexWorkaround, | 764 | final String Function(String tex)? latexWorkaround, |
721 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
722 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 765 | + final Widget Function(BuildContext context, String tex, bool inline)? |
766 | + latexBuilder, | ||
767 | + final Widget Function(BuildContext context, String name, String code)? | ||
768 | + codeBuilder, | ||
723 | ) { | 769 | ) { |
724 | var match = exp.firstMatch(text.trim()); | 770 | var match = exp.firstMatch(text.trim()); |
725 | return TextSpan( | 771 | return TextSpan( |
@@ -751,8 +797,10 @@ class ATagMd extends InlineMd { | @@ -751,8 +797,10 @@ class ATagMd extends InlineMd { | ||
751 | TextDirection textDirection, | 797 | TextDirection textDirection, |
752 | final void Function(String url, String title)? onLinkTab, | 798 | final void Function(String url, String title)? onLinkTab, |
753 | final String Function(String tex)? latexWorkaround, | 799 | final String Function(String tex)? latexWorkaround, |
754 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
755 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 800 | + final Widget Function(BuildContext context, String tex, bool inline)? |
801 | + latexBuilder, | ||
802 | + final Widget Function(BuildContext context, String name, String code)? | ||
803 | + codeBuilder, | ||
756 | ) { | 804 | ) { |
757 | var match = exp.firstMatch(text.trim()); | 805 | var match = exp.firstMatch(text.trim()); |
758 | if (match?[1] == null && match?[2] == null) { | 806 | if (match?[1] == null && match?[2] == null) { |
@@ -797,8 +845,10 @@ class ImageMd extends InlineMd { | @@ -797,8 +845,10 @@ class ImageMd extends InlineMd { | ||
797 | TextDirection textDirection, | 845 | TextDirection textDirection, |
798 | final void Function(String url, String title)? onLinkTab, | 846 | final void Function(String url, String title)? onLinkTab, |
799 | final String Function(String tex)? latexWorkaround, | 847 | final String Function(String tex)? latexWorkaround, |
800 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
801 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 848 | + final Widget Function(BuildContext context, String tex, bool inline)? |
849 | + latexBuilder, | ||
850 | + final Widget Function(BuildContext context, String name, String code)? | ||
851 | + codeBuilder, | ||
802 | ) { | 852 | ) { |
803 | var match = exp.firstMatch(text.trim()); | 853 | var match = exp.firstMatch(text.trim()); |
804 | double? height; | 854 | double? height; |
@@ -850,8 +900,10 @@ class TableMd extends BlockMd { | @@ -850,8 +900,10 @@ class TableMd extends BlockMd { | ||
850 | TextDirection textDirection, | 900 | TextDirection textDirection, |
851 | void Function(String url, String title)? onLinkTab, | 901 | void Function(String url, String title)? onLinkTab, |
852 | final String Function(String tex)? latexWorkaround, | 902 | final String Function(String tex)? latexWorkaround, |
853 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
854 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 903 | + final Widget Function(BuildContext context, String tex, bool inline)? |
904 | + latexBuilder, | ||
905 | + final Widget Function(BuildContext context, String name, String code)? | ||
906 | + codeBuilder, | ||
855 | ) { | 907 | ) { |
856 | final List<Map<int, String>> value = text | 908 | final List<Map<int, String>> value = text |
857 | .split('\n') | 909 | .split('\n') |
@@ -878,10 +930,10 @@ class TableMd extends BlockMd { | @@ -878,10 +930,10 @@ class TableMd extends BlockMd { | ||
878 | } | 930 | } |
879 | final controller = ScrollController(); | 931 | final controller = ScrollController(); |
880 | return Scrollbar( | 932 | return Scrollbar( |
881 | - controller: controller, | ||
882 | - child: SingleChildScrollView( | ||
883 | controller: controller, | 933 | controller: controller, |
884 | - scrollDirection: Axis.horizontal, | 934 | + child: SingleChildScrollView( |
935 | + controller: controller, | ||
936 | + scrollDirection: Axis.horizontal, | ||
885 | child: Table( | 937 | child: Table( |
886 | textDirection: textDirection, | 938 | textDirection: textDirection, |
887 | defaultColumnWidth: CustomTableColumnWidth(), | 939 | defaultColumnWidth: CustomTableColumnWidth(), |
@@ -911,7 +963,7 @@ class TableMd extends BlockMd { | @@ -911,7 +963,7 @@ class TableMd extends BlockMd { | ||
911 | data.trim().isEmpty) { | 963 | data.trim().isEmpty) { |
912 | return const SizedBox(); | 964 | return const SizedBox(); |
913 | } | 965 | } |
914 | - | 966 | + |
915 | return Center( | 967 | return Center( |
916 | child: Padding( | 968 | child: Padding( |
917 | padding: const EdgeInsets.symmetric( | 969 | padding: const EdgeInsets.symmetric( |
@@ -958,8 +1010,10 @@ class CodeBlockMd extends BlockMd { | @@ -958,8 +1010,10 @@ class CodeBlockMd extends BlockMd { | ||
958 | TextDirection textDirection, | 1010 | TextDirection textDirection, |
959 | final void Function(String url, String title)? onLinkTab, | 1011 | final void Function(String url, String title)? onLinkTab, |
960 | final String Function(String tex)? latexWorkaround, | 1012 | final String Function(String tex)? latexWorkaround, |
961 | - final Widget Function(BuildContext context, String tex,bool inline)? latexBuilder, | ||
962 | - final Widget Function(BuildContext context,String name,String code)? codeBuilder, | 1013 | + final Widget Function(BuildContext context, String tex, bool inline)? |
1014 | + latexBuilder, | ||
1015 | + final Widget Function(BuildContext context, String name, String code)? | ||
1016 | + codeBuilder, | ||
963 | ) { | 1017 | ) { |
964 | String codes = exp.firstMatch(text)?[2] ?? ""; | 1018 | String codes = exp.firstMatch(text)?[2] ?? ""; |
965 | String name = exp.firstMatch(text)?[1] ?? ""; | 1019 | String name = exp.firstMatch(text)?[1] ?? ""; |
@@ -967,7 +1021,7 @@ class CodeBlockMd extends BlockMd { | @@ -967,7 +1021,7 @@ class CodeBlockMd extends BlockMd { | ||
967 | return Padding( | 1021 | return Padding( |
968 | padding: const EdgeInsets.all(16.0), | 1022 | padding: const EdgeInsets.all(16.0), |
969 | child: codeBuilder != null | 1023 | child: codeBuilder != null |
970 | - ? codeBuilder(context,name, codes) | 1024 | + ? codeBuilder(context, name, codes) |
971 | : CodeField(name: name, codes: codes), | 1025 | : CodeField(name: name, codes: codes), |
972 | ); | 1026 | ); |
973 | } | 1027 | } |
1 | name: gpt_markdown | 1 | name: gpt_markdown |
2 | description: "The purpose of this package is to render the response of ChatGPT into a Flutter app." | 2 | description: "The purpose of this package is to render the response of ChatGPT into a Flutter app." |
3 | -version: 0.0.12 | 3 | +version: 0.1.0 |
4 | homepage: https://github.com/saminsohag/flutter_packages/tree/main/gpt_markdown | 4 | homepage: https://github.com/saminsohag/flutter_packages/tree/main/gpt_markdown |
5 | 5 | ||
6 | environment: | 6 | environment: |
-
Please register or login to post a comment