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