Skip to content

Command line parsing in go, with coloring support ๐ŸŒˆ

License

Notifications You must be signed in to change notification settings

saschagrunert/ccli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ccli ๐ŸŒˆ

Build Status godoc ccli godoc ccli

Command line parsing in go, with coloring support

This project uses the already existing go package cli and adds additional coloring support to it. Some strong defaults are provided as well.

screenshot

Usage

Install the package with:

go get github.com/saschagrunert/ccli

Afterwards it can be used like the cli package:

package main

import (
	"fmt"
	"os"
	"time"

	"github.com/saschagrunert/ccli"
	"github.com/urfave/cli/v2"
)

func main() {
	app := ccli.NewApp()
	app.Name = "AppName"
	app.Usage = "App usage..."
	app.Version = "0.1.0"
	app.Description = "Application description"
	app.Copyright = fmt.Sprintf("ยฉ %d Some Company", time.Now().Year())
	app.Authors = []cli.Author{{Name: "Name", Email: "[email protected]"}}
	app.Flags = []cli.Flag{
		cli.StringFlag{
			Name:  "lang",
			Value: "english",
			Usage: "language for the greeting",
		},
	}
	app.Action = func(c *cli.Context) error {
		fmt.Println("boom! I say!")
		return nil
	}
	if err := app.Run(os.Args); err != nil {
		os.Exit(1)
	}
}