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 nightText = TextTheme(
);
const nightTheme = {
'comment': TextStyle(color: Color(0xff969896)),
'quote': TextStyle(color: Color(0xff969896)),
'variable': TextStyle(color: Color(0xffcc6666)),
'template-variable': TextStyle(color: Color(0xffcc6666)),
'tag': TextStyle(color: Color(0xffcc6666)),
'name': TextStyle(color: Color(0xffcc6666)),
'selector-id': TextStyle(color: Color(0xffcc6666)),
'selector-class': TextStyle(color: Color(0xffcc6666)),
'regexp': TextStyle(color: Color(0xffcc6666)),
'deletion': TextStyle(color: Color(0xffcc6666)),
'number': TextStyle(color: Color(0xffde935f)),
'built_in': TextStyle(color: Color(0xffde935f)),
'builtin-name': TextStyle(color: Color(0xffde935f)),
'literal': TextStyle(color: Color(0xffde935f)),
'type': TextStyle(color: Color(0xffde935f)),
'params': TextStyle(color: Color(0xffde935f)),
'meta': TextStyle(color: Color(0xffde935f)),
'link': TextStyle(color: Color(0xffde935f)),
'attribute': TextStyle(color: Color(0xfff0c674)),
'string': TextStyle(color: Color(0xffb5bd68)),
'symbol': TextStyle(color: Color(0xffb5bd68)),
'bullet': TextStyle(color: Color(0xffb5bd68)),
'addition': TextStyle(color: Color(0xffb5bd68)),
'title': TextStyle(color: Color(0xff81a2be)),
'section': TextStyle(color: Color(0xff81a2be), fontWeight: FontWeight.w600, fontSize: 18),
'keyword': TextStyle(color: Color(0xffb294bb)),
'selector-tag': TextStyle(color: Color(0xffb294bb)),
'root':
TextStyle(backgroundColor: Color(0xFF121212), color: Color(0xffc5c8c6)),
'emphasis': TextStyle(fontStyle: FontStyle.italic),
'strong': TextStyle(fontWeight: FontWeight.bold),
// General text
'root': TextStyle(backgroundColor: Color(0xFF121212), color: Color(0xffc5c8c6)),
// Headers
'header-h1': TextStyle(color: Color(0xff81a2be)), // Blue for H1
'header-h2': TextStyle(color: Color(0xff81a2be), fontWeight: FontWeight.w600, fontSize: 22), // Blue for H2
'header-h3': TextStyle(color: Color(0xff81a2be), fontWeight: FontWeight.w600, fontSize: 20), // Blue for H3
'header-h4': TextStyle(color: Color(0xff81a2be), fontWeight: FontWeight.w600, fontSize: 18), // Blue for H4
'header-h5': TextStyle(color: Color(0xff81a2be), fontWeight: FontWeight.w600, fontSize: 16), // Blue for H5
'header-h6': TextStyle(color: Color(0xff81a2be), fontWeight: FontWeight.w600, fontSize: 14), // Blue for H6
'header-underline': TextStyle(color: Color(0xff81a2be)), // Blue for underlined headers
// Lists
'list': TextStyle(color: Color(0xffb5bd68)), // Green for lists
// Bold text
'bold': TextStyle(fontWeight: FontWeight.bold, color: Color(0xffb5bd68)), // White for bold text
// Italic text
'italic': TextStyle(fontStyle: FontStyle.italic, color: Color(0xffb5bd68)), // White for italic text
// Blockquotes
'blockquote': TextStyle(color: Color(0xff969896)), // Gray for blockquotes
// Code blocks and inline code
'code': TextStyle(color: Color(0xffde935f), backgroundColor: Color(0xff1d1f21)), // Orange for code
// Horizontal rules
'horizontal-rule': TextStyle(color: Color(0xffcc6666)), // Red for horizontal rules
// Horizontal rules
'command': TextStyle(fontStyle: FontStyle.italic, color: Color(0xffcc6666)), // Red for horizontal rules
// Links and images
'link-text': TextStyle(color: Color(0xff81a2be)), // Blue for link text
'link-url': TextStyle(color: Color(0xffde935f)), // Orange for link URLs
'link-reference': TextStyle(color: Color(0xffb5bd68)), // Green for link references
// Strikethrough text
'strikethrough': TextStyle(color: Color(0xffcc6666), decoration: TextDecoration.lineThrough), // Red for strikethrough
// Tables
'table': TextStyle(color: Color(0xffc5c8c6)), // White for tables
'table-header': TextStyle(color: Color(0xff81a2be), fontWeight: FontWeight.w600), // Blue for table headers
'table-row': TextStyle(color: Color(0xffc5c8c6)), // White for table rows
'table-cell': TextStyle(color: Color(0xffc5c8c6)), // White for table cells
// Task lists
'task-list': TextStyle(color: Color(0xffb5bd68)), // Green for task lists
// Emphasis and strong
'emphasis': TextStyle(fontStyle: FontStyle.italic, color: Color(0xffc5c8c6)), // White for emphasis
'strong': TextStyle(fontWeight: FontWeight.bold, color: Color(0xffc5c8c6)), // White for strong
// Comments and quotes
'comment': TextStyle(color: Color(0xff969896)), // Gray for comments
'quote': TextStyle(color: Color(0xff969896)), // Gray for quotes
'tag-hash': TextStyle(
color: Colors.pinkAccent,
fontStyle: FontStyle.italic,