diff options
| author | Junegunn Choi <junegunn.c@gmail.com> | 2017-01-09 09:52:17 +0900 |
|---|---|---|
| committer | Junegunn Choi <junegunn.c@gmail.com> | 2017-01-09 09:52:17 +0900 |
| commit | a16d8f66a99ae365a57d114d5ee7d0a7ebc4cf5f (patch) | |
| tree | a03c5b7bd5582695a7b02c828117c44e4a771e26 /src/algo/normalize.go | |
| parent | 45793d75c2d168d51be3578b8d785159ec81ff92 (diff) | |
| download | fzf-a16d8f66a99ae365a57d114d5ee7d0a7ebc4cf5f.tar.gz | |
Normalize pattern string before passing it to Algo function
Diffstat (limited to 'src/algo/normalize.go')
| -rw-r--r-- | src/algo/normalize.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/algo/normalize.go b/src/algo/normalize.go index 1168a646..7a496441 100644 --- a/src/algo/normalize.go +++ b/src/algo/normalize.go @@ -406,3 +406,19 @@ var normalized map[rune]rune = map[rune]rune{ 0x028F: 'Y', // , LATIN LETTER SMALL CAPITAL 0x1D22: 'Z', // , LATIN LETTER SMALL CAPITAL } + +// NormalizeRunes normalizes latin script letters +func NormalizeRunes(runes []rune) []rune { + ret := make([]rune, len(runes)) + copy(ret, runes) + for idx, r := range runes { + if r < 0x00C0 || r > 0x2184 { + continue + } + n := normalized[r] + if n > 0 { + ret[idx] = normalized[r] + } + } + return ret +} |
