Упрощение git/превью: copyCodeBlock, parseBlocks на splitMdBlocks, кэш diff, пагинация
- MdParser.copyCodeBlock(id): один вызов вместо get+copy в 3 QML-местах - parseBlocks переписан на splitMdBlocks (убит regex только для ```, заодно чинит ~~~); renderInner без побочек, save/restore удалены - Кэш diff-блоков (хеши+пути, 8 шт, >1МБ не кэшируем); регистрация кодов всегда в главном потоке - История: пагинация limit+Показать ещё с сохранением выбора; willDelete; busy только на время async - GitManager: commitFile точечно (общий commitFromIndex), fileExistedAt, workdirContent через DocumentManager.readTextFile, fileGitStatus через relativePath; удалены fileDiffText/Html и 2-arg fileHistory - MarkdownView: дебаунс async-ветки 80мс + гашение протухших ответов
This commit is contained in:
@@ -186,6 +186,15 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
// ~~~-заборы тоже разбираются на code-блоки (единая разбивка splitMdBlocks)
|
||||
{
|
||||
auto b = p.parseBlocks("~~~\ncode\n~~~\n", vault, fileDir);
|
||||
if (b.size() != 1 || b[0].toMap().value("type").toString() != "code")
|
||||
return fail("tilde fence");
|
||||
if (!b[0].toMap().value("codeText").toString().contains("code"))
|
||||
return fail("tilde code");
|
||||
}
|
||||
|
||||
// parseBlocksWithDiff: правка в обычном тексте — два отдельных tinted-блока
|
||||
// (del, затем add), как стандартный diff; словного уровня нет
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user