From 80cd70033fbf0d8b327edc6ceef2f81bbb586945 Mon Sep 17 00:00:00 2001 From: Shewer Lu Date: Fri, 20 Jan 2023 16:48:48 +0800 Subject: [PATCH 1/6] Update release-ci.yml --- .github/workflows/release-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-ci.yml b/.github/workflows/release-ci.yml index 0b339b1c60..7ff8e1bef5 100644 --- a/.github/workflows/release-ci.yml +++ b/.github/workflows/release-ci.yml @@ -21,7 +21,7 @@ jobs: rime_plugins: rime/librime-charcode hchunhui/librime-lua lotem/librime-octagram lotem/librime-proto release: - needs: [macos, windows] + needs: [macos, windows, linux] runs-on: ubuntu-latest steps: - name: Download artifacts From 2a2c88b12348d6acc312b6aa192bc68cc54dab46 Mon Sep 17 00:00:00 2001 From: shewer Date: Fri, 30 Jun 2023 07:22:31 +0800 Subject: [PATCH 2/6] =?UTF-8?q?recognizer/patterns=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=BE=AA=E5=BA=8F=E6=AA=A2=E6=9F=A5=20patterns=20=E6=A9=9F?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: shewer --- src/rime/gear/matcher.h | 2 +- src/rime/gear/recognizer.cc | 32 ++++++++++++++++++++++++++++++-- src/rime/gear/recognizer.h | 10 ++++++++-- 3 files changed, 39 insertions(+), 5 deletions(-) diff --git a/src/rime/gear/matcher.h b/src/rime/gear/matcher.h index f136ea8de3..ac38351a25 100644 --- a/src/rime/gear/matcher.h +++ b/src/rime/gear/matcher.h @@ -19,7 +19,7 @@ class Matcher : public Segmentor { virtual bool Proceed(Segmentation* segmentation); protected: - RecognizerPatterns patterns_; + RecognizerPatternsOfVector patterns_; }; } // namespace rime diff --git a/src/rime/gear/recognizer.cc b/src/rime/gear/recognizer.cc index 6ceffd6036..3feeffbce6 100644 --- a/src/rime/gear/recognizer.cc +++ b/src/rime/gear/recognizer.cc @@ -12,6 +12,7 @@ #include #include #include +#include namespace rime { @@ -32,8 +33,8 @@ static void load_patterns(RecognizerPatterns* patterns, an map) { } } -void RecognizerPatterns::LoadConfig(Config* config) { - load_patterns(this, config->GetMap("recognizer/patterns")); +void RecognizerPatterns::LoadConfig(Config* config, const string &path) { + load_patterns(this, config->GetMap(path)); } RecognizerMatch RecognizerPatterns::GetMatch( @@ -69,6 +70,33 @@ RecognizerMatch RecognizerPatterns::GetMatch( return RecognizerMatch(); } +void RecognizerPatternsOfVector::LoadConfig(Config* config){ + this->clear(); + string path = "recognizer/patterns"; + if (config->IsMap(path)) { + this->assign(1,RecognizerPatterns()); + (*this)[0].LoadConfig(config, path); + } + else if (config->IsList(path)) { + size_t size = config->GetListSize(path); + this->assign(size,RecognizerPatterns()); + for (size_t i = 0; i < size; ++i) { + (*this)[i].LoadConfig(config, path + "/@" + std::to_string(i) ); + } + } +} + +RecognizerMatch RecognizerPatternsOfVector::GetMatch(const string& input, + const Segmentation& segmentation) const { + for (auto it : *this) { + auto res = it.GetMatch(input, segmentation); + if (res.found()) { + return res; + } + } + return RecognizerMatch(); +} + Recognizer::Recognizer(const Ticket& ticket) : Processor(ticket) { if (!ticket.schema) return; diff --git a/src/rime/gear/recognizer.h b/src/rime/gear/recognizer.h index d9a6eff5a3..812337ed76 100644 --- a/src/rime/gear/recognizer.h +++ b/src/rime/gear/recognizer.h @@ -29,11 +29,17 @@ struct RecognizerMatch { class RecognizerPatterns : public map { public: - void LoadConfig(Config* config); + void LoadConfig(Config* config, const string &path="recognizer/patterns"); RecognizerMatch GetMatch(const string& input, const Segmentation& segmentation) const; }; +class RecognizerPatternsOfVector : public vector { + public: + void LoadConfig(Config* config); + RecognizerMatch GetMatch(const string& input, + const Segmentation& segmentation) const; +}; class Recognizer : public Processor { public: Recognizer(const Ticket& ticket); @@ -41,7 +47,7 @@ class Recognizer : public Processor { virtual ProcessResult ProcessKeyEvent(const KeyEvent& key_event); protected: - RecognizerPatterns patterns_; + RecognizerPatternsOfVector patterns_; bool use_space_ = false; }; From b286d2e6206cc96f08c0b08389dabf28f5ed912c Mon Sep 17 00:00:00 2001 From: shewer Date: Fri, 30 Jun 2023 07:56:32 +0800 Subject: [PATCH 3/6] fixed clang-format Signed-off-by: shewer --- src/rime/gear/recognizer.cc | 18 +++++++++--------- src/rime/gear/recognizer.h | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/rime/gear/recognizer.cc b/src/rime/gear/recognizer.cc index 3feeffbce6..d1013622ea 100644 --- a/src/rime/gear/recognizer.cc +++ b/src/rime/gear/recognizer.cc @@ -33,7 +33,7 @@ static void load_patterns(RecognizerPatterns* patterns, an map) { } } -void RecognizerPatterns::LoadConfig(Config* config, const string &path) { +void RecognizerPatterns::LoadConfig(Config* config, const string& path) { load_patterns(this, config->GetMap(path)); } @@ -70,24 +70,24 @@ RecognizerMatch RecognizerPatterns::GetMatch( return RecognizerMatch(); } -void RecognizerPatternsOfVector::LoadConfig(Config* config){ +void RecognizerPatternsOfVector::LoadConfig(Config* config) { this->clear(); string path = "recognizer/patterns"; if (config->IsMap(path)) { - this->assign(1,RecognizerPatterns()); + this->assign(1, RecognizerPatterns()); (*this)[0].LoadConfig(config, path); - } - else if (config->IsList(path)) { + } else if (config->IsList(path)) { size_t size = config->GetListSize(path); - this->assign(size,RecognizerPatterns()); + this->assign(size, RecognizerPatterns()); for (size_t i = 0; i < size; ++i) { - (*this)[i].LoadConfig(config, path + "/@" + std::to_string(i) ); + (*this)[i].LoadConfig(config, path + "/@" + std::to_string(i)); } } } -RecognizerMatch RecognizerPatternsOfVector::GetMatch(const string& input, - const Segmentation& segmentation) const { +RecognizerMatch RecognizerPatternsOfVector::GetMatch( + const string& input, + const Segmentation& segmentation) const { for (auto it : *this) { auto res = it.GetMatch(input, segmentation); if (res.found()) { diff --git a/src/rime/gear/recognizer.h b/src/rime/gear/recognizer.h index 812337ed76..b8a4cb2b74 100644 --- a/src/rime/gear/recognizer.h +++ b/src/rime/gear/recognizer.h @@ -29,12 +29,12 @@ struct RecognizerMatch { class RecognizerPatterns : public map { public: - void LoadConfig(Config* config, const string &path="recognizer/patterns"); + void LoadConfig(Config* config, const string& path = "recognizer/patterns"); RecognizerMatch GetMatch(const string& input, const Segmentation& segmentation) const; }; -class RecognizerPatternsOfVector : public vector { +class RecognizerPatternsOfVector : public vector { public: void LoadConfig(Config* config); RecognizerMatch GetMatch(const string& input, From 4dba93c96878afec4139371f6d2516e2a135bc91 Mon Sep 17 00:00:00 2001 From: Shewer Lu Date: Fri, 30 Jun 2023 08:14:50 +0800 Subject: [PATCH 4/6] Delete release-ci.yml --- .github/workflows/release-ci.yml | 38 -------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 .github/workflows/release-ci.yml diff --git a/.github/workflows/release-ci.yml b/.github/workflows/release-ci.yml deleted file mode 100644 index 8a0e7d0589..0000000000 --- a/.github/workflows/release-ci.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Release CI - -on: - push: - tags: - - '[0-9]+.*' - -jobs: - linux: - uses: ./.github/workflows/linux-build.yml - - macos: - uses: ./.github/workflows/macos-build.yml - with: - build_variant: '-universal' - rime_plugins: rime/librime-charcode hchunhui/librime-lua lotem/librime-octagram - - windows: - uses: ./.github/workflows/windows-build.yml - with: - rime_plugins: rime/librime-charcode hchunhui/librime-lua lotem/librime-octagram - - release: - needs: [macos, windows, linux] - runs-on: ubuntu-latest - steps: - - name: Download artifacts - uses: actions/download-artifact@v3 - - - name: Create GitHub release - uses: 'marvinpinto/action-automatic-releases@latest' - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - draft: true - prerelease: ${{ contains(github.ref_name, '-') }} - title: librime ${{ github.ref_name }} - files: | - artifact/* From 1572c81602d64e4e5f3c5181971c5e515ad473d1 Mon Sep 17 00:00:00 2001 From: Shewer Lu Date: Fri, 30 Jun 2023 08:17:53 +0800 Subject: [PATCH 5/6] Update recognizer.cc --- src/rime/gear/recognizer.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/src/rime/gear/recognizer.cc b/src/rime/gear/recognizer.cc index d1013622ea..d0a3d62712 100644 --- a/src/rime/gear/recognizer.cc +++ b/src/rime/gear/recognizer.cc @@ -12,7 +12,6 @@ #include #include #include -#include namespace rime { From 457455df222809f424e7df9cbc9efe6cde0f9466 Mon Sep 17 00:00:00 2001 From: shewer Date: Fri, 15 Dec 2023 15:19:48 +0800 Subject: [PATCH 6/6] reset release-ci.yml Signed-off-by: shewer --- .github/workflows/release-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-ci.yml b/.github/workflows/release-ci.yml index f55d9f9cdc..5ec226053a 100644 --- a/.github/workflows/release-ci.yml +++ b/.github/workflows/release-ci.yml @@ -24,7 +24,7 @@ jobs: rime_plugins: hchunhui/librime-lua lotem/librime-octagram rime/librime-predict release: - needs: [macos, windows, linux] + needs: [macos, windows] runs-on: ubuntu-latest steps: - name: Download artifacts