fix: fix choose failed when paths cmd/server (#1954)

status-code-override
haiyux 3 years ago committed by chenzhihui
parent 2d5da155fd
commit 572270ba91
  1. 13
      cmd/kratos/internal/run/run.go

@ -53,12 +53,13 @@ func Run(cmd *cobra.Command, args []string) {
prompt := &survey.Select{
Message: "Which directory do you want to run?",
Options: cmdPaths,
PageSize: 10,
}
e := survey.AskOne(prompt, &dir)
if e != nil || dir == "" {
return
}
dir = path.Join(cmdPath[dir], dir)
dir = cmdPath[dir]
}
}
fd := exec.Command("go", "run", ".")
@ -72,6 +73,13 @@ func Run(cmd *cobra.Command, args []string) {
}
func findCMD(base string) (map[string]string, error) {
wd, err := os.Getwd()
if err != nil {
return nil, err
}
if !strings.HasSuffix(wd, "/") {
wd += "/"
}
var root bool
next := func(dir string) (map[string]string, error) {
cmdPath := make(map[string]string)
@ -84,7 +92,8 @@ func findCMD(base string) (map[string]string, error) {
}
for _, fileInfo := range paths {
if fileInfo.IsDir() {
cmdPath[path.Join("cmd", fileInfo.Name())] = filepath.Join(walkPath, "..")
abs := path.Join(walkPath, fileInfo.Name())
cmdPath[strings.TrimPrefix(abs, wd)] = abs
}
}
return nil

Loading…
Cancel
Save