main.go (47 lines of code) (raw):

package main import ( "os" "github.com/mitchellh/cli" "github.com/Azure/azapi-lsp/internal/cmd" ) func main() { c := &cli.CLI{ Name: "azapi-lsp", Version: VersionString(), Args: os.Args[1:], HelpWriter: os.Stdout, } ui := &cli.ColoredUi{ ErrorColor: cli.UiColorRed, WarnColor: cli.UiColorYellow, Ui: &cli.BasicUi{ Writer: os.Stdout, Reader: os.Stdin, ErrorWriter: os.Stderr, }, } c.Commands = map[string]cli.CommandFactory{ "completion": func() (cli.Command, error) { return &cmd.CompletionCommand{ Ui: ui, }, nil }, "serve": func() (cli.Command, error) { return &cmd.ServeCommand{ Ui: ui, Version: VersionString(), }, nil }, "version": func() (cli.Command, error) { return &cmd.VersionCommand{ Ui: ui, Version: VersionString(), }, nil }, } exitStatus, err := c.Run() if err != nil { ui.Error("Error: " + err.Error()) } os.Exit(exitStatus) }