1package readline 2 3type opPassword struct { 4 o *Operation 5 backupCfg *Config 6} 7 8func newOpPassword(o *Operation) *opPassword { 9 return &opPassword{o: o} 10} 11 12func (o *opPassword) ExitPasswordMode() { 13 o.o.SetConfig(o.backupCfg) 14 o.backupCfg = nil 15} 16 17func (o *opPassword) EnterPasswordMode(cfg *Config) (err error) { 18 o.backupCfg, err = o.o.SetConfig(cfg) 19 return 20} 21 22func (o *opPassword) PasswordConfig() *Config { 23 return &Config{ 24 EnableMask: true, 25 InterruptPrompt: "\n", 26 EOFPrompt: "\n", 27 HistoryLimit: -1, 28 Painter: &defaultPainter{}, 29 30 Stdout: o.o.cfg.Stdout, 31 Stderr: o.o.cfg.Stderr, 32 } 33} 34