From 8977d515c493538712a4971947fc22a6db35b1bb Mon Sep 17 00:00:00 2001 From: Blu3train Date: Wed, 18 May 2022 00:21:55 +0200 Subject: [PATCH 1/2] Extension: Remove Repeated Leading Sentence --- deploy.ps1 | 1 + extensions/CMakeLists.txt | 2 ++ extensions/removerepeatedleadingsentence.cpp | 28 ++++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 extensions/removerepeatedleadingsentence.cpp diff --git a/deploy.ps1 b/deploy.ps1 index ac13101..f354b7d 100644 --- a/deploy.ps1 +++ b/deploy.ps1 @@ -54,6 +54,7 @@ foreach ($language in @{ "Regex Filter", "Regex Replacer", "Remove Repeated Characters", + "Remove Repeated Leading Sentence", "Remove Repeated Phrases", "Remove Repeated Phrases 2", "Remove 30 Repeated Sentences", diff --git a/extensions/CMakeLists.txt b/extensions/CMakeLists.txt index 3e3d0a6..c96eca5 100644 --- a/extensions/CMakeLists.txt +++ b/extensions/CMakeLists.txt @@ -16,6 +16,7 @@ add_library(Lua MODULE lua.cpp extensionimpl.cpp) add_library(Regex\ Filter MODULE regexfilter.cpp extensionimpl.cpp) add_library(Regex\ Replacer MODULE regexreplacer.cpp extensionimpl.cpp) add_library(Remove\ Repeated\ Characters MODULE removerepeatchar.cpp extensionimpl.cpp) +add_library(Remove\ Repeated\ Leading\ Sentence MODULE removerepeatedleadingsentence.cpp extensionimpl.cpp) add_library(Remove\ Repeated\ Phrases MODULE removerepeatphrase.cpp extensionimpl.cpp) add_library(Remove\ Repeated\ Phrases\ 2 MODULE removerepeatphrase2.cpp extensionimpl.cpp) add_library(Remove\ 30\ Repeated\ Sentences MODULE removerepeatsentence.cpp extensionimpl.cpp) @@ -36,6 +37,7 @@ target_precompile_headers(Lua REUSE_FROM pch) target_precompile_headers(Regex\ Filter REUSE_FROM pch) target_precompile_headers(Regex\ Replacer REUSE_FROM pch) target_precompile_headers(Remove\ Repeated\ Characters REUSE_FROM pch) +target_precompile_headers(Remove\ Repeated\ Leading\ Sentence REUSE_FROM pch) target_precompile_headers(Remove\ Repeated\ Phrases REUSE_FROM pch) target_precompile_headers(Remove\ Repeated\ Phrases\ 2 REUSE_FROM pch) target_precompile_headers(Remove\ 30\ Repeated\ Sentences REUSE_FROM pch) diff --git a/extensions/removerepeatedleadingsentence.cpp b/extensions/removerepeatedleadingsentence.cpp new file mode 100644 index 0000000..7ba769b --- /dev/null +++ b/extensions/removerepeatedleadingsentence.cpp @@ -0,0 +1,28 @@ +#include "extension.h" + +bool ProcessSentence(std::wstring& sentence, SentenceInfo sentenceInfo) +{ + if (!sentenceInfo["current select"] || sentenceInfo["text number"] == 0) return false; + + static std::wstring prevSentence; + + std::wstring checkSentence = prevSentence; + prevSentence = sentence; + + + + if (sentence.substr(0, checkSentence.size()) == checkSentence) + { + auto Ltrim = [](std::wstring& text) + { + text.erase(text.begin(), std::find_if_not(text.begin(), text.end(), iswspace)); + }; + + //sentence = sentence.substr(checkSentence.size(), wstring::npos); + sentence = sentence.substr(checkSentence.size()); + Ltrim(sentence); + return true; + //return !sentence.empty(); + } + return false; +} From 4eeb747694c5460875a1f42fce38fc26412a95d7 Mon Sep 17 00:00:00 2001 From: Blu3train Date: Wed, 18 May 2022 00:33:08 +0200 Subject: [PATCH 2/2] code cleanup --- extensions/removerepeatedleadingsentence.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/extensions/removerepeatedleadingsentence.cpp b/extensions/removerepeatedleadingsentence.cpp index 7ba769b..db20e24 100644 --- a/extensions/removerepeatedleadingsentence.cpp +++ b/extensions/removerepeatedleadingsentence.cpp @@ -18,11 +18,9 @@ bool ProcessSentence(std::wstring& sentence, SentenceInfo sentenceInfo) text.erase(text.begin(), std::find_if_not(text.begin(), text.end(), iswspace)); }; - //sentence = sentence.substr(checkSentence.size(), wstring::npos); sentence = sentence.substr(checkSentence.size()); Ltrim(sentence); return true; - //return !sentence.empty(); } return false; }