File: main.go

package info (click to toggle)
golang-github-tdewolff-argp 0.0~git20250430.0f54527-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 172 kB
  • sloc: makefile: 3
file content (36 lines) | stat: -rw-r--r-- 803 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package main

import (
	"fmt"

	"github.com/tdewolff/argp"
)

func main() {
	var verbose int
	var input string
	var output string
	var files []string
	size := 512 // default value

	cmd := argp.New("CLI tool description")
	cmd.AddOpt(argp.Count{&verbose}, "v", "verbose", "Increase verbosity, eg. -vvv")
	cmd.AddOpt(&output, "o", "output", "Output file name")
	cmd.AddOpt(&size, "", "size", "Image size")
	cmd.AddArg(&input, "input", "Input file name")
	cmd.AddRest(&files, "files", "Additional files")
	cmd.Parse()

	fmt.Printf("verbose: %v\n", verbose)
	fmt.Printf("input: %q\n", input)
	fmt.Printf("output: %q\n", output)
	fmt.Printf("size: %v\n", size)
	fmt.Printf("files: []string{")
	for i, file := range files {
		if i > 0 {
			fmt.Print(", ")
		}
		fmt.Printf("%q", file)
	}
	fmt.Println("}")
}