Skip to content

Commit

Permalink
简化 wa 命令行界面
Browse files Browse the repository at this point in the history
  • Loading branch information
chai2010 committed Jul 22, 2023
1 parent ca0b095 commit 340a1aa
Show file tree
Hide file tree
Showing 9 changed files with 98 additions and 138 deletions.
4 changes: 2 additions & 2 deletions Makefile
Expand Up @@ -26,8 +26,8 @@ ci-test-all:
go run main.go test std
@echo "== std ok =="

go run main.go ./waroot/hello.wa
cd waroot && go run ../main.go hello.wa
go run main.go run ./waroot/hello.wa
cd waroot && go run ../main.go run hello.wa

make -C ./waroot/examples ci-test-all

Expand Down
40 changes: 0 additions & 40 deletions internal/app/app_utils.go

This file was deleted.

148 changes: 74 additions & 74 deletions internal/app/main.go
Expand Up @@ -28,11 +28,6 @@ func Main() {
cliApp.Version = waroot.GetVersion()

cliApp.Flags = []cli.Flag{
&cli.StringFlag{
Name: "target",
Usage: fmt.Sprintf("set target os (%s)", strings.Join(config.WaOS_List, "|")),
Value: config.WaOS_Default,
},
&cli.BoolFlag{
Name: "debug",
Aliases: []string{"d"},
Expand All @@ -46,10 +41,6 @@ func Main() {
}

cliApp.Before = func(c *cli.Context) error {
if !config.CheckWaOS(c.String("target")) {
fmt.Printf("unknown target: %s\n", c.String("target"))
os.Exit(1)
}
if c.Bool("debug") {
config.SetDebugMode()
}
Expand All @@ -59,12 +50,9 @@ func Main() {
return nil
}

// 没有参数时对应 run 命令
// 没有参数时显示 help 信息
cliApp.Action = func(c *cli.Context) error {
if c.NArg() < 1 {
cli.ShowAppHelpAndExit(c, 0)
}
cliRun(c)
cli.ShowAppHelpAndExit(c, 0)
return nil
}

Expand All @@ -90,9 +78,40 @@ func Main() {
return nil
},
},

{
Name: "play",
Usage: "the Wa playground",
Flags: []cli.Flag{
&cli.StringFlag{
Name: "http",
Value: ":2023",
Usage: "set http address",
},
&cli.StringFlag{
Name: "target",
Usage: fmt.Sprintf("set target os (%s)", strings.Join(config.WaOS_List, "|")),
Value: config.WaOS_Default,
},
&cli.StringFlag{
Name: "tags",
Usage: "set build tags",
},
},
Action: func(c *cli.Context) error {
waApp := NewApp(build_Options(c))
err := waApp.Playground(c.String("http"))
if err != nil {
fmt.Println(err)
os.Exit(1)
}
return nil
},
},

{
Name: "init",
Usage: "init a sketch wa module",
Usage: "init a sketch Wa module",
ArgsUsage: "app-name",
Flags: []cli.Flag{
&cli.StringFlag{
Expand Down Expand Up @@ -124,25 +143,6 @@ func Main() {
return nil
},
},
{
Name: "run",
Usage: "compile and run Wa program",
Flags: []cli.Flag{
&cli.StringFlag{
Name: "target",
Usage: fmt.Sprintf("set target os (%s)", strings.Join(config.WaOS_List, "|")),
Value: config.WaOS_Default,
},
&cli.StringFlag{
Name: "tags",
Usage: "set build tags",
},
},
Action: func(c *cli.Context) error {
cliRun(c)
return nil
},
},
{
Name: "build",
Usage: "compile Wa source code",
Expand Down Expand Up @@ -218,9 +218,41 @@ func Main() {
},
},
{
Hidden: true,
Name: "test",
Usage: "test packages",
Name: "run",
Usage: "compile and run Wa program",
Flags: []cli.Flag{
&cli.StringFlag{
Name: "target",
Usage: fmt.Sprintf("set target os (%s)", strings.Join(config.WaOS_List, "|")),
Value: config.WaOS_Default,
},
&cli.StringFlag{
Name: "tags",
Usage: "set build tags",
},
},
Action: func(c *cli.Context) error {
cliRun(c)
return nil
},
},
{
Name: "fmt",
Usage: "format Wa source code file",
Action: func(c *cli.Context) error {
waApp := NewApp(new(Option))
err := waApp.Fmt(c.Args().First())
if err != nil {
fmt.Println(err)
os.Exit(1)
}
return nil
},
},

{
Name: "test",
Usage: "test Wa packages",
Flags: []cli.Flag{
&cli.StringFlag{
Name: "target",
Expand All @@ -246,7 +278,7 @@ func Main() {
{
Hidden: true,
Name: "native",
Usage: "compile wa source code to native executable",
Usage: "compile Wa source code to native executable",
Flags: []cli.Flag{
&cli.StringFlag{
Name: "output",
Expand Down Expand Up @@ -374,40 +406,7 @@ func Main() {
return nil
},
},
{
Name: "fmt",
Usage: "format Wa source code file",
Action: func(c *cli.Context) error {
waApp := NewApp(build_Options(c))
err := waApp.Fmt(c.Args().First())
if err != nil {
fmt.Println(err)
os.Exit(1)
}
return nil
},
},

{
Name: "play",
Usage: "run wa playground server",
Flags: []cli.Flag{
&cli.StringFlag{
Name: "http",
Value: ":2023",
Usage: "set http address",
},
},
Action: func(c *cli.Context) error {
waApp := NewApp(build_Options(c))
err := waApp.Playground(c.String("http"))
if err != nil {
fmt.Println(err)
os.Exit(1)
}
return nil
},
},
{
Hidden: true,
Name: "doc",
Expand Down Expand Up @@ -465,8 +464,9 @@ func Main() {
},

{
Name: "lsp",
Usage: "run wa lang server",
Hidden: true,
Name: "lsp",
Usage: "run Wa langugage server",
Flags: []cli.Flag{
&cli.StringFlag{
Name: "log-file",
Expand All @@ -482,7 +482,7 @@ func Main() {

{
Name: "logo",
Usage: "print wa-lang text format logo",
Usage: "print Wa text format logo",
Flags: []cli.Flag{
&cli.BoolFlag{
Name: "more",
Expand Down
12 changes: 6 additions & 6 deletions waroot/examples/Makefile
Expand Up @@ -23,12 +23,12 @@ ci-test-all:
# snake
cd ./snake && make publish

go run ../../main.go copy.wa
go run ../../main.go eq.wa
go run ../../main.go interface_named.wa
go run ../../main.go short-var.wa
go run ../../main.go strbytes.wa
go run ../../main.go struct.wa
go run ../../main.go run copy.wa
go run ../../main.go run eq.wa
go run ../../main.go run interface_named.wa
go run ../../main.go run short-var.wa
go run ../../main.go run strbytes.wa
go run ../../main.go run struct.wa

@echo "== examples ok =="

Expand Down
2 changes: 1 addition & 1 deletion waroot/examples/arduino-wat/Makefile
@@ -1,7 +1,7 @@
# 版权 @2022 凹语言 作者。保留所有权利。

default:
go run ../../../main.go -target=arduino hello.wat
go run ../../../main.go run -target=arduino hello.wat

clean:
-rm *.wasm
2 changes: 1 addition & 1 deletion waroot/examples/arduino/Makefile
@@ -1,5 +1,5 @@
default:
go run ../../../main.go -target=arduino app.wa
go run ../../../main.go run -target=arduino app.wa

build:
go run ../../../main.go build -target=arduino app.wa
Expand Down
2 changes: 1 addition & 1 deletion waroot/examples/expr/Makefile
Expand Up @@ -2,7 +2,7 @@

default:
go run ../../../main.go yacc -l -p=expr -c="copyright.txt" -o="y.wa" expr.y
go run ../../../main.go y.wa
go run ../../../main.go run y.wa

clean:
-rm y.* a.out*
24 changes: 12 additions & 12 deletions waroot/examples/misc/Makefile
@@ -1,18 +1,18 @@
# 版权 @2023 凹语言 作者。保留所有权利。

default:
go run ../../../main.go array.wa
go run ../../../main.go array_1.wa
go run ../../../main.go closure.wa
go run ../../../main.go global.wa
go run ../../../main.go heart.wa
go run ../../../main.go multi_ret.wa
#go run ../../../main.go native_test.wa
go run ../../../main.go prime.wa
go run ../../../main.go ref.wa
go run ../../../main.go slice.wa
go run ../../../main.go string.wa
go run ../../../main.go struct.wa
go run ../../../main.go run array.wa
go run ../../../main.go run array_1.wa
go run ../../../main.go run closure.wa
go run ../../../main.go run global.wa
go run ../../../main.go run heart.wa
go run ../../../main.go run multi_ret.wa
#go run ../../../main.go run native_test.wa
go run ../../../main.go run prime.wa
go run ../../../main.go run ref.wa
go run ../../../main.go run slice.wa
go run ../../../main.go run string.wa
go run ../../../main.go run struct.wa

clean:

2 changes: 1 addition & 1 deletion waroot/examples/surface/Makefile
@@ -1,4 +1,4 @@
default:
go run ../../../main.go surface.wa
go run ../../../main.go run surface.wa

clean:

0 comments on commit 340a1aa

Please sign in to comment.