github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/gnovm/cmd/gno/main.go (about)

     1  package main
     2  
     3  import (
     4  	"context"
     5  	"os"
     6  
     7  	"github.com/gnolang/gno/tm2/pkg/commands"
     8  )
     9  
    10  func main() {
    11  	cmd := newGnocliCmd(commands.NewDefaultIO())
    12  
    13  	cmd.Execute(context.Background(), os.Args[1:])
    14  }
    15  
    16  func newGnocliCmd(io commands.IO) *commands.Command {
    17  	cmd := commands.NewCommand(
    18  		commands.Metadata{
    19  			ShortUsage: "<subcommand> [flags] [<arg>...]",
    20  			LongHelp:   "Runs the gno development toolkit",
    21  		},
    22  		commands.NewEmptyConfig(),
    23  		commands.HelpExec,
    24  	)
    25  
    26  	cmd.AddSubCommands(
    27  		newModCmd(io),
    28  		newTestCmd(io),
    29  		newLintCmd(io),
    30  		newRunCmd(io),
    31  		newTranspileCmd(io),
    32  		newCleanCmd(io),
    33  		newReplCmd(),
    34  		newDocCmd(io),
    35  		newEnvCmd(io),
    36  		newBugCmd(io),
    37  		// fmt -- gofmt
    38  		// graph
    39  		// vendor -- download deps from the chain in vendor/
    40  		// list -- list packages
    41  		// render -- call render()?
    42  		// publish/release
    43  		// generate
    44  		// "vm" -- starts an in-memory chain that can be interacted with?
    45  		// version -- show cmd/gno, golang versions
    46  	)
    47  
    48  	return cmd
    49  }