New Upstream Release - golang-github-lithammer-fuzzysearch
Ready changes
Summary
Merged new upstream version: 1.1.5 (was: 1.1.3).
Resulting package
Built on 2022-12-14T22:52 (took 2m23s)
The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:
apt install -t fresh-releases golang-github-lithammer-fuzzysearch-dev
Lintian Result
Diff
diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml
index 5b6459f..ffb93d6 100644
--- a/.github/workflows/go.yml
+++ b/.github/workflows/go.yml
@@ -1,20 +1,28 @@
name: Go
-on: [push, pull_request]
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+
jobs:
test:
strategy:
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
- go-version: ['1.15', '1.16']
+ go-version: ['1.17', '1.18']
runs-on: ${{ matrix.platform }}
steps:
- name: Setup Go
- uses: actions/setup-go@v2.1.4
+ uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go-version }}
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
- name: Download Go dependencies
run: go mod download
diff --git a/README.md b/README.md
index edb6665..5551bc0 100644
--- a/README.md
+++ b/README.md
@@ -43,6 +43,9 @@ func main() {
// Unicode normalized matching.
fuzzy.MatchNormalized("cartwheel", "cartwhéél") // true
+
+ // Case insensitive matching.
+ fuzzy.MatchFold("ArTeeL", "cartwheel") // true
}
```
diff --git a/debian/changelog b/debian/changelog
index aa138b7..a6b0ee7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+golang-github-lithammer-fuzzysearch (1.1.5-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk> Wed, 14 Dec 2022 22:50:27 -0000
+
golang-github-lithammer-fuzzysearch (1.1.3-1) unstable; urgency=medium
[ Takuma Shibuya ]
diff --git a/fuzzy/fuzzy.go b/fuzzy/fuzzy.go
index 259058e..7ae7091 100644
--- a/fuzzy/fuzzy.go
+++ b/fuzzy/fuzzy.go
@@ -13,7 +13,7 @@ import (
)
func noopTransformer() transform.Transformer {
- return transform.Nop
+ return nopTransformer{}
}
func foldTransformer() transform.Transformer {
@@ -234,6 +234,11 @@ func (r Ranks) Less(i, j int) bool {
}
func stringTransform(s string, t transform.Transformer) (transformed string) {
+ // Fast path for the nop transformer to prevent unnecessary allocations.
+ if _, ok := t.(nopTransformer); ok {
+ return s
+ }
+
var err error
transformed, _, err = transform.String(t, s)
if err != nil {
@@ -243,7 +248,7 @@ func stringTransform(s string, t transform.Transformer) (transformed string) {
return
}
-type unicodeFoldTransformer struct{}
+type unicodeFoldTransformer struct{ transform.NopResetter }
func (unicodeFoldTransformer) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
runes := bytes.Runes(src)
@@ -261,4 +266,8 @@ func (unicodeFoldTransformer) Transform(dst, src []byte, atEOF bool) (nDst, nSrc
return n, n, err
}
-func (unicodeFoldTransformer) Reset() {}
+type nopTransformer struct{ transform.NopResetter }
+
+func (nopTransformer) Transform(dst []byte, src []byte, atEOF bool) (int, int, error) {
+ return 0, len(src), nil
+}
diff --git a/fuzzy/levenshtein.go b/fuzzy/levenshtein.go
index 237923d..4fb5838 100644
--- a/fuzzy/levenshtein.go
+++ b/fuzzy/levenshtein.go
@@ -10,10 +10,10 @@ package fuzzy
// http://en.wikibooks.org/wiki/Algorithm_implementation/Strings/Levenshtein_distance#C
func LevenshteinDistance(s, t string) int {
r1, r2 := []rune(s), []rune(t)
- column := make([]int, len(r1)+1)
+ column := make([]int, 1, 64)
for y := 1; y <= len(r1); y++ {
- column[y] = y
+ column = append(column, y)
}
for x := 1; x <= len(r2); x++ {
Debdiff
File lists identical (after any substitutions)
No differences were encountered in the control files