From f768d6c603e70852f37163b203ea667c11e930c2 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Fri, 1 Jul 2022 00:30:15 +0800 Subject: [PATCH] KeyHandler // candidatesArray() -> getCandidatesArray(), etc. --- .../ControllerModules/KeyHandler_Core.swift | 16 +++++++++------- .../ControllerModules/KeyHandler_States.swift | 4 ++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Source/Modules/ControllerModules/KeyHandler_Core.swift b/Source/Modules/ControllerModules/KeyHandler_Core.swift index 32aa5291..b7d58cf9 100644 --- a/Source/Modules/ControllerModules/KeyHandler_Core.swift +++ b/Source/Modules/ControllerModules/KeyHandler_Core.swift @@ -235,7 +235,7 @@ class KeyHandler { } /// 獲取候選字詞陣列資料內容。 - func candidatesArray(fixOrder: Bool = true) -> [String] { + func getCandidatesArray(fixOrder: Bool = true) -> [String] { var arrAnchors: [Megrez.NodeAnchor] = rawAnchorsOfNodes var arrCandidates: [String] = [] @@ -259,13 +259,15 @@ class KeyHandler { } } // 決定是否根據半衰記憶模組的建議來調整候選字詞的順序。 - if mgrPrefs.fetchSuggestionsFromUserOverrideModel, !mgrPrefs.useSCPCTypingMode, !fixOrder { - let arrSuggestedUnigrams: [Megrez.Unigram] = fetchSuggestedCandidates().stableSort { $0.score > $1.score } - let arrSuggestedCandidates: [String] = arrSuggestedUnigrams.map(\.keyValue.value) - arrCandidates = arrSuggestedCandidates.filter { arrCandidates.contains($0) } + arrCandidates - arrCandidates = arrCandidates.deduplicate - arrCandidates = arrCandidates.stableSort { $0.count > $1.count } + if !mgrPrefs.fetchSuggestionsFromUserOverrideModel || mgrPrefs.useSCPCTypingMode || fixOrder { + return arrCandidates } + + let arrSuggestedUnigrams: [Megrez.Unigram] = fetchSuggestedCandidates().stableSort { $0.score > $1.score } + let arrSuggestedCandidates: [String] = arrSuggestedUnigrams.map(\.keyValue.value) + arrCandidates = arrSuggestedCandidates.filter { arrCandidates.contains($0) } + arrCandidates + arrCandidates = arrCandidates.deduplicate + arrCandidates = arrCandidates.stableSort { $0.count > $1.count } return arrCandidates } diff --git a/Source/Modules/ControllerModules/KeyHandler_States.swift b/Source/Modules/ControllerModules/KeyHandler_States.swift index c6099aef..1daece9c 100644 --- a/Source/Modules/ControllerModules/KeyHandler_States.swift +++ b/Source/Modules/ControllerModules/KeyHandler_States.swift @@ -168,7 +168,7 @@ extension KeyHandler { InputState.ChoosingCandidate( composingBuffer: currentState.composingBuffer, cursorIndex: currentState.cursorIndex, - candidates: candidatesArray(fixOrder: mgrPrefs.useFixecCandidateOrderOnSelection), + candidates: getCandidatesArray(fixOrder: mgrPrefs.useFixecCandidateOrderOnSelection), isTypingVertical: isTypingVertical ) } @@ -771,7 +771,7 @@ extension KeyHandler { return true } - let candidates = candidatesArray(fixOrder: true) + let candidates = getCandidatesArray(fixOrder: true) guard !candidates.isEmpty else { IME.prtDebugIntel("3378A6DF") errorCallback()