@@ -20,10 +20,10 @@ const (
2020)
2121
2222type Prompt struct {
23- Ask string
24- Prompt string
25- PromptTpl * Tpl
26- FuncMap template.FuncMap
23+ Config
24+ Ask string
25+ Prompt string
26+ FuncMap template.FuncMap
2727
2828 isFirstRun bool
2929
@@ -34,7 +34,7 @@ type Prompt struct {
3434 errorMsg * template.Template
3535}
3636
37- type Tpl struct {
37+ type Config struct {
3838 AskTpl string
3939 PromptTpl string
4040 ValidTpl string
@@ -43,8 +43,8 @@ type Tpl struct {
4343 CheckListener func (line []rune ) error
4444}
4545
46- func NewDefaultTpl (check func (line []rune ) error ) * Tpl {
47- return & Tpl {
46+ func NewDefaultConfig (check func (line []rune ) error ) Config {
47+ return Config {
4848 AskTpl : DefaultAskTpl ,
4949 PromptTpl : DefaultPromptTpl ,
5050 InvalidTpl : DefaultInvalidTpl ,
@@ -54,27 +54,27 @@ func NewDefaultTpl(check func(line []rune) error) *Tpl {
5454 }
5555}
5656
57- func NewDefaultPrompt (check func (line []rune ) error , ask string ) * Prompt {
58- return & Prompt {
59- Ask : ask ,
60- Prompt : DefaultPrompt ,
61- PromptTpl : NewDefaultTpl ( check ) ,
62- FuncMap : FuncMap ,
57+ func NewDefaultPrompt (check func (line []rune ) error , ask string ) Prompt {
58+ return Prompt {
59+ Ask : ask ,
60+ Prompt : DefaultPrompt ,
61+ FuncMap : FuncMap ,
62+ Config : NewDefaultConfig ( check ) ,
6363 }
6464}
6565
6666func (p * Prompt ) prepareTemplates () {
6767
6868 var err error
69- p .ask , err = template .New ("" ).Funcs (FuncMap ).Parse (p .PromptTpl . AskTpl )
69+ p .ask , err = template .New ("" ).Funcs (FuncMap ).Parse (p .AskTpl )
7070 util .CheckAndExit (err )
71- p .prompt , err = template .New ("" ).Funcs (FuncMap ).Parse (p .PromptTpl . PromptTpl )
71+ p .prompt , err = template .New ("" ).Funcs (FuncMap ).Parse (p .PromptTpl )
7272 util .CheckAndExit (err )
73- p .valid , err = template .New ("" ).Funcs (FuncMap ).Parse (p .PromptTpl . ValidTpl )
73+ p .valid , err = template .New ("" ).Funcs (FuncMap ).Parse (p .ValidTpl )
7474 util .CheckAndExit (err )
75- p .invalid , err = template .New ("" ).Funcs (FuncMap ).Parse (p .PromptTpl . InvalidTpl )
75+ p .invalid , err = template .New ("" ).Funcs (FuncMap ).Parse (p .InvalidTpl )
7676 util .CheckAndExit (err )
77- p .errorMsg , err = template .New ("" ).Funcs (FuncMap ).Parse (p .PromptTpl . ErrorMsgTpl )
77+ p .errorMsg , err = template .New ("" ).Funcs (FuncMap ).Parse (p .ErrorMsgTpl )
7878 util .CheckAndExit (err )
7979
8080}
@@ -121,7 +121,7 @@ func (p *Prompt) Run() string {
121121
122122 l .Config .SetListener (func (line []rune , pos int , key rune ) (newLine []rune , newPos int , ok bool ) {
123123 // Real-time verification
124- if err = p .PromptTpl . CheckListener (line ); err != nil {
124+ if err = p .CheckListener (line ); err != nil {
125125 l .SetPrompt (string (invalidPrompt ))
126126 l .Refresh ()
127127 } else {
@@ -139,7 +139,7 @@ func (p *Prompt) Run() string {
139139 }
140140 s , err := l .Readline ()
141141 util .CheckAndExit (err )
142- if err = p .PromptTpl . CheckListener ([]rune (s )); err != nil {
142+ if err = p .CheckListener ([]rune (s )); err != nil {
143143 fmt .Print (clearLine )
144144 fmt .Println (string (render (p .errorMsg , DefaultErrorMsgPrefix + err .Error ())))
145145 p .isFirstRun = false
0 commit comments