@ -15,7 +15,6 @@ package cmd
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"os"
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
@ -117,9 +116,9 @@ func init() {
 | 
			
		||||
	data["parentName"] = parentName()
 | 
			
		||||
	data["cmdName"] = cmdName
 | 
			
		||||
 | 
			
		||||
	err := writeTemplateToFile(ProjectPath()+string(os.PathSeparator)+guessCmdDir(), cmdName+".go", template, data)
 | 
			
		||||
	err := writeTemplateToFile(filepath.Join(ProjectPath(), guessCmdDir()), cmdName+".go", template, data)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		er(err)
 | 
			
		||||
	}
 | 
			
		||||
	fmt.Println(cmdName, "created at", filepath.Join(ProjectPath()+string(os.PathSeparator)+guessCmdDir(), cmdName+".go"))
 | 
			
		||||
	fmt.Println(cmdName, "created at", filepath.Join(ProjectPath(), guessCmdDir(), cmdName+".go"))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -104,11 +104,11 @@ func guessImportPath() string {
 | 
			
		||||
		er("Cobra only supports project within $GOPATH")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return strings.TrimPrefix(projectPath, getSrcPath())
 | 
			
		||||
	return filepath.Clean(strings.TrimPrefix(projectPath, getSrcPath()))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func getSrcPath() string {
 | 
			
		||||
	return os.Getenv("GOPATH") + string(os.PathSeparator) + "src" + string(os.PathSeparator)
 | 
			
		||||
	return filepath.Join(os.Getenv("GOPATH"), "src") + string(os.PathSeparator)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func projectName() string {
 | 
			
		||||
@ -129,7 +129,7 @@ func guessProjectPath() {
 | 
			
		||||
		// if we are in the cmd directory.. back up
 | 
			
		||||
		for _, c := range cmdDirs {
 | 
			
		||||
			if base == c {
 | 
			
		||||
				projectPath = filepath.Clean(filepath.Dir(x))
 | 
			
		||||
				projectPath = filepath.Dir(x)
 | 
			
		||||
				return
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
@ -154,10 +154,10 @@ func guessProjectPath() {
 | 
			
		||||
		switch count {
 | 
			
		||||
		// If only one directory deep assume "github.com"
 | 
			
		||||
		case 1:
 | 
			
		||||
			projectPath = filepath.Clean(srcPath + "github.com" + string(os.PathSeparator) + inputPath)
 | 
			
		||||
			projectPath = filepath.Join(srcPath, "github.com", inputPath)
 | 
			
		||||
			return
 | 
			
		||||
		case 2:
 | 
			
		||||
			projectPath = filepath.Clean(srcPath + inputPath)
 | 
			
		||||
			projectPath = filepath.Join(srcPath, inputPath)
 | 
			
		||||
			return
 | 
			
		||||
		default:
 | 
			
		||||
			er("Unknown directory")
 | 
			
		||||
@ -167,12 +167,12 @@ func guessProjectPath() {
 | 
			
		||||
		if projectBase == "" {
 | 
			
		||||
			x, err := getWd()
 | 
			
		||||
			if err == nil {
 | 
			
		||||
				projectPath = filepath.Clean(x + string(os.PathSeparator) + inputPath)
 | 
			
		||||
				projectPath = filepath.Join(x, inputPath)
 | 
			
		||||
				return
 | 
			
		||||
			}
 | 
			
		||||
			er(err)
 | 
			
		||||
		} else {
 | 
			
		||||
			projectPath = filepath.Clean(srcPath + projectBase + string(os.PathSeparator) + inputPath)
 | 
			
		||||
			projectPath = filepath.Join(srcPath, projectBase, inputPath)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user