MCPcopy
hub / github.com/cli/cli / Choose

Method Choose

pkg/cmd/pr/shared/templates.go:184–211  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

182}
183
184func (m *templateManager) Choose() (Template, error) {
185 if err := m.memoizedFetch(); err != nil {
186 return nil, err
187 }
188 if len(m.templates) == 0 {
189 return nil, nil
190 }
191
192 names := make([]string, len(m.templates))
193 for i, t := range m.templates {
194 names[i] = t.Name()
195 }
196
197 blankOption := "Open a blank issue"
198 if m.isPR {
199 blankOption = "Open a blank pull request"
200 }
201
202 selectedOption, err := m.prompter.Select("Choose a template", "", append(names, blankOption))
203 if err != nil {
204 return nil, fmt.Errorf("could not prompt: %w", err)
205 }
206
207 if selectedOption == len(names) {
208 return nil, nil
209 }
210 return m.templates[selectedOption], nil
211}
212
213func (m *templateManager) Select(name string) (Template, error) {
214 if err := m.memoizedFetch(); err != nil {

Callers 4

createRunFunction · 0.80
createRunFunction · 0.80

Calls 4

memoizedFetchMethod · 0.95
NameMethod · 0.65
SelectMethod · 0.65
ErrorfMethod · 0.65

Tested by 2