Skip to content

Commit bd78db9

Browse files
dineshbajskswamy
authored andcommitted
Add fuzzysearch feature to select the projects in prompt
1 parent a9730a2 commit bd78db9

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

cmd/gcloud-generate.go

+10
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package cmd
22

33
import (
44
"fmt"
5+
"github.com/lithammer/fuzzysearch/fuzzy"
56
"github.com/thecasualcoder/kube-tmuxp/pkg/commander"
67
"github.com/thecasualcoder/kube-tmuxp/pkg/filesystem"
78
"github.com/thecasualcoder/kube-tmuxp/pkg/kubeconfig"
@@ -153,6 +154,15 @@ func getSelectedProjects(projects gcloud.Projects) (gcloud.Projects, error) {
153154
prompt := &survey.MultiSelect{
154155
Message: "Select gcloud projects that you want to configure:",
155156
Options: projects.IDs(),
157+
FilterFn: func(s string, options []string) []string {
158+
var acc []string
159+
for _, option := range options {
160+
if fuzzy.Match(s, option) {
161+
acc = append(acc, option)
162+
}
163+
}
164+
return acc
165+
},
156166
}
157167
opt := func(options *survey.AskOptions) error {
158168
options.Stdio.Out = os.Stderr

go.mod

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ go 1.13
55
require (
66
github.com/golang/mock v1.3.1
77
github.com/kr/pretty v0.1.0 // indirect
8+
github.com/lithammer/fuzzysearch v1.1.0
89
github.com/mitchellh/go-homedir v1.1.0
910
github.com/spf13/cobra v0.0.5
1011
github.com/stretchr/testify v1.4.0

go.sum

+5
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw=
2828
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
2929
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
3030
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
31+
github.com/lithammer/fuzzysearch v1.1.0 h1:go9v8tLCrNTTlH42OAaq4eHFe81TDHEnlrMEb6R4f+A=
32+
github.com/lithammer/fuzzysearch v1.1.0/go.mod h1:Bqx4wo8lTOFcJr3ckpY6HA9lEIOO0H5HrkJ5CsN56HQ=
3133
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
3234
github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4=
3335
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
@@ -80,6 +82,9 @@ golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8 h1:JA8d3MPx/IToSyXZG/RhwYEtf
8082
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
8183
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
8284
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
85+
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
86+
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
87+
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
8388
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
8489
gopkg.in/AlecAivazis/survey.v1 v1.8.7 h1:oBJqtgsyBLg9K5FK9twNUbcPnbCPoh+R9a+7nag3qJM=
8590
gopkg.in/AlecAivazis/survey.v1 v1.8.7/go.mod h1:iBNOmqKz/NUbZx3bA+4hAGLRC7fSK7tgtVDT4tB22XA=

0 commit comments

Comments
 (0)