MCPcopy Create free account
hub / github.com/cli/cli / formatSpecialQualifiers

Function formatSpecialQualifiers

pkg/search/query.go:188–225  ·  view source on GitHub ↗
(qualifier string, vs []string, specialGroupsToOR [][]string)

Source from the content-addressed store, hash-verified

186}
187
188func formatSpecialQualifiers(qualifier string, vs []string, specialGroupsToOR [][]string) []string {
189 specialGroups := make([][]string, len(specialGroupsToOR))
190 rest := make([]string, 0, len(vs))
191 for _, v := range vs {
192 var isSpecial bool
193 for i, subValuesToOR := range specialGroupsToOR {
194 if slices.Contains(subValuesToOR, v) {
195 specialGroups[i] = append(specialGroups[i], v)
196 isSpecial = true
197 break
198 }
199 }
200
201 if isSpecial {
202 continue
203 }
204
205 rest = append(rest, v)
206 }
207
208 all := make([]string, 0, len(specialGroups)+len(rest))
209
210 for _, group := range specialGroups {
211 if len(group) == 0 {
212 continue
213 }
214 all = append(all, groupWithOR(qualifier, group))
215 }
216
217 if len(rest) > 0 {
218 for _, v := range rest {
219 all = append(all, fmt.Sprintf("%s:%s", qualifier, quote(v)))
220 }
221 }
222
223 slices.Sort(all)
224 return all
225}
226
227func groupWithOR(qualifier string, vs []string) string {
228 if len(vs) == 0 {

Callers 1

Calls 3

groupWithORFunction · 0.85
quoteFunction · 0.85
ContainsMethod · 0.80

Tested by

no test coverage detected