diff --git a/editor/editors.go b/editor/editors.go index 58ddd5e..cac87d2 100644 --- a/editor/editors.go +++ b/editor/editors.go @@ -62,8 +62,8 @@ func WSHandler(w http.ResponseWriter, r *http.Request) { // glog.Infof("offset: %d", offset) - gocode := os.Getenv("GOPATH") + string(os.PathSeparator) + - os.Getenv("OS") + string(os.PathSeparator) + os.Getenv("GOARCH") + string(os.PathSeparator) + "gocode" + gocode := os.Getenv("GOPATH") + string(os.PathSeparator) + "bin" + string(os.PathSeparator) + + os.Getenv("GOOS") + "_" + os.Getenv("GOARCH") + string(os.PathSeparator) + "gocode" argv := []string{"-f=json", "autocomplete", strconv.Itoa(offset)} var output bytes.Buffer @@ -120,8 +120,8 @@ func AutocompleteHandler(w http.ResponseWriter, r *http.Request) { //glog.Infof("gocode set lib-path %s", libPath) // FIXME: 使用 gocode set lib-path 在多工作空间环境下肯定是有问题的,需要考虑其他实现方式 - gocode := os.Getenv("GOPATH") + string(os.PathSeparator) + - os.Getenv("OS") + string(os.PathSeparator) + os.Getenv("GOARCH") + string(os.PathSeparator) + "gocode" + gocode := os.Getenv("GOPATH") + string(os.PathSeparator) + "bin" + string(os.PathSeparator) + + os.Getenv("GOOS") + "_" + os.Getenv("GOARCH") + string(os.PathSeparator) + "gocode" argv := []string{"set", "lib-path", libPath} cmd := exec.Command(gocode, argv...) cmd.Start() @@ -198,8 +198,8 @@ func FindDeclarationHandler(w http.ResponseWriter, r *http.Request) { // glog.Infof("offset [%d]", offset) // TODO: 目前是调用 liteide_stub 工具来查找声明,后续需要重新实现 - ide_stub := os.Getenv("GOPATH") + string(os.PathSeparator) + - os.Getenv("OS") + string(os.PathSeparator) + os.Getenv("GOARCH") + string(os.PathSeparator) + "ide_stub" + ide_stub := os.Getenv("GOPATH") + string(os.PathSeparator) + "bin" + string(os.PathSeparator) + + os.Getenv("GOOS") + "_" + os.Getenv("GOARCH") + string(os.PathSeparator) + "ide_stub" argv := []string{"type", "-cursor", filename + ":" + strconv.Itoa(offset), "-def", "."} cmd := exec.Command(ide_stub, argv...) cmd.Dir = curDir @@ -280,8 +280,8 @@ func FindUsagesHandler(w http.ResponseWriter, r *http.Request) { offset := getCursorOffset(code, line, ch) // TODO: 目前是调用 liteide_stub 工具来查找使用,后续需要重新实现 - ide_stub := os.Getenv("GOPATH") + string(os.PathSeparator) + - os.Getenv("OS") + string(os.PathSeparator) + os.Getenv("GOARCH") + string(os.PathSeparator) + "ide_stub" + ide_stub := os.Getenv("GOPATH") + string(os.PathSeparator) + "bin" + string(os.PathSeparator) + + os.Getenv("GOOS") + "_" + os.Getenv("GOARCH") + string(os.PathSeparator) + "ide_stub" argv := []string{"type", "-cursor", filename + ":" + strconv.Itoa(offset), "-use", "."} cmd := exec.Command(ide_stub, argv...) cmd.Dir = curDir