Skip to content

Commit

Permalink
fix(store): apply corrections to aid ease of use (#217)
Browse files Browse the repository at this point in the history
fix(clif): correct postional types (#217)

fix(clif): rename present to specified (#217)

fix(clif): rename self to parent (#217)

fix(store): rename FilterParameterSet to PolyFilterParameterSet (#217)

fix(store): add optional additional flagset parameter to BindAll (#217)

fix(store): redefine filter families (#217)

fix(store): redefine short filter flag names (#217)
  • Loading branch information
plastikfan committed Oct 24, 2023
1 parent 3c3a802 commit 6448fc9
Show file tree
Hide file tree
Showing 17 changed files with 497 additions and 166 deletions.
6 changes: 6 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
{
"cSpell.words": [
"argh",
"avfs",
"beezledub",
"bindnative",
"bodyclose",
"clif",
"cobrass",
"cogen",
"colors",
"Comparables",
Expand All @@ -26,13 +28,15 @@
"gogen",
"goimports",
"gola",
"gomega",
"gomnd",
"gosec",
"gosimple",
"govet",
"gradientf",
"gradientsf",
"ineffassign",
"Infexion",
"ipaddress",
"ipmask",
"ipnet",
Expand All @@ -43,6 +47,7 @@
"nicksnyder",
"nolint",
"nolintlint",
"onsi",
"paramset",
"prealloc",
"psname",
Expand All @@ -51,6 +56,7 @@
"refl",
"repotoken",
"Selectf",
"snivilised",
"staticcheck",
"structcheck",
"stylecheck",
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/snivilised/cobrass

go 1.19
go 1.21

require (
github.com/avfs/avfs v0.33.0
Expand Down
15 changes: 15 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,15 @@ github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
Expand Down Expand Up @@ -96,6 +98,7 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
Expand Down Expand Up @@ -127,6 +130,7 @@ github.com/google/pprof v0.0.0-20230406165453-00490a63f317/go.mod h1:79YE0hCXdHa
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4=
github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
Expand All @@ -144,15 +148,19 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
github.com/natefinch/lumberjack v2.0.0+incompatible h1:4QJd3OLAMgj7ph+yZTuX13Ld4UpgHp07nNdFX7mqFfM=
github.com/natefinch/lumberjack v2.0.0+incompatible/go.mod h1:Wi9p2TTF5DG5oU+6YfsmYQpsTIOm0B1VNzQg9Mw6nPk=
github.com/nicksnyder/go-i18n/v2 v2.2.1 h1:aOzRCdwsJuoExfZhoiXHy4bjruwCMdt5otbYojM/PaA=
github.com/nicksnyder/go-i18n/v2 v2.2.1/go.mod h1:fF2++lPHlo+/kPaj3nB0uxtPwzlPm+BlgwGX7MkeGj0=
github.com/onsi/ginkgo/v2 v2.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4=
Expand All @@ -166,9 +174,11 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/sagikazarmark/locafero v0.3.0 h1:zT7VEGWC2DTflmccN/5T1etyKvxSxpHsjb9cJvm4SvQ=
github.com/sagikazarmark/locafero v0.3.0/go.mod h1:w+v7UsPNFwzF1cHuOajOOzoq4U7v/ig1mpRjqV+Bu1U=
Expand All @@ -179,6 +189,7 @@ github.com/samber/lo v1.38.1/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXn
github.com/snivilised/extendio v0.3.0 h1:lGy33940icaEd20gaDp6nm4ch3FfpMXJUrqpyvWax0E=
github.com/snivilised/extendio v0.3.0/go.mod h1:GZI0mupBlnKu7qXvmvD/slpCa6CxQgQLdD5mvmtsbig=
github.com/snivilised/lorax v0.4.1 h1:4WBPYFeAObXXloBGDnzQPMMS3nb+XuuhdCeaVF2aHLM=
github.com/snivilised/lorax v0.4.1/go.mod h1:dFRNvQzKSewjabVEfnigGETf0Xx1cD21+d01QNwIbWM=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY=
Expand Down Expand Up @@ -218,6 +229,7 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo=
go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
Expand Down Expand Up @@ -263,6 +275,7 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
Expand Down Expand Up @@ -517,9 +530,11 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
Expand Down
38 changes: 27 additions & 11 deletions public-cobrass-clif-api.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,31 @@ type (
// ThirdPartyFlagName raw name of a flag, ie without the leading --/-
ThirdPartyFlagName = clif.ThirdPartyFlagName

// ThirdPartyPositional represents a positional argument
ThirdPartyPositional = clif.ThirdPartyPositional

// ThirdPartyPositionalArgs represents a collection of third party
// positional arguments.
ThirdPartyPositionalArgs = clif.ThirdPartyPositionalArgs

// ThirdPartyOptionValue the string value of an option. Since this option
// is being delegated to a third party command, it does not have to be
// of a particular native go type and can be composed from a go type
// using the value's String() method.
ThirdPartyOptionValue = clif.ThirdPartyOptionValue

// PresentFlagsCollection represents the set of third party flags
// SpecifiedFlagsCollection represents the set of third party flags
// presented by the user on the command line.
// (NB: Cobra does not currently have a mechanism to collect third
// party flags, by convention, anything that follows " -- "), therefore
// we need to collect and handle these flags/options explicitly,
// which is less than ideal.
// A difference between PresentFlagsCollection and ThirdPartyCommandLine
// is that switch flags have a true/false option value in PresentFlagsCollection
// A difference between SpecifiedFlagsCollection and ThirdPartyCommandLine
// is that switch flags have a true/false option value in SpecifiedFlagsCollection
// but not in ThirdPartyCommandLine.
PresentFlagsCollection = clif.PresentFlagsCollection
SpecifiedFlagsCollection = clif.SpecifiedFlagsCollection

// ThirdPartyPresentFlags (see PresentFlagsCollection)
// ThirdPartyPresentFlags (see SpecifiedFlagsCollection)
ThirdPartyPresentFlags = clif.ThirdPartyPresentFlags

// KnownByCollection collection maps a full flag name to the
Expand All @@ -35,7 +42,7 @@ type (
KnownByCollection = clif.KnownByCollection

// ThirdPartyFlagKnownBy (see KnownByCollection).
ThirdPartyFlagKnownBy = clif.ThirdPartyFlagKnownBy
ThirdPartyFlagKnownBy = clif.ThirdPartyFlagsKnownBy

// ThirdPartyCommandLine represents the collection of flags
// used to invoke a third party command. This collection
Expand All @@ -57,12 +64,21 @@ type (
)

var (
// Evaluate merges the secondary command line with the present flags.
// The flags that occur in present take precedence over those in
// Evaluate merges the secondary command line with the specified flags.
// The flags that occur in specified take precedence over those in
// secondary. There is a slight complication caused by the fact that
// a flag in the present set may be in the secondary set but in the opposite
// form; eg a flag may be in its short from in present but in long form
// in secondary. This is resolved by the knownBy set. The present set
// a flag in the specified set may be in the secondary set but in the opposite
// form; eg a flag may be in its short from in specified but in long form
// in secondary. This is resolved by the knownBy set. The specified set
// contains flags in their bare long form (bare as in without dash prefix).
Evaluate = clif.Evaluate

// Expand returns a slice of strings representing the positional arguments and
// flags/options to be executed by the third party program. before and flags
// are represented as a ThirdPartyCommandLine. This means that they can be
// represented by any slice of strings. However, since before represents
// positional args, those args are not expected to include any flags. Those
// flags would be specified in the flags parameter. after is optional and
// again represents further positional arguments.
Expand = clif.Expand
)
2 changes: 1 addition & 1 deletion src/assistant/option-validator-container_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ var _ = Describe("ValidatorContainer", func() {
var paramSet *assistant.ParamSet[WidgetParameterSet]

Context("NewValidatorContainer", func() {
When("options not present", func() {
When("options not specified", func() {
It("🧪 should: create ValidatorContainer with default options", func() {
validators = assistant.NewValidatorContainer()
Expect(validators).ToNot(BeNil())
Expand Down
2 changes: 1 addition & 1 deletion src/assistant/param-set_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ var _ = Describe("ParamSet (manual)", func() {
// special scenario, not auto generated
//
Entry(nil, TcEntry{
Message: "bool type flag is NOT present",
Message: "bool type flag is NOT specified",
Binder: func() {
paramSet.BindBool(
assistant.NewFlagInfo("concise ensures that output is compressed", "c", false),
Expand Down
16 changes: 8 additions & 8 deletions src/clif/evaluate.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ type (
bare string
optionValue string
existingCL ThirdPartyCommandLine
presentFlags PresentFlagsCollection
presentFlags SpecifiedFlagsCollection
knownBy KnownByCollection
}

Expand Down Expand Up @@ -92,14 +92,14 @@ func notInPresent(input *tokenInput) *handleTokenResult {
return result
}

// Evaluate merges the secondary command line with the present flags.
// The flags that occur in present take precedence over those in
// Evaluate merges the secondary command line with the specified flags.
// The flags that occur in specified take precedence over those in
// secondary. There is a slight complication caused by the fact that
// a flag in the present set may be in the secondary set but in the opposite
// form; eg a flag may be in its short from in present but in long form
// in secondary. This is resolved by the knownBy set. The present set
// a flag in the specified set may be in the secondary set but in the opposite
// form; eg a flag may be in its short from in specified but in long form
// in secondary. This is resolved by the knownBy set. The specified set
// contains flags in their bare long form.
func Evaluate(presentFlags PresentFlagsCollection,
func Evaluate(presentFlags SpecifiedFlagsCollection,
knownBy KnownByCollection,
secondaryCL ThirdPartyCommandLine,
) ThirdPartyCommandLine {
Expand Down Expand Up @@ -168,7 +168,7 @@ func split(token string) (string, string) { //nolint:gocritic // pedant
return lead, bare
}

func spreadFlags(presentFlags PresentFlagsCollection) ThirdPartyCommandLine {
func spreadFlags(presentFlags SpecifiedFlagsCollection) ThirdPartyCommandLine {
commandLine := ThirdPartyCommandLine{}

for _, flag := range presentFlags.Keys() {
Expand Down
Loading

0 comments on commit 6448fc9

Please sign in to comment.