Release v0.6.47: allow multi-word auto-correction replacements
This commit is contained in:
1 parent
5de5b791bf
commit
e33387c2d5
13 files changed
+48
-29
No files matched your search
+14
-2
@@ -590,6 +590,12 @@ int main(int argc, char **argv)
|
||||
options.autoNever = {L"hlelo"};
|
||||
require(!edited.suggest(L"hlelo ", 0, layouts, options), "never-correct overrides explicit pairs");
|
||||
options.autoNever.clear();
|
||||
options.autoReplacements[L"мамамила"] = L"мама мила";
|
||||
correction = edited.suggest(L"(Мамамила)! ", 2, layouts, options);
|
||||
require(correction && correction->text == L"(Мама мила)! " && correction->target == 2,
|
||||
"joined words split while preserving capitalization, punctuation and layout");
|
||||
edited.reject(L"мамамила ", options);
|
||||
require(!edited.suggest(L"мамамила ", 2, layouts, options), "undo suppresses phrase replacements");
|
||||
edited.reject(L"(Hlelo)! ", options);
|
||||
require(!edited.suggest(L"hlelo ", 0, layouts, options), "undo rejection suppresses custom replacements");
|
||||
options.autoReplace = false;
|
||||
@@ -711,7 +717,7 @@ int main(int argc, char **argv)
|
||||
settings.elevatedAutostart = true;
|
||||
settings.autoCorrect = true;
|
||||
settings.autoReplace = settings.autoTypos = true;
|
||||
settings.autoReplacements = {{L"првиіт", L"привіт"}, {L"helo", L"hello"}};
|
||||
settings.autoReplacements = {{L"првиіт", L"привіт"}, {L"helo", L"hello"}, {L"мамамила", L"мама мила"}};
|
||||
settings.autoMaxRank = 10000;
|
||||
settings.autoMinLength = 5;
|
||||
settings.autoPrefixChars = L"(#";
|
||||
@@ -726,7 +732,13 @@ int main(int argc, char **argv)
|
||||
require(restored.autoWords == settings.autoWords, "personal dictionaries survive settings roundtrip");
|
||||
require(restored.autoReplace && restored.autoTypos && restored.autoReplacements == settings.autoReplacements,
|
||||
"typo options and Unicode pairs survive settings roundtrip");
|
||||
for (const auto &pair : {std::pair{L"hello", L"привіт"}, {L"hello", L"hello"}, {L"hi!", L"hello"}})
|
||||
for (const auto &pair : {std::pair{L"hello", L"привіт"}, {L"hello", L"hello"}, {L"hi!", L"hello"},
|
||||
{L"helloworld", L" hello world"}, {L"helloworld", L"hello world "},
|
||||
{L"helloworld", L"hello world"}, {L"helloworld", L"hello\tworld"},
|
||||
{L"helloworld", L"hello\nworld"}, {L"hello world", L"helloworld"},
|
||||
{L"helloworld", L"hello світ"}, {L"helloworld", L"hello world!"},
|
||||
{L"helloworld", L"hello Hello"}, {L"helloworld", L""},
|
||||
{L"helloworld", L"abcdefghijklmnopqrstuvwxyz abcdef"}})
|
||||
{
|
||||
auto invalid = settings;
|
||||
invalid.autoReplacements = {{pair.first, pair.second}};
|
||||
|
||||
Reference in new issue
Block a user