Release v0.6.47: allow multi-word auto-correction replacements

This commit is contained in:
agrynco committed 2026-11-05 22:51:57 +02:00
1 parent 5de5b791bf
commit e33387c2d5
13 files changed
+48 -29

No files matched your search

+4 -2
View File
@@ -118,9 +118,11 @@ void validateSettings(const Settings &s)
L"абвгдеёжзийклмнопрстуфхцчшщъыьэюя"})
valid |= !from.empty() && !to.empty() && from.size() <= 32 && to.size() <= 32 &&
from == lower(from) && to == lower(to) && from != to &&
from.find_first_not_of(alphabet) == from.npos && to.find_first_not_of(alphabet) == to.npos;
from.find_first_not_of(alphabet) == from.npos &&
to.find_first_not_of(std::wstring(alphabet) + L" ") == to.npos &&
to.front() != L' ' && to.back() != L' ' && to.find(L" ") == to.npos;
if (!valid)
throw std::runtime_error("Replacement pairs must be different lowercase words of 1-32 letters in the same language");
throw std::runtime_error("Use a lowercase typo of 1-32 letters and a different correction of 1-32 characters in the same language. Single spaces between correction words are allowed.");
}
for (const auto &[language, words] : s.autoWords)
{