MCPcopy
hub / github.com/go-task/task / Prompt

Method Prompt

internal/logger/logger.go:189–217  ·  view source on GitHub ↗
(color Color, prompt string, defaultValue string, continueValues ...string)

Source from the content-addressed store, hash-verified

187}
188
189func (l *Logger) Prompt(color Color, prompt string, defaultValue string, continueValues ...string) error {
190 if l.AssumeYes {
191 l.Outf(color, "%s [assuming yes]\n", prompt)
192 return nil
193 }
194
195 if !l.AssumeTerm && !term.IsTerminal() {
196 return ErrNoTerminal
197 }
198
199 if len(continueValues) == 0 {
200 return errors.New("no continue values provided")
201 }
202
203 l.Outf(color, "%s [%s/%s]: ", prompt, strings.ToLower(continueValues[0]), strings.ToUpper(defaultValue))
204
205 reader := bufio.NewReader(l.Stdin)
206 input, err := reader.ReadString('\n')
207 if err != nil {
208 return err
209 }
210
211 input = strings.TrimSpace(strings.ToLower(input))
212 if !slices.Contains(continueValues, input) {
213 return ErrPromptCancelled
214 }
215
216 return nil
217}
218
219func (l *Logger) PrintExperiments() error {
220 w := tabwriter.NewWriter(l.Stdout, 0, 8, 0, ' ', 0)

Callers 4

readTaskfileMethod · 0.45
promptDepsVarsMethod · 0.45
promptTaskVarsMethod · 0.45
RunTaskMethod · 0.45

Calls 3

OutfMethod · 0.95
IsTerminalFunction · 0.92
NewFunction · 0.92

Tested by

no test coverage detected