MCPcopy
hub / github.com/cli/cli / formatSpecialQualifiers

Function formatSpecialQualifiers

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

Source from the content-addressed store, hash-verified

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

Callers 1

Calls 3

groupWithORFunction · 0.85
quoteFunction · 0.85
ContainsMethod · 0.80

Tested by

no test coverage detected