2 hours ago
26.4.25
Updated Toggle checkbox(es) in the note text edit context menu so it now only toggles existing checkbox list items and no longer turns plain selected lines or regular list items into checkbox list items (for #3524)
Major performance improvement for the Markdown LSP integration on large notes (for #3467)
Added a new MarkdownLspDocumentTracker class that uses Qt's QTextDocument::contentsChange signal to track edits incrementally instead of calling toPlainText() on every keystroke; the per-keystroke cost drops from O(n) (full-document copy) to O(log n + delta)
The client now reads the server's textDocumentSync capability from the initialize response and sends incremental didChange payloads (TextDocumentSyncKind=2) when the server supports it (e.g. marksman), falling back to full-text sync for servers like rumdl
Optimized the LSP diagnostic wave-underline painter in the highlighter to batch contiguous characters with the same base format into single setFormat() calls, reducing format-range fragmentation from O(characters) to O(format-runs)
When the Markdown LSP feature is disabled, zero additional work is performed on the text-change hot path — no toPlainText(), no timer restarts, no signal connections fire
Added a global Ignore rule action to the inline Markdown LSP diagnostic context menu and a Reset ignored rules button on the Markdown LSP settings page, so Markdown LSP rules can be suppressed across all notes and later restored from one place (for #3467)
Source
More at Home Site
Updated Toggle checkbox(es) in the note text edit context menu so it now only toggles existing checkbox list items and no longer turns plain selected lines or regular list items into checkbox list items (for #3524)
Major performance improvement for the Markdown LSP integration on large notes (for #3467)
Added a new MarkdownLspDocumentTracker class that uses Qt's QTextDocument::contentsChange signal to track edits incrementally instead of calling toPlainText() on every keystroke; the per-keystroke cost drops from O(n) (full-document copy) to O(log n + delta)
The client now reads the server's textDocumentSync capability from the initialize response and sends incremental didChange payloads (TextDocumentSyncKind=2) when the server supports it (e.g. marksman), falling back to full-text sync for servers like rumdl
Optimized the LSP diagnostic wave-underline painter in the highlighter to batch contiguous characters with the same base format into single setFormat() calls, reducing format-range fragmentation from O(characters) to O(format-runs)
When the Markdown LSP feature is disabled, zero additional work is performed on the text-change hot path — no toPlainText(), no timer restarts, no signal connections fire
Added a global Ignore rule action to the inline Markdown LSP diagnostic context menu and a Reset ignored rules button on the Markdown LSP settings page, so Markdown LSP rules can be suppressed across all notes and later restored from one place (for #3467)
Source
More at Home Site


![[-]](https://www.geeks.fyi/images/collapse.png)

