Skip to content

Commit 5ff4e2a

Browse files
authored
Merge pull request #1405 from AkihiroSuda/remove-gpl2-dependency
Remove GPL2 dependency introduced in v2.7.0
2 parents 595cabc + 3e31c9b commit 5ff4e2a

4 files changed

Lines changed: 19 additions & 14 deletions

File tree

.github/workflows/cli.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ jobs:
3434
if: matrix.go == '1.18.x' && matrix.os == 'ubuntu-latest'
3535
run: test -z $(gofmt -l .)
3636

37+
# https://github.com/urfave/cli/pull/1405#issuecomment-1135458582
38+
- name: workaround for golang.org/x/tools error
39+
run: go mod download golang.org/x/tools
40+
3741
- name: vet
3842
run: go run internal/build/build.go vet
3943

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ go 1.18
44

55
require (
66
github.com/BurntSushi/toml v1.1.0
7-
github.com/antzucaro/matchr v0.0.0-20210222213004-b04723ef80f0
87
github.com/cpuguy83/go-md2man/v2 v2.0.1
8+
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673
99
golang.org/x/text v0.3.7
1010
gopkg.in/yaml.v2 v2.4.0
1111
)

go.sum

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,13 @@
11
github.com/BurntSushi/toml v1.1.0 h1:ksErzDEI1khOiGPgpwuI7x2ebx/uXQNw7xJpn9Eq1+I=
22
github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
3-
github.com/antzucaro/matchr v0.0.0-20180616170659-cbc221335f3c h1:CucViv7orgFBMkehuFFdkCVF5ERovbkRRyhvaYaHu/k=
4-
github.com/antzucaro/matchr v0.0.0-20180616170659-cbc221335f3c/go.mod h1:bV/CkX4+ANGDaBwbHkt9kK287al/i9BsB18PRBvyqYo=
5-
github.com/antzucaro/matchr v0.0.0-20210222213004-b04723ef80f0 h1:R/qAiUxFT3mNgQaNqJe0IVznjKRNm23ohAIh9lgtlzc=
6-
github.com/antzucaro/matchr v0.0.0-20210222213004-b04723ef80f0/go.mod h1:v3ZDlfVAL1OrkKHbGSFFK60k0/7hruHPDq2XMs9Gu6U=
73
github.com/cpuguy83/go-md2man/v2 v2.0.1 h1:r/myEWzV9lfsM1tFLgDyu0atFtJ1fXn261LKYj/3DxU=
84
github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
9-
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
10-
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
115
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
126
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
13-
github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
14-
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
7+
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU=
8+
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
159
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
1610
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
17-
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e h1:FDhOuMEY4JVRztM/gsbk+IKUQ8kj74bxZrgw87eMMVc=
18-
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
1911
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
2012
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
2113
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=

suggestions.go

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,18 @@ package cli
33
import (
44
"fmt"
55

6-
"github.com/antzucaro/matchr"
6+
"github.com/xrash/smetrics"
77
)
88

9+
func jaroWinkler(a, b string) float64 {
10+
// magic values are from https://github.com/xrash/smetrics/blob/039620a656736e6ad994090895784a7af15e0b80/jaro-winkler.go#L8
11+
const (
12+
boostThreshold = 0.7
13+
prefixSize = 4
14+
)
15+
return smetrics.JaroWinkler(a, b, boostThreshold, prefixSize)
16+
}
17+
918
func suggestFlag(flags []Flag, provided string, hideHelp bool) string {
1019
distance := 0.0
1120
suggestion := ""
@@ -16,7 +25,7 @@ func suggestFlag(flags []Flag, provided string, hideHelp bool) string {
1625
flagNames = append(flagNames, HelpFlag.Names()...)
1726
}
1827
for _, name := range flagNames {
19-
newDistance := matchr.JaroWinkler(name, provided, true)
28+
newDistance := jaroWinkler(name, provided)
2029
if newDistance > distance {
2130
distance = newDistance
2231
suggestion = name
@@ -39,7 +48,7 @@ func suggestCommand(commands []*Command, provided string) (suggestion string) {
3948
distance := 0.0
4049
for _, command := range commands {
4150
for _, name := range append(command.Names(), helpName, helpAlias) {
42-
newDistance := matchr.JaroWinkler(name, provided, true)
51+
newDistance := jaroWinkler(name, provided)
4352
if newDistance > distance {
4453
distance = newDistance
4554
suggestion = name

0 commit comments

Comments
 (0)