| 249 | } |
| 250 | |
| 251 | func (p *huhPrompter) buildMarkdownEditorForm(prompt string, blankAllowed bool) (*huh.Form, *string) { |
| 252 | var result string |
| 253 | skipOption := "skip" |
| 254 | launchOption := "launch" |
| 255 | options := []huh.Option[string]{ |
| 256 | huh.NewOption(fmt.Sprintf("Launch %s", surveyext.EditorName(p.editorCmd)), launchOption), |
| 257 | } |
| 258 | if blankAllowed { |
| 259 | options = append(options, huh.NewOption("Skip", skipOption)) |
| 260 | } |
| 261 | |
| 262 | form := p.newForm( |
| 263 | huh.NewGroup( |
| 264 | huh.NewSelect[string](). |
| 265 | Title(prompt). |
| 266 | Options(options...). |
| 267 | Value(&result), |
| 268 | ), |
| 269 | ) |
| 270 | return form, &result |
| 271 | } |
| 272 | |
| 273 | func (p *huhPrompter) MarkdownEditor(prompt, defaultValue string, blankAllowed bool) (string, error) { |
| 274 | form, result := p.buildMarkdownEditorForm(prompt, blankAllowed) |