Other Args

Other arguments passed to your application are accessible within actions using cli.OtherArgs():

package main

import (
	"fmt"

	"github.com/leaanthony/clir"
)

func main() {

	// Create new cli
	cli := clir.NewCli("Other Args", "Access other arguments", "v0.0.1")

	// Set long description
	cli.LongDescription("This app shows how to access non-flag arguments")

	// Name
	var name string
	cli.StringFlag("name", "Your name", &name)

	// Define action
	cli.Action(func() error {
		println("Your name is", name)
		fmt.Printf("The remaining arguments were: %+v\n", cli.OtherArgs())
		return nil
	})

	// Run!
	cli.Run()

}

Running this command prints the following:

$ ./otherargs -name test other args
Your name is test
The remaining arguments were: [other args]

Cli.OtherArgs() []string

The OtherArgs method returns all arguments to the application that are not handled by the defined flags. NOTE: This will only return correct values if accessed in an Action.