From bc291f2bc1f256dc396b687c39bf8f349be016c3 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Thu, 30 Nov 2023 01:06:57 +0100 Subject: Add documentation for GetLong --- opts.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/opts.go b/opts.go index b8c8b07..71518e4 100644 --- a/opts.go +++ b/opts.go @@ -112,6 +112,21 @@ func Get(args []string, optstr string) (flags []Flag, optind int, err error) { return flags, i, nil } +// GetLong parses the command-line arguments in args according to opts. +// +// This function is identical to [Get] except it parses according to a +// [LongOpt] slice instead of an opt-string, and it parses long-options. +// When parsing, GetLong will also accept incomplete long-options if they +// are ambiguous. For example, given the following definition of opts: +// +// opts := []LongOpt{ +// {Short: 'a', Long: "add", Arg: None}, +// {Short: 'd', Long: "delete", Arg: None}, +// {Short: 'D', Long: "defer", Arg: None}, +// } +// +// The options ‘--a’ and ‘--ad’ will parse as ‘--add’. The option ‘--de’ +// will not parse however as it is ambiguous. func GetLong(args []string, opts []LongOpt) (flags []Flag, optind int, err error) { if len(args) == 0 { return -- cgit v1.2.3