Skip to content

cloverstd/parse-string-argv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Go Report Card codecov

Introduction

The parse-string-argv package can parse string cmd to argv list like os.Argv, and you can use flag or other flag parse library like pflag.

Installation and usage

go get github.com/cloverstd/parse-string-argv

Example

package main

import (
	"flag"
	"fmt"
	"log"

	"github.com/cloverstd/parse-string-argv"
)

func Example() {
	cmd := `json -o output.json -i "input1.json input2.json" -rule-list rule.json -g`

	argv, err := stringargv.Parse(cmd)
	if err != nil {
		log.Fatalf("cannot parse cmd: %s", cmd)
	}

	output := flag.String("o", "default-output.json", "")
	input := flag.String("i", "default-input.json", "")
	ruleList := flag.String("rule-list", "default-rule-list.json", "")
	global := flag.Bool("g", false, "")

	// Be sure to remember to parse argv if you need
	// use flag.CommandLine.Parse
	// flag.Parse will parse the os.Argv
	flag.CommandLine.Parse(argv[1:])

	fmt.Println(*output)
	fmt.Println(*input)
	fmt.Println(*ruleList)
	fmt.Println(*global)
}

This example will generate the following output:

output.json
input1.json input2.json
rule.json
true

About

parse-string-argv support parse string cmd to argv list

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published