diff --git a/parser/parser_windows.go b/parser/parser_windows.go index 76140a9..64974aa 100644 --- a/parser/parser_windows.go +++ b/parser/parser_windows.go @@ -11,7 +11,7 @@ func normalizePath(path string) string { return strings.Replace(path, "\\", "/", -1) } -func getPkgPath(fname string) (string, error) { +func getPkgPath(fname string, isDir bool) (string, error) { if !path.IsAbs(fname) { pwd, err := os.Getwd() if err != nil { @@ -25,7 +25,11 @@ func getPkgPath(fname string) (string, error) { for _, p := range strings.Split(os.Getenv("GOPATH"), ";") { prefix := path.Join(normalizePath(p), "src") + "/" if rel := strings.TrimPrefix(fname, prefix); rel != fname { - return path.Dir(rel), nil + if !isDir { + return path.Dir(rel), nil + } else { + return path.Clean(rel), nil + } } }