commit | 7fb3e64728058525f5940d913d0b854474dcd66a | [log] [tgz] |
---|---|---|
author | Matt Boersma <matt@sprout.org> | Thu Apr 24 20:22:17 2014 -0600 |
committer | Matt Boersma <matt@sprout.org> | Mon May 26 11:55:17 2014 -0600 |
tree | 5719515e1f0d1a48330848f9de840a5b46c9d684 | |
parent | a7ddcdd6c75497c4d046d0a299dbdd4c5536b7a8 [diff] |
tests(ci): add coverage reporting to tests and upload to coveralls.io
An implementation of docopt in the Go programming language.
docopt helps you create beautiful command-line interfaces easily:
package main
import (
"fmt"
"github.com/docopt/docopt-go"
)
func main() {
usage := `Naval Fate.
Usage:
naval_fate ship new <name>...
naval_fate ship <name> move <x> <y> [--speed=<kn>]
naval_fate ship shoot <x> <y>
naval_fate mine (set|remove) <x> <y> [--moored|--drifting]
naval_fate -h | --help
naval_fate --version
Options:
-h --help Show this screen.
--version Show version.
--speed=<kn> Speed in knots [default: 10].
--moored Moored (anchored) mine.
--drifting Drifting mine.`
arguments, _ := docopt.Parse(usage, nil, true, "Naval Fate 2.0", false)
fmt.Println(arguments)
}
docopt parses command-line arguments based on a help message. Don't write parser code: a good help message already has all the necessary information in it.
⚠ Use the alias “docopt-go”. To use docopt in your Go code:
import "github.com/docopt/docopt-go"
To install docopt according to your $GOPATH
:
$ go get github.com/docopt/docopt-go
func Parse(doc string, argv []string, help bool, version string,
optionsFirst bool, exit ...bool) (map[string]interface{}, error)
Parse argv
based on the command-line interface described in doc
.
Given a conventional command-line help message, docopt creates a parser and processes the arguments. See https://github.com/docopt/docopt#help-message-format for a description of the help message format. If argv
is nil
, os.Args[1:]
is used.
docopt returns a map of option names to the values parsed from argv
, and an error or nil
.
More documentation for docopt is available at GoDoc.org.
All tests from the Python version are implemented and passing at Travis CI. New language-agnostic tests have been added to test_golang.docopt.
To run tests for docopt-go, use go test
.