MCPcopy Create free account
hub / github.com/docopt/docopt.go / parseOutput

Function parseOutput

docopt_test.go:1499–1519  ·  view source on GitHub ↗

parseOutput wraps the Parse() function to also return stdout

(doc string, argv []string, help bool, version string,
	optionsFirst bool)

Source from the content-addressed store, hash-verified

1497
1498// parseOutput wraps the Parse() function to also return stdout
1499func parseOutput(doc string, argv []string, help bool, version string,
1500 optionsFirst bool) (map[string]interface{}, string, error) {
1501 stdout := os.Stdout
1502 r, w, _ := os.Pipe()
1503 os.Stdout = w
1504
1505 args, err := Parse(doc, argv, help, version, optionsFirst, false)
1506
1507 outChan := make(chan string)
1508 go func() {
1509 var buf bytes.Buffer
1510 io.Copy(&buf, r)
1511 outChan <- buf.String()
1512 }()
1513
1514 w.Close()
1515 os.Stdout = stdout
1516 output := <-outChan
1517
1518 return args, output, err
1519}
1520
1521var debugEnabled = false
1522

Callers 2

TestDocoptFunction · 0.85
TestIssue40Function · 0.85

Calls 2

ParseFunction · 0.85
StringMethod · 0.45

Tested by

no test coverage detected