From 817054787e1677b263b594d02ad9b315a8303207 Mon Sep 17 00:00:00 2001 From: BenTalagan Date: Mon, 24 Nov 2025 01:09:22 +0100 Subject: [PATCH] Update ReaImGui Markdown v0.1.10 > v0.1.11 --- Development/talagan_ReaImGui Markdown.lua | 4 ++-- .../reaimgui_markdown/markdown-ast.lua | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Development/talagan_ReaImGui Markdown.lua b/Development/talagan_ReaImGui Markdown.lua index 7bccf58b4..adbbcf185 100644 --- a/Development/talagan_ReaImGui Markdown.lua +++ b/Development/talagan_ReaImGui Markdown.lua @@ -1,13 +1,13 @@ --[[ @description ReaImGui Markdown : A Markdown rendering library for ReaImGui -@version 0.1.10 +@version 0.1.11 @author Ben 'Talagan' Babut @license MIT @donation https://www.paypal.com/donate/?business=3YEZMY9D6U8NC&no_recurring=1¤cy_code=EUR @links Forum Thread https://forum.cockos.com/showthread.php?t=301055 @changelog - - [Optimization] Reduce split function cost (thanks @Arkadata!) + - [Bug Fix] Correcting offsets for inline elements, could lead to UTF-8 corruption on checkbox click @metapackage @provides [nomain] talagan_ReaImGui Markdown/reaimgui_markdown/**/*.lua diff --git a/Development/talagan_ReaImGui Markdown/reaimgui_markdown/markdown-ast.lua b/Development/talagan_ReaImGui Markdown/reaimgui_markdown/markdown-ast.lua index b42ffd959..3e28321da 100644 --- a/Development/talagan_ReaImGui Markdown/reaimgui_markdown/markdown-ast.lua +++ b/Development/talagan_ReaImGui Markdown/reaimgui_markdown/markdown-ast.lua @@ -313,7 +313,7 @@ local function parse_inline(text, base_offset) if k <= len then local url = text:sub(j + 2, k - 1) table.insert(nodes, new_node("Link", nil, - parse_inline(link_text, base_offset + i), + parse_inline(link_text, base_offset + i - 1), { url = url, source_offset = { start = base_offset + i, end_pos = base_offset + k } @@ -326,7 +326,7 @@ local function parse_inline(text, base_offset) i = j + 1 end else - buffer = buffer .. text:sub(i, j) + buffer = buffer .. text:sub(i, j) buffer_start = base_offset + i i = j + 1 end @@ -354,7 +354,7 @@ local function parse_inline(text, base_offset) local color, clean_content = extract_color(content) -- Create Bold containing Italic table.insert(nodes, new_node("Bold", nil, { - new_node("Italic", nil, parse_inline(clean_content, base_offset + i + 3), { + new_node("Italic", nil, parse_inline(clean_content, base_offset + i + 3 - 1), { color = color, }) }, { @@ -398,7 +398,7 @@ local function parse_inline(text, base_offset) local color, clean_content = extract_color(content) table.insert(nodes, new_node("Bold", nil, - parse_inline(clean_content, base_offset + i + 2), + parse_inline(clean_content, base_offset + i + 2 - 1), { color = color, source_offset = { start = base_offset + i, end_pos = base_offset + j + 1 } @@ -434,7 +434,7 @@ local function parse_inline(text, base_offset) if text:sub(j, j) == marker and not is_escaped(text, j) then local color, clean_content = extract_color(content) table.insert(nodes, new_node("Italic", nil, - parse_inline(clean_content, base_offset + i + 1), + parse_inline(clean_content, base_offset + i + 1 - 1), { color = color, source_offset = { start = base_offset + i, end_pos = base_offset + j } @@ -467,7 +467,7 @@ local function parse_inline(text, base_offset) if text:sub(j, j) == "$" and not is_escaped(text, j) then local color, clean_content = extract_color(content) table.insert(nodes, new_node("Span", nil, - parse_inline(clean_content, base_offset + i + 1), + parse_inline(clean_content, base_offset + i + 1 - 1), { color = color, source_offset = { start = base_offset + i, end_pos = base_offset + j }