jsre: leave out lines from history containing methods of the personal module

This commit is contained in:
zelig 2015-07-31 11:51:18 +02:00
parent e7f4232b10
commit 6628eeb6ca

@ -23,6 +23,7 @@ import (
"os"
"os/signal"
"path/filepath"
"regexp"
"strings"
"sort"
@ -44,6 +45,10 @@ import (
"github.com/robertkrimen/otto"
)
var passwordRegexp = regexp.MustCompile("personal.[nu]")
const passwordRepl = ""
type prompter interface {
AppendHistory(string)
Prompt(p string) (string, error)
@ -413,8 +418,10 @@ func (self *jsre) interactive() {
str += input + "\n"
self.setIndent()
if indentCount <= 0 {
hist := str[:len(str)-1]
self.AppendHistory(hist)
hist := hidepassword(str[:len(str)-1])
if len(hist) > 0 {
self.AppendHistory(hist)
}
self.parseInput(str)
str = ""
}
@ -422,6 +429,14 @@ func (self *jsre) interactive() {
}
}
func hidepassword(input string) string {
if passwordRegexp.MatchString(input) {
return passwordRepl
} else {
return input
}
}
func (self *jsre) withHistory(op func(*os.File)) {
datadir := common.DefaultDataDir()
if self.ethereum != nil {