ccli icon indicating copy to clipboard operation
ccli copied to clipboard

Command line parsing in go, with coloring support 🌈

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)
	}
}