Skip to content

Commit 0a68bce

Browse files
committed
Cancel if project dir already exists
1 parent 00de321 commit 0a68bce

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

commands/new.go

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,35 @@ func New() error {
2727
}
2828
}
2929

30+
projectName, err := input.Input("Project name:")
31+
if err != nil {
32+
return err
33+
}
34+
35+
if _, err := os.Stat(projectName); err == nil {
36+
return fmt.Errorf("Project '%s' already exists.", projectName)
37+
}
38+
39+
err = os.MkdirAll(projectName, 0755)
40+
if err != nil {
41+
return err
42+
}
43+
3044
switch project {
3145
case "server":
32-
return newServer()
46+
return newServer(projectName)
3347
case "client":
34-
return newClient()
48+
return newClient(projectName)
3549
default:
3650
return fmt.Errorf("Unknown project type: %s", project)
3751
}
3852
}
3953

40-
func newServer() error {
54+
func newServer(projectName string) error {
4155
return errors.New("Not implemented.")
4256
}
4357

44-
func newClient() error {
58+
func newClient(projectName string) error {
4559
url, err := input.Input("Enter the URL of the game server:")
4660
if err != nil {
4761
return err
@@ -66,16 +80,6 @@ func newClient() error {
6680
return err
6781
}
6882

69-
projectName, err := input.Input("Project name:")
70-
if err != nil {
71-
return err
72-
}
73-
74-
err = os.MkdirAll(projectName, 0755)
75-
if err != nil {
76-
return err
77-
}
78-
7983
var language string
8084
if pflag.NArg() >= 3 {
8185
language = strings.ToLower(pflag.Arg(2))

0 commit comments

Comments
 (0)