Provides ui markdown facilities for this project.
Package: ui.markdown
Reachable from entry: yes
lang/syntax.mlassyntax→ src/lang/syntax.mlplatform/win32.mlaswin→ src/platform/win32.mlstd/string.mlass→../MiniLangCompilerML/std/string.ml— external dependencyui/theme.mlastheme→ src/ui/theme.ml
function _active_cached_markdown_doc(st)Return the cached Markdown document for the active tab when valid.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
function _active_is_markdown(st)Return true when the active tab displays Markdown content.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
function _apply_rendered_markdown_line_styles(st, doc)Apply paragraph-level styles to rendered Markdown lines.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
doc |
dynamic |
— | doc value consumed by this operation. |
function _apply_rendered_markdown_styles(st, doc)Apply all rendered Markdown styles to the RichEdit control.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
doc |
dynamic |
— | doc value consumed by this operation. |
function _clear_markdown_cache(st, idx)Clear the cached Markdown render for a tab.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
idx |
dynamic |
— | idx value consumed by this operation. |
function _editor_display_text(text)Convert internal editor text to the display form expected by RichEdit.
| Parameter | Type | Default | Description |
|---|---|---|---|
text |
dynamic |
— | Text consumed by the operation. |
function _empty_markdown_doc()Return an empty Markdown document used as a non-void cache sentinel.
function _ensure_markdown_cache_slots(st)Ensure the Markdown render cache matches the open tab list.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
function _is_markdown_path(path)Return true when a path names a Markdown document.
| Parameter | Type | Default | Description |
|---|---|---|---|
path |
dynamic |
— | Path of the file or directory used by the operation. |
function _jump_to_markdown_anchor(st, link_target)Scroll the editor so a Markdown anchor is aligned near the top.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
link_target |
dynamic |
— | link_target value consumed by this operation. |
function _markdown_anchor_from_target(link_target)Extract an anchor name from a Markdown link target.
| Parameter | Type | Default | Description |
|---|---|---|---|
link_target |
dynamic |
— | link_target value consumed by this operation. |
function _markdown_doc_for_active_tab(st, markdown)Return the rendered Markdown document for the active tab.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
markdown |
dynamic |
— | markdown value consumed by this operation. |
function _markdown_fence_language(line)Extract the language name from a Markdown fenced code block.
| Parameter | Type | Default | Description |
|---|---|---|---|
line |
dynamic |
— | line value consumed by this operation. |
function _markdown_fence_line(line)Return true when a Markdown line starts or ends a fenced code block.
| Parameter | Type | Default | Description |
|---|---|---|---|
line |
dynamic |
— | line value consumed by this operation. |
function _markdown_link_at_doc(doc, char_pos)Return the Markdown link covering a document offset.
| Parameter | Type | Default | Description |
|---|---|---|---|
doc |
dynamic |
— | doc value consumed by this operation. |
char_pos |
dynamic |
— | char_pos value consumed by this operation. |
function _markdown_link_at_editor(st, x, y)Return the Markdown link under an editor mouse position.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
x |
dynamic |
— | Horizontal coordinate used by the operation. |
y |
dynamic |
— | Vertical coordinate used by the operation. |
function _markdown_span_color(st, kind)Return the RichEdit color for a rendered Markdown span kind.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
kind |
dynamic |
— | kind value consumed by this operation. |
function _markdown_span_size(kind)Return the font size for a rendered Markdown span kind.
| Parameter | Type | Default | Description |
|---|---|---|---|
kind |
dynamic |
— | kind value consumed by this operation. |
function _md_add_anchor(anchors, name, start_pos)Record a heading anchor and its rendered line location.
| Parameter | Type | Default | Description |
|---|---|---|---|
anchors |
dynamic |
— | anchors value consumed by this operation. |
name |
dynamic |
— | Name of the affected item. |
start_pos |
dynamic |
— | start_pos value consumed by this operation. |
function _md_add_code_spans(spans, base_pos, raw, lang)Style code block lines in rendered Markdown output.
| Parameter | Type | Default | Description |
|---|---|---|---|
spans |
dynamic |
— | spans value consumed by this operation. |
base_pos |
dynamic |
— | base_pos value consumed by this operation. |
raw |
dynamic |
— | raw value consumed by this operation. |
lang |
dynamic |
— | lang value consumed by this operation. |
function _md_add_line_style(styles, start_pos, end_pos, kind)Add a style override for a rendered Markdown line.
| Parameter | Type | Default | Description |
|---|---|---|---|
styles |
dynamic |
— | styles value consumed by this operation. |
start_pos |
dynamic |
— | start_pos value consumed by this operation. |
end_pos |
dynamic |
— | end_pos value consumed by this operation. |
kind |
dynamic |
— | kind value consumed by this operation. |
function _md_add_link(links, start_pos, end_pos, link_target)Record a clickable link range in rendered Markdown output.
| Parameter | Type | Default | Description |
|---|---|---|---|
links |
dynamic |
— | links value consumed by this operation. |
start_pos |
dynamic |
— | start_pos value consumed by this operation. |
end_pos |
dynamic |
— | end_pos value consumed by this operation. |
link_target |
dynamic |
— | link_target value consumed by this operation. |
function _md_add_span(spans, start_pos, end_pos, kind)Add a styled character span to a rendered Markdown document.
| Parameter | Type | Default | Description |
|---|---|---|---|
spans |
dynamic |
— | spans value consumed by this operation. |
start_pos |
dynamic |
— | start_pos value consumed by this operation. |
end_pos |
dynamic |
— | end_pos value consumed by this operation. |
kind |
dynamic |
— | kind value consumed by this operation. |
function _md_anchor_slug(text)Convert heading text into a GitHub-style Markdown anchor slug.
| Parameter | Type | Default | Description |
|---|---|---|---|
text |
dynamic |
— | Text consumed by the operation. |
function _md_append_block_inline(text, spans, links, prefix, src, kind)Append a full logical Markdown line after parsing all inline markup.
| Parameter | Type | Default | Description |
|---|---|---|---|
text |
dynamic |
— | Text consumed by the operation. |
spans |
dynamic |
— | spans value consumed by this operation. |
links |
dynamic |
— | links value consumed by this operation. |
prefix |
dynamic |
— | prefix value consumed by this operation. |
src |
dynamic |
— | src value consumed by this operation. |
kind |
dynamic |
— | kind value consumed by this operation. |
function _md_append_inline(text, spans, links, prefix, src, kind)Append text after applying inline Markdown formatting.
| Parameter | Type | Default | Description |
|---|---|---|---|
text |
dynamic |
— | Text consumed by the operation. |
spans |
dynamic |
— | spans value consumed by this operation. |
links |
dynamic |
— | links value consumed by this operation. |
prefix |
dynamic |
— | prefix value consumed by this operation. |
src |
dynamic |
— | src value consumed by this operation. |
kind |
dynamic |
— | kind value consumed by this operation. |
function _md_append_plain(text, line)Append plain text to the rendered Markdown output.
| Parameter | Type | Default | Description |
|---|---|---|---|
text |
dynamic |
— | Text consumed by the operation. |
line |
dynamic |
— | line value consumed by this operation. |
function _md_blank(text)Append a blank rendered line to a Markdown document.
| Parameter | Type | Default | Description |
|---|---|---|---|
text |
dynamic |
— | Text consumed by the operation. |
function _md_display_pos(doc_text, doc_pos)Convert a document offset to a RichEdit display offset.
| Parameter | Type | Default | Description |
|---|---|---|---|
doc_text |
dynamic |
— | doc_text value consumed by this operation. |
doc_pos |
dynamic |
— | doc_pos value consumed by this operation. |
function _md_doc_pos_from_display(doc_text, display_pos)Convert a RichEdit display offset back to a document offset.
| Parameter | Type | Default | Description |
|---|---|---|---|
doc_text |
dynamic |
— | doc_text value consumed by this operation. |
display_pos |
dynamic |
— | display_pos value consumed by this operation. |
function _md_find_strong_close(src, open_pos)Find the closing delimiter for a strong emphasis span.
| Parameter | Type | Default | Description |
|---|---|---|---|
src |
dynamic |
— | src value consumed by this operation. |
open_pos |
dynamic |
— | open_pos value consumed by this operation. |
function _md_heading_level(line)Return the ATX heading level for a Markdown line.
| Parameter | Type | Default | Description |
|---|---|---|---|
line |
dynamic |
— | line value consumed by this operation. |
function _md_heading_text(line)Extract the visible text from a Markdown heading line.
| Parameter | Type | Default | Description |
|---|---|---|---|
line |
dynamic |
— | line value consumed by this operation. |
function _md_hex_string(hex_text)Build a UTF-8 string from hex bytes while keeping this source file ASCII.
| Parameter | Type | Default | Description |
|---|---|---|---|
hex_text |
dynamic |
— | hex_text value consumed by this operation. |
function _md_inline(src, base_pos, spans, links)Parse inline Markdown formatting into styled output spans.
| Parameter | Type | Default | Description |
|---|---|---|---|
src |
dynamic |
— | src value consumed by this operation. |
base_pos |
dynamic |
— | base_pos value consumed by this operation. |
spans |
dynamic |
— | spans value consumed by this operation. |
links |
dynamic |
— | links value consumed by this operation. |
function _md_is_digit(ch)Return true when a Markdown parser character is an ASCII digit.
| Parameter | Type | Default | Description |
|---|---|---|---|
ch |
dynamic |
— | ch value consumed by this operation. |
function _md_line_start(text)Return the current output offset at the start of a rendered line.
| Parameter | Type | Default | Description |
|---|---|---|---|
text |
dynamic |
— | Text consumed by the operation. |
function _md_next_line_no(text)Return the next rendered line number for Markdown output.
| Parameter | Type | Default | Description |
|---|---|---|---|
text |
dynamic |
— | Text consumed by the operation. |
function _md_normalize_display_chars(text)Replace mojibake and typographic Unicode with ASCII-safe text.
| Parameter | Type | Default | Description |
|---|---|---|---|
text |
dynamic |
— | Text consumed by the operation. |
function _md_ordered_prefix(line)Return the length of a Markdown ordered-list prefix.
| Parameter | Type | Default | Description |
|---|---|---|---|
line |
dynamic |
— | line value consumed by this operation. |
function _md_table_row(line)Return true when a Markdown line looks like a table row.
| Parameter | Type | Default | Description |
|---|---|---|---|
line |
dynamic |
— | line value consumed by this operation. |
function _md_table_separator(line)Return true when a Markdown line is a table separator row.
| Parameter | Type | Default | Description |
|---|---|---|---|
line |
dynamic |
— | line value consumed by this operation. |
function _normalize_editor_text(text)Normalize editor text so RichEdit and MiniLang use the same line endings.
| Parameter | Type | Default | Description |
|---|---|---|---|
text |
dynamic |
— | Text consumed by the operation. |
function _open_markdown_link_at(st, x, y)Open an external Markdown link or jump to an in-document anchor.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
x |
dynamic |
— | Horizontal coordinate used by the operation. |
y |
dynamic |
— | Vertical coordinate used by the operation. |
function _render_markdown_document(markdown)Render a Markdown document into text, styles, links, and anchors.
| Parameter | Type | Default | Description |
|---|---|---|---|
markdown |
dynamic |
— | markdown value consumed by this operation. |
function _set_log(st, text)Replace the result log text and refresh the log control.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
text |
dynamic |
— | Text consumed by the operation. |
function _strip_cr(line)Remove carriage returns from editor or log text.
| Parameter | Type | Default | Description |
|---|---|---|---|
line |
dynamic |
— | line value consumed by this operation. |
function _strip_utf8_bom(text)Remove a UTF-8 byte order mark from the start of text.
| Parameter | Type | Default | Description |
|---|---|---|---|
text |
dynamic |
— | Text consumed by the operation. |
function _write_markdown_editor(st, markdown, preserve_view)Render and write Markdown content into the active editor control.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
markdown |
dynamic |
— | markdown value consumed by this operation. |
preserve_view |
dynamic |
— | preserve_view value consumed by this operation. |
function clear_cache(st, idx)Clear the cached rendered Markdown document for a tab.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
idx |
dynamic |
— | idx value consumed by this operation. |
function empty_doc()Return an empty rendered Markdown document for cache initialization.
function link_at_editor(st, x, y)Return the rendered Markdown link under an editor coordinate.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
x |
dynamic |
— | Horizontal coordinate used by the operation. |
y |
dynamic |
— | Vertical coordinate used by the operation. |
- ui.markdown.MarkdownAnchor — struct
- ui.markdown.MarkdownDocument — struct
- ui.markdown.MarkdownLineStyle — struct
- ui.markdown.MarkdownLink — struct
- ui.markdown.MarkdownSpan — struct
function open_link_at(st, x, y)Open or jump to the rendered Markdown link under an editor coordinate.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
x |
dynamic |
— | Horizontal coordinate used by the operation. |
y |
dynamic |
— | Vertical coordinate used by the operation. |
function render(markdown)Render Markdown source into a styled document model.
| Parameter | Type | Default | Description |
|---|---|---|---|
markdown |
dynamic |
— | markdown value consumed by this operation. |
function write_editor(st, markdown, preserve_view)Write rendered Markdown into the RichEdit control.
| Parameter | Type | Default | Description |
|---|---|---|---|
st |
dynamic |
— | st value consumed by this operation. |
markdown |
dynamic |
— | markdown value consumed by this operation. |
preserve_view |
dynamic |
— | preserve_view value consumed by this operation. |