diff options
author | Vidhu Kant Sharma <vidhukant@vidhukant.xyz> | 2022-06-15 12:59:22 +0530 |
---|---|---|
committer | Vidhu Kant Sharma <vidhukant@vidhukant.xyz> | 2022-06-15 12:59:22 +0530 |
commit | ab3db8a4ca89293ce0928177e8845d622f13755f (patch) | |
tree | e5331856b39b43cfea422f806aa046b0925e92e4 /ui/input.go | |
parent | 5eb7a3cd41826fccdc432d049dd85a31b4b56073 (diff) |
added pretty template for TextInput
Diffstat (limited to 'ui/input.go')
-rw-r--r-- | ui/input.go | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/ui/input.go b/ui/input.go index 0aa2f06..a334943 100644 --- a/ui/input.go +++ b/ui/input.go @@ -33,14 +33,49 @@ func TextInput(label, errMessage string) string { return nil } + template := &p.PromptTemplates { + Valid: "\x1b[0m{{ . | magenta }}", + Invalid: "\x1b[0m{{ . | magenta }}\x1b[31m", + Success: "{{ . | cyan }}", + } + + prompt := p.Prompt { + Label: label, + Validate: validate, + Templates: template,} + res, err := prompt.Run() + if err != nil { + fmt.Println("Failed to run input prompt.", err.Error()) + os.Exit(1) + } + + return res +} + +func PasswordInput(label, errMessage string) string { + validate := func(input string) error { + if input == "" { + return errors.New(errMessage) + } + return nil + } + + template := &p.PromptTemplates { + Valid: "{{ . | cyan }}", + Invalid: "{{ . | cyan }}", + Success: "{{ . | blue }}", + } + prompt := p.Prompt { Label: label, + Templates: template, Validate: validate, + Mask: '*', } res, err := prompt.Run() if err != nil { - fmt.Println("Failed to run TextInput Prompt.", err.Error()) + fmt.Println("Failed to run input prompt.", err.Error()) os.Exit(1) } |