fix: Improve sorting logic in searchCompletionCandidates for better tag matching

This commit is contained in:
newtextdoc1111
2025-07-16 08:01:11 +09:00
parent a374ca6c11
commit e072832216
+7 -3
View File
@@ -116,13 +116,17 @@ function searchCompletionCandidates(textareaElement) {
}
let result = [];
searchResults.sort((a, b) => {
if (matchWord(autoCompleteData[source].sortedTags[b].tag, queryVariations).matched) {
const aTag = autoCompleteData[source].sortedTags[a];
const bTag = autoCompleteData[source].sortedTags[b];
if (matchWord(bTag.tag, queryVariations).isExactMatch ||
(bTag.alias && bTag.alias.some(alias => matchWord(alias, queryVariations).isExactMatch))) {
return 999999999999;
}
if (matchWord(autoCompleteData[source].sortedTags[a].tag, queryVariations).matched) {
if (matchWord(aTag.tag, queryVariations).isExactMatch ||
(aTag.alias && aTag.alias.some(alias => matchWord(alias, queryVariations).isExactMatch))) {
return -999999999999;
}
return autoCompleteData[source].sortedTags[b].count - autoCompleteData[source].sortedTags[a].count;
return bTag.count - aTag.count;
}).forEach(seachResult => {
result.push(autoCompleteData[source].sortedTags[seachResult]);
});