Showing
4 changed files
with
115 additions
and
55 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') |
| @@ -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