feat: add built-in markdown editor with search jump and typing helpers

This commit is contained in:
randogoth 2026-10-13 10:47:34 +03:00
parent db27f64e42
commit ed2de5e67f
16 changed files with 1146 additions and 561 deletions

View file

@ -19,37 +19,64 @@ const TextTheme dayText = TextTheme(
);
const dayTheme = {
'root':
TextStyle(backgroundColor: Color(0xffF6F4F1), color: Color(0xff333333)),
'comment': TextStyle(color: Color(0xff969896)),
'meta': TextStyle(color: Color(0xff969896)),
'variable': TextStyle(color: Color(0xffdf5000)),
'template-variable': TextStyle(color: Color(0xffdf5000)),
'strong': TextStyle(color: Color(0xffdf5000)),
'emphasis': TextStyle(color: Color(0xffdf5000)),
'quote': TextStyle(color: Color(0xffdf5000)),
'keyword': TextStyle(color: Color(0xffd73a49)),
'selector-tag': TextStyle(color: Color(0xffd73a49)),
'type': TextStyle(color: Color(0xffd73a49)),
'literal': TextStyle(color: Color(0xff0086b3)),
'symbol': TextStyle(color: Color(0xff0086b3)),
'bullet': TextStyle(color: Color(0xff0086b3)),
'attribute': TextStyle(color: Color(0xff0086b3)),
'section': TextStyle(color: Color(0xff63a35c)),
'name': TextStyle(color: Color(0xff63a35c)),
'tag': TextStyle(color: Color(0xff333333)),
'title': TextStyle(color: Color(0xff6f42c1)),
'attr': TextStyle(color: Color(0xff6f42c1)),
'selector-id': TextStyle(color: Color(0xff6f42c1)),
'selector-class': TextStyle(color: Color(0xff6f42c1)),
'selector-attr': TextStyle(color: Color(0xff6f42c1)),
'selector-pseudo': TextStyle(color: Color(0xff6f42c1)),
'addition':
TextStyle(color: Color(0xff55a532), backgroundColor: Color(0xffeaffea)),
'deletion':
TextStyle(color: Color(0xffbd2c00), backgroundColor: Color(0xffffecec)),
'number': TextStyle(color: Color(0xff005cc5)),
'string': TextStyle(color: Color(0xff032f62)),
// General text
'root': TextStyle(backgroundColor: Color(0xffF6F4F1), color: Color(0xff333333)),
// Headers
'header-h1': TextStyle(color: Color(0xff63a35c)), // Green for H1
'header-h2': TextStyle(color: Color(0xff63a35c), fontWeight: FontWeight.w600, fontSize: 22), // Green for H2
'header-h3': TextStyle(color: Color(0xff63a35c), fontWeight: FontWeight.w600, fontSize: 20), // Green for H3
'header-h4': TextStyle(color: Color(0xff63a35c), fontWeight: FontWeight.w600, fontSize: 18), // Green for H4
'header-h5': TextStyle(color: Color(0xff63a35c), fontWeight: FontWeight.w600, fontSize: 16), // Green for H5
'header-h6': TextStyle(color: Color(0xff63a35c), fontWeight: FontWeight.w600, fontSize: 14), // Green for H6
'header-underline': TextStyle(color: Color(0xff63a35c)), // Green for underlined headers
// Lists
'list': TextStyle(color: Color(0xff0086b3)), // Blue for lists
// Bold text
'bold': TextStyle(fontWeight: FontWeight.bold, color: Color(0xffdf5000)), // Orange for bold text
// Italic text
'italic': TextStyle(fontStyle: FontStyle.italic, color: Color(0xffdf5000)), // Orange for italic text
// Blockquotes
'blockquote': TextStyle(color: Color(0xffdf5000)), // Orange for blockquotes
// Code blocks and inline code
'code': TextStyle(color: Color(0xff005cc5), backgroundColor: Color(0xffeaffea)), // Blue for code
// Horizontal rules
'horizontal-rule': TextStyle(color: Color(0xffbd2c00)), // Red for horizontal rules
// Horizontal rules
'command': TextStyle(fontStyle: FontStyle.italic, color: Color(0xffbd2c00)), // Red for horizontal rules
// Links and images
'link-text': TextStyle(color: Color(0xff0086b3)), // Blue for link text
'link-url': TextStyle(color: Color(0xffd73a49)), // Red for link URLs
'link-reference': TextStyle(color: Color(0xff0086b3)), // Blue for link references
// Strikethrough text
'strikethrough': TextStyle(color: Color(0xffbd2c00), decoration: TextDecoration.lineThrough), // Red for strikethrough
// Tables
'table': TextStyle(color: Color(0xff333333)), // Black for tables
'table-header': TextStyle(color: Color(0xff6f42c1), fontWeight: FontWeight.w600), // Purple for table headers
'table-row': TextStyle(color: Color(0xff333333)), // Black for table rows
'table-cell': TextStyle(color: Color(0xff333333)), // Black for table cells
// Task lists
'task-list': TextStyle(color: Color(0xff0086b3)), // Blue for task lists
// Emphasis and strong
'emphasis': TextStyle(fontStyle: FontStyle.italic, color: Color(0xffdf5000)), // Orange for emphasis
'strong': TextStyle(fontWeight: FontWeight.bold, color: Color(0xffdf5000)), // Orange for strong
// Comments and quotes
'comment': TextStyle(color: Color(0xff969896)), // Gray for comments
'quote': TextStyle(color: Color(0xffdf5000)), // Orange for quotes
'tag-hash': TextStyle(
color: Colors.pinkAccent,
fontStyle: FontStyle.italic,