summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2024-02-22 23:19:11 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2024-02-22 23:19:11 +0900
commit99a7beba575bf50170dada5b4681ccaad40263d1 (patch)
treecdc96794af04c971358b28c24f4e00b630191658
parentedee2b753cdd08b7927213af3899f7b6f455a606 (diff)
Fix missing bonus score on a delimiter character
Fix #3645
-rw-r--r--src/algo/algo.go15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/algo/algo.go b/src/algo/algo.go
index 1d021ed0..5cb82bdd 100644
--- a/src/algo/algo.go
+++ b/src/algo/algo.go
@@ -255,24 +255,29 @@ func charClassOf(char rune) charClass {
func bonusFor(prevClass charClass, class charClass) int16 {
if class > charNonWord {
- if prevClass == charWhite {
+ switch prevClass {
+ case charWhite:
// Word boundary after whitespace
return bonusBoundaryWhite
- } else if prevClass == charDelimiter {
+ case charDelimiter:
// Word boundary after a delimiter character
return bonusBoundaryDelimiter
- } else if prevClass == charNonWord {
+ case charNonWord:
// Word boundary
return bonusBoundary
}
}
+
if prevClass == charLower && class == charUpper ||
prevClass != charNumber && class == charNumber {
// camelCase letter123
return bonusCamel123
- } else if class == charNonWord {
+ }
+
+ switch class {
+ case charNonWord, charDelimiter:
return bonusNonWord
- } else if class == charWhite {
+ case charWhite:
return bonusBoundaryWhite
}
return 0