Showing
3 changed files
with
84 additions
and
74 deletions
| @@ -28,7 +28,8 @@ class TexMarkdown extends StatelessWidget { | @@ -28,7 +28,8 @@ class TexMarkdown extends StatelessWidget { | ||
| 28 | final String Function(String tex)? latexWorkaround; | 28 | final String Function(String tex)? latexWorkaround; |
| 29 | final Widget Function(BuildContext context, String tex)? latexBuilder; | 29 | final Widget Function(BuildContext context, String tex)? latexBuilder; |
| 30 | final bool followLinkColor; | 30 | final bool followLinkColor; |
| 31 | - final Widget Function(BuildContext context, String tex)? codeBuilder; | 31 | + final Widget Function(BuildContext context, String name, String code)? |
| 32 | + codeBuilder; | ||
| 32 | 33 | ||
| 33 | @override | 34 | @override |
| 34 | Widget build(BuildContext context) { | 35 | Widget build(BuildContext context) { |
| @@ -38,7 +38,7 @@ abstract class MarkdownComponent { | @@ -38,7 +38,7 @@ abstract class MarkdownComponent { | ||
| 38 | final void Function(String url, String title)? onLinkTab, | 38 | final void Function(String url, String title)? onLinkTab, |
| 39 | final String Function(String tex)? latexWorkaround, | 39 | final String Function(String tex)? latexWorkaround, |
| 40 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 40 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 41 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 41 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 42 | ) { | 42 | ) { |
| 43 | List<InlineSpan> spans = []; | 43 | List<InlineSpan> spans = []; |
| 44 | List<String> regexes = | 44 | List<String> regexes = |
| @@ -126,7 +126,7 @@ abstract class MarkdownComponent { | @@ -126,7 +126,7 @@ abstract class MarkdownComponent { | ||
| 126 | final void Function(String url, String title)? onLinkTab, | 126 | final void Function(String url, String title)? onLinkTab, |
| 127 | final String Function(String tex)? latexWorkaround, | 127 | final String Function(String tex)? latexWorkaround, |
| 128 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 128 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 129 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 129 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 130 | ); | 130 | ); |
| 131 | 131 | ||
| 132 | RegExp get exp; | 132 | RegExp get exp; |
| @@ -147,7 +147,7 @@ abstract class InlineMd extends MarkdownComponent { | @@ -147,7 +147,7 @@ abstract class InlineMd extends MarkdownComponent { | ||
| 147 | final void Function(String url, String title)? onLinkTab, | 147 | final void Function(String url, String title)? onLinkTab, |
| 148 | final String Function(String tex)? latexWorkaround, | 148 | final String Function(String tex)? latexWorkaround, |
| 149 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 149 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 150 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 150 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 151 | ); | 151 | ); |
| 152 | } | 152 | } |
| 153 | 153 | ||
| @@ -164,7 +164,7 @@ abstract class BlockMd extends MarkdownComponent { | @@ -164,7 +164,7 @@ abstract class BlockMd extends MarkdownComponent { | ||
| 164 | final void Function(String url, String title)? onLinkTab, | 164 | final void Function(String url, String title)? onLinkTab, |
| 165 | final String Function(String tex)? latexWorkaround, | 165 | final String Function(String tex)? latexWorkaround, |
| 166 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 166 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 167 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 167 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 168 | ) { | 168 | ) { |
| 169 | return WidgetSpan( | 169 | return WidgetSpan( |
| 170 | child: build( | 170 | child: build( |
| @@ -189,7 +189,7 @@ abstract class BlockMd extends MarkdownComponent { | @@ -189,7 +189,7 @@ abstract class BlockMd extends MarkdownComponent { | ||
| 189 | final void Function(String url, String title)? onLinkTab, | 189 | final void Function(String url, String title)? onLinkTab, |
| 190 | final String Function(String tex)? latexWorkaround, | 190 | final String Function(String tex)? latexWorkaround, |
| 191 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 191 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 192 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 192 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 193 | ); | 193 | ); |
| 194 | } | 194 | } |
| 195 | 195 | ||
| @@ -206,7 +206,7 @@ class HTag extends BlockMd { | @@ -206,7 +206,7 @@ class HTag extends BlockMd { | ||
| 206 | final void Function(String url, String title)? onLinkTab, | 206 | final void Function(String url, String title)? onLinkTab, |
| 207 | final String Function(String tex)? latexWorkaround, | 207 | final String Function(String tex)? latexWorkaround, |
| 208 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 208 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 209 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 209 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 210 | ) { | 210 | ) { |
| 211 | var match = exp.firstMatch(text.trim()); | 211 | var match = exp.firstMatch(text.trim()); |
| 212 | return Text.rich( | 212 | return Text.rich( |
| @@ -278,7 +278,7 @@ class NewLines extends InlineMd { | @@ -278,7 +278,7 @@ class NewLines extends InlineMd { | ||
| 278 | final void Function(String url, String title)? onLinkTab, | 278 | final void Function(String url, String title)? onLinkTab, |
| 279 | final String Function(String tex)? latexWorkaround, | 279 | final String Function(String tex)? latexWorkaround, |
| 280 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 280 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 281 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 281 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 282 | ) { | 282 | ) { |
| 283 | return TextSpan( | 283 | return TextSpan( |
| 284 | text: "\n\n\n\n", | 284 | text: "\n\n\n\n", |
| @@ -303,7 +303,7 @@ class HrLine extends BlockMd { | @@ -303,7 +303,7 @@ class HrLine extends BlockMd { | ||
| 303 | final void Function(String url, String title)? onLinkTab, | 303 | final void Function(String url, String title)? onLinkTab, |
| 304 | final String Function(String tex)? latexWorkaround, | 304 | final String Function(String tex)? latexWorkaround, |
| 305 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 305 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 306 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 306 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 307 | ) { | 307 | ) { |
| 308 | return CustomDivider( | 308 | return CustomDivider( |
| 309 | height: 2, | 309 | height: 2, |
| @@ -327,7 +327,7 @@ class CheckBoxMd extends BlockMd { | @@ -327,7 +327,7 @@ class CheckBoxMd extends BlockMd { | ||
| 327 | final void Function(String url, String title)? onLinkTab, | 327 | final void Function(String url, String title)? onLinkTab, |
| 328 | final String Function(String tex)? latexWorkaround, | 328 | final String Function(String tex)? latexWorkaround, |
| 329 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 329 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 330 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 330 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 331 | ) { | 331 | ) { |
| 332 | var match = exp.firstMatch(text.trim()); | 332 | var match = exp.firstMatch(text.trim()); |
| 333 | return CustomCb( | 333 | return CustomCb( |
| @@ -361,7 +361,7 @@ class RadioButtonMd extends BlockMd { | @@ -361,7 +361,7 @@ class RadioButtonMd extends BlockMd { | ||
| 361 | final void Function(String url, String title)? onLinkTab, | 361 | final void Function(String url, String title)? onLinkTab, |
| 362 | final String Function(String tex)? latexWorkaround, | 362 | final String Function(String tex)? latexWorkaround, |
| 363 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 363 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 364 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 364 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 365 | ) { | 365 | ) { |
| 366 | var match = exp.firstMatch(text.trim()); | 366 | var match = exp.firstMatch(text.trim()); |
| 367 | return CustomRb( | 367 | return CustomRb( |
| @@ -395,7 +395,7 @@ class IndentMd extends BlockMd { | @@ -395,7 +395,7 @@ class IndentMd extends BlockMd { | ||
| 395 | final void Function(String url, String title)? onLinkTab, | 395 | final void Function(String url, String title)? onLinkTab, |
| 396 | final String Function(String tex)? latexWorkaround, | 396 | final String Function(String tex)? latexWorkaround, |
| 397 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 397 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 398 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 398 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 399 | ) { | 399 | ) { |
| 400 | [ | 400 | [ |
| 401 | r"\\\[(.*?)\\\]", | 401 | r"\\\[(.*?)\\\]", |
| @@ -440,7 +440,7 @@ class UnOrderedList extends BlockMd { | @@ -440,7 +440,7 @@ class UnOrderedList extends BlockMd { | ||
| 440 | final void Function(String url, String title)? onLinkTab, | 440 | final void Function(String url, String title)? onLinkTab, |
| 441 | final String Function(String tex)? latexWorkaround, | 441 | final String Function(String tex)? latexWorkaround, |
| 442 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 442 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 443 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 443 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 444 | ) { | 444 | ) { |
| 445 | var match = exp.firstMatch(text); | 445 | var match = exp.firstMatch(text); |
| 446 | return UnorderedListView( | 446 | return UnorderedListView( |
| @@ -477,7 +477,7 @@ class OrderedList extends BlockMd { | @@ -477,7 +477,7 @@ class OrderedList extends BlockMd { | ||
| 477 | final void Function(String url, String title)? onLinkTab, | 477 | final void Function(String url, String title)? onLinkTab, |
| 478 | final String Function(String tex)? latexWorkaround, | 478 | final String Function(String tex)? latexWorkaround, |
| 479 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 479 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 480 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 480 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 481 | ) { | 481 | ) { |
| 482 | var match = exp.firstMatch(text.trim()); | 482 | var match = exp.firstMatch(text.trim()); |
| 483 | return OrderedListView( | 483 | return OrderedListView( |
| @@ -510,7 +510,7 @@ class HighlightedText extends InlineMd { | @@ -510,7 +510,7 @@ class HighlightedText extends InlineMd { | ||
| 510 | final void Function(String url, String title)? onLinkTab, | 510 | final void Function(String url, String title)? onLinkTab, |
| 511 | final String Function(String tex)? latexWorkaround, | 511 | final String Function(String tex)? latexWorkaround, |
| 512 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 512 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 513 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 513 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 514 | ) { | 514 | ) { |
| 515 | return TextSpan( | 515 | return TextSpan( |
| 516 | text: text, | 516 | text: text, |
| @@ -546,7 +546,7 @@ class BoldMd extends InlineMd { | @@ -546,7 +546,7 @@ class BoldMd extends InlineMd { | ||
| 546 | final void Function(String url, String title)? onLinkTab, | 546 | final void Function(String url, String title)? onLinkTab, |
| 547 | final String Function(String tex)? latexWorkaround, | 547 | final String Function(String tex)? latexWorkaround, |
| 548 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 548 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 549 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 549 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 550 | ) { | 550 | ) { |
| 551 | var match = exp.firstMatch(text.trim()); | 551 | var match = exp.firstMatch(text.trim()); |
| 552 | return TextSpan( | 552 | return TextSpan( |
| @@ -583,7 +583,7 @@ class LatexMathMultyLine extends BlockMd { | @@ -583,7 +583,7 @@ class LatexMathMultyLine extends BlockMd { | ||
| 583 | void Function(String url, String title)? onLinkTab, | 583 | void Function(String url, String title)? onLinkTab, |
| 584 | String Function(String tex)? latexWorkaround, | 584 | String Function(String tex)? latexWorkaround, |
| 585 | Widget Function(BuildContext context, String tex)? latexBuilder, | 585 | Widget Function(BuildContext context, String tex)? latexBuilder, |
| 586 | - Widget Function(BuildContext context, String tex)? codeBuilder, | 586 | + Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 587 | ) { | 587 | ) { |
| 588 | var p0 = exp.firstMatch(text.trim()); | 588 | var p0 = exp.firstMatch(text.trim()); |
| 589 | p0?.group(0); | 589 | p0?.group(0); |
| @@ -652,7 +652,7 @@ class LatexMath extends InlineMd { | @@ -652,7 +652,7 @@ class LatexMath extends InlineMd { | ||
| 652 | final void Function(String url, String title)? onLinkTab, | 652 | final void Function(String url, String title)? onLinkTab, |
| 653 | final String Function(String tex)? latexWorkaround, | 653 | final String Function(String tex)? latexWorkaround, |
| 654 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 654 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 655 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 655 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 656 | ) { | 656 | ) { |
| 657 | var p0 = exp.firstMatch(text.trim()); | 657 | var p0 = exp.firstMatch(text.trim()); |
| 658 | p0?.group(0); | 658 | p0?.group(0); |
| @@ -716,7 +716,7 @@ class ItalicMd extends InlineMd { | @@ -716,7 +716,7 @@ class ItalicMd extends InlineMd { | ||
| 716 | final void Function(String url, String title)? onLinkTab, | 716 | final void Function(String url, String title)? onLinkTab, |
| 717 | final String Function(String tex)? latexWorkaround, | 717 | final String Function(String tex)? latexWorkaround, |
| 718 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 718 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 719 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 719 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 720 | ) { | 720 | ) { |
| 721 | var match = exp.firstMatch(text.trim()); | 721 | var match = exp.firstMatch(text.trim()); |
| 722 | return TextSpan( | 722 | return TextSpan( |
| @@ -749,7 +749,7 @@ class ATagMd extends InlineMd { | @@ -749,7 +749,7 @@ class ATagMd extends InlineMd { | ||
| 749 | final void Function(String url, String title)? onLinkTab, | 749 | final void Function(String url, String title)? onLinkTab, |
| 750 | final String Function(String tex)? latexWorkaround, | 750 | final String Function(String tex)? latexWorkaround, |
| 751 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 751 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 752 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 752 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 753 | ) { | 753 | ) { |
| 754 | var match = exp.firstMatch(text.trim()); | 754 | var match = exp.firstMatch(text.trim()); |
| 755 | if (match?[1] == null && match?[2] == null) { | 755 | if (match?[1] == null && match?[2] == null) { |
| @@ -795,7 +795,7 @@ class ImageMd extends InlineMd { | @@ -795,7 +795,7 @@ class ImageMd extends InlineMd { | ||
| 795 | final void Function(String url, String title)? onLinkTab, | 795 | final void Function(String url, String title)? onLinkTab, |
| 796 | final String Function(String tex)? latexWorkaround, | 796 | final String Function(String tex)? latexWorkaround, |
| 797 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 797 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 798 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 798 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 799 | ) { | 799 | ) { |
| 800 | var match = exp.firstMatch(text.trim()); | 800 | var match = exp.firstMatch(text.trim()); |
| 801 | double? height; | 801 | double? height; |
| @@ -848,7 +848,7 @@ class TableMd extends BlockMd { | @@ -848,7 +848,7 @@ class TableMd extends BlockMd { | ||
| 848 | void Function(String url, String title)? onLinkTab, | 848 | void Function(String url, String title)? onLinkTab, |
| 849 | final String Function(String tex)? latexWorkaround, | 849 | final String Function(String tex)? latexWorkaround, |
| 850 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 850 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 851 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 851 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 852 | ) { | 852 | ) { |
| 853 | final List<Map<int, String>> value = text | 853 | final List<Map<int, String>> value = text |
| 854 | .split('\n') | 854 | .split('\n') |
| @@ -873,56 +873,64 @@ class TableMd extends BlockMd { | @@ -873,56 +873,64 @@ class TableMd extends BlockMd { | ||
| 873 | if (maxCol == 0) { | 873 | if (maxCol == 0) { |
| 874 | return Text("", style: style); | 874 | return Text("", style: style); |
| 875 | } | 875 | } |
| 876 | - return Table( | ||
| 877 | - textDirection: textDirection, | ||
| 878 | - defaultColumnWidth: CustomTableColumnWidth(), | ||
| 879 | - defaultVerticalAlignment: TableCellVerticalAlignment.middle, | ||
| 880 | - border: TableBorder.all( | ||
| 881 | - width: 1, | ||
| 882 | - color: Theme.of(context).colorScheme.onSurface, | 876 | + final controller = ScrollController(); |
| 877 | + return Scrollbar( | ||
| 878 | + controller: controller, | ||
| 879 | + child: SingleChildScrollView( | ||
| 880 | + controller: controller, | ||
| 881 | + scrollDirection: Axis.horizontal, | ||
| 882 | + child: Table( | ||
| 883 | + textDirection: textDirection, | ||
| 884 | + defaultColumnWidth: CustomTableColumnWidth(), | ||
| 885 | + defaultVerticalAlignment: TableCellVerticalAlignment.middle, | ||
| 886 | + border: TableBorder.all( | ||
| 887 | + width: 1, | ||
| 888 | + color: Theme.of(context).colorScheme.onSurface, | ||
| 889 | + ), | ||
| 890 | + children: value | ||
| 891 | + .asMap() | ||
| 892 | + .entries | ||
| 893 | + .map<TableRow>( | ||
| 894 | + (entry) => TableRow( | ||
| 895 | + decoration: (heading) | ||
| 896 | + ? BoxDecoration( | ||
| 897 | + color: (entry.key == 0) | ||
| 898 | + ? Theme.of(context).colorScheme.surfaceVariant | ||
| 899 | + : null, | ||
| 900 | + ) | ||
| 901 | + : null, | ||
| 902 | + children: List.generate( | ||
| 903 | + maxCol, | ||
| 904 | + (index) { | ||
| 905 | + var e = entry.value; | ||
| 906 | + String data = e[index] ?? ""; | ||
| 907 | + if (RegExp(r"^--+$").hasMatch(data.trim()) || | ||
| 908 | + data.trim().isEmpty) { | ||
| 909 | + return const SizedBox(); | ||
| 910 | + } | ||
| 911 | + | ||
| 912 | + return Center( | ||
| 913 | + child: Padding( | ||
| 914 | + padding: const EdgeInsets.symmetric( | ||
| 915 | + horizontal: 8, vertical: 4), | ||
| 916 | + child: MdWidget( | ||
| 917 | + (e[index] ?? "").trim(), | ||
| 918 | + textDirection: textDirection, | ||
| 919 | + onLinkTab: onLinkTab, | ||
| 920 | + style: style, | ||
| 921 | + latexWorkaround: latexWorkaround, | ||
| 922 | + latexBuilder: latexBuilder, | ||
| 923 | + codeBuilder: codeBuilder, | ||
| 924 | + ), | ||
| 925 | + ), | ||
| 926 | + ); | ||
| 927 | + }, | ||
| 928 | + ), | ||
| 929 | + ), | ||
| 930 | + ) | ||
| 931 | + .toList(), | ||
| 932 | + ), | ||
| 883 | ), | 933 | ), |
| 884 | - children: value | ||
| 885 | - .asMap() | ||
| 886 | - .entries | ||
| 887 | - .map<TableRow>( | ||
| 888 | - (entry) => TableRow( | ||
| 889 | - decoration: (heading) | ||
| 890 | - ? BoxDecoration( | ||
| 891 | - color: (entry.key == 0) | ||
| 892 | - ? Theme.of(context).colorScheme.surfaceVariant | ||
| 893 | - : null, | ||
| 894 | - ) | ||
| 895 | - : null, | ||
| 896 | - children: List.generate( | ||
| 897 | - maxCol, | ||
| 898 | - (index) { | ||
| 899 | - var e = entry.value; | ||
| 900 | - String data = e[index] ?? ""; | ||
| 901 | - if (RegExp(r"^--+$").hasMatch(data.trim()) || | ||
| 902 | - data.trim().isEmpty) { | ||
| 903 | - return const SizedBox(); | ||
| 904 | - } | ||
| 905 | - | ||
| 906 | - return Center( | ||
| 907 | - child: Padding( | ||
| 908 | - padding: const EdgeInsets.symmetric( | ||
| 909 | - horizontal: 8, vertical: 4), | ||
| 910 | - child: MdWidget( | ||
| 911 | - (e[index] ?? "").trim(), | ||
| 912 | - textDirection: textDirection, | ||
| 913 | - onLinkTab: onLinkTab, | ||
| 914 | - style: style, | ||
| 915 | - latexWorkaround: latexWorkaround, | ||
| 916 | - latexBuilder: latexBuilder, | ||
| 917 | - codeBuilder: codeBuilder, | ||
| 918 | - ), | ||
| 919 | - ), | ||
| 920 | - ); | ||
| 921 | - }, | ||
| 922 | - ), | ||
| 923 | - ), | ||
| 924 | - ) | ||
| 925 | - .toList(), | ||
| 926 | ); | 934 | ); |
| 927 | } | 935 | } |
| 928 | 936 | ||
| @@ -948,7 +956,7 @@ class CodeBlockMd extends BlockMd { | @@ -948,7 +956,7 @@ class CodeBlockMd extends BlockMd { | ||
| 948 | final void Function(String url, String title)? onLinkTab, | 956 | final void Function(String url, String title)? onLinkTab, |
| 949 | final String Function(String tex)? latexWorkaround, | 957 | final String Function(String tex)? latexWorkaround, |
| 950 | final Widget Function(BuildContext context, String tex)? latexBuilder, | 958 | final Widget Function(BuildContext context, String tex)? latexBuilder, |
| 951 | - final Widget Function(BuildContext context, String tex)? codeBuilder, | 959 | + final Widget Function(BuildContext context,String name,String code)? codeBuilder, |
| 952 | ) { | 960 | ) { |
| 953 | String codes = exp.firstMatch(text)?[2] ?? ""; | 961 | String codes = exp.firstMatch(text)?[2] ?? ""; |
| 954 | String name = exp.firstMatch(text)?[1] ?? ""; | 962 | String name = exp.firstMatch(text)?[1] ?? ""; |
| @@ -956,7 +964,7 @@ class CodeBlockMd extends BlockMd { | @@ -956,7 +964,7 @@ class CodeBlockMd extends BlockMd { | ||
| 956 | return Padding( | 964 | return Padding( |
| 957 | padding: const EdgeInsets.all(16.0), | 965 | padding: const EdgeInsets.all(16.0), |
| 958 | child: codeBuilder != null | 966 | child: codeBuilder != null |
| 959 | - ? codeBuilder(context, codes) | 967 | + ? codeBuilder(context,name, codes) |
| 960 | : CodeField(name: name, codes: codes), | 968 | : CodeField(name: name, codes: codes), |
| 961 | ); | 969 | ); |
| 962 | } | 970 | } |
| @@ -27,7 +27,8 @@ class MdWidget extends StatelessWidget { | @@ -27,7 +27,8 @@ class MdWidget extends StatelessWidget { | ||
| 27 | final String Function(String tex)? latexWorkaround; | 27 | final String Function(String tex)? latexWorkaround; |
| 28 | final Widget Function(BuildContext context, String tex)? latexBuilder; | 28 | final Widget Function(BuildContext context, String tex)? latexBuilder; |
| 29 | final bool followLinkColor; | 29 | final bool followLinkColor; |
| 30 | - final Widget Function(BuildContext context, String tex)? codeBuilder; | 30 | + final Widget Function(BuildContext context, String name, String code)? |
| 31 | + codeBuilder; | ||
| 31 | 32 | ||
| 32 | @override | 33 | @override |
| 33 | Widget build(BuildContext context) { | 34 | Widget build(BuildContext context) { |
-
Please register or login to post a comment