diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-10-07 16:51:13 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-10-07 16:51:13 +0800 |
commit | 27528ad3d2c5a1816bc6305cbe434d6254bd52c2 (patch) | |
tree | ef291a0a4d91948b0461432738bb6f8cc810344c | |
parent | f8786defd042f173f3e30f79a751a54950602d11 (diff) | |
parent | 8636f0e1c326c88bee636cc269da660e954b96b1 (diff) | |
download | go-tangerine-27528ad3d2c5a1816bc6305cbe434d6254bd52c2.tar go-tangerine-27528ad3d2c5a1816bc6305cbe434d6254bd52c2.tar.gz go-tangerine-27528ad3d2c5a1816bc6305cbe434d6254bd52c2.tar.bz2 go-tangerine-27528ad3d2c5a1816bc6305cbe434d6254bd52c2.tar.lz go-tangerine-27528ad3d2c5a1816bc6305cbe434d6254bd52c2.tar.xz go-tangerine-27528ad3d2c5a1816bc6305cbe434d6254bd52c2.tar.zst go-tangerine-27528ad3d2c5a1816bc6305cbe434d6254bd52c2.zip |
Merge pull request #1851 from bas-vk/historyfile
console/history respect datadir
-rw-r--r-- | cmd/geth/js.go | 17 | ||||
-rw-r--r-- | cmd/geth/main.go | 1 |
2 files changed, 7 insertions, 11 deletions
diff --git a/cmd/geth/js.go b/cmd/geth/js.go index 3e3600705..b5ec82b57 100644 --- a/cmd/geth/js.go +++ b/cmd/geth/js.go @@ -145,7 +145,7 @@ func apiWordCompleter(line string, pos int) (head string, completions []string, return begin, completionWords, end } -func newLightweightJSRE(libPath string, client comms.EthereumClient, interactive bool) *jsre { +func newLightweightJSRE(libPath string, client comms.EthereumClient, datadir string, interactive bool) *jsre { js := &jsre{ps1: "> "} js.wait = make(chan *big.Int) js.client = client @@ -161,14 +161,14 @@ func newLightweightJSRE(libPath string, client comms.EthereumClient, interactive js.prompter = dumbterm{bufio.NewReader(os.Stdin)} } else { lr := liner.NewLiner() - js.withHistory(func(hist *os.File) { lr.ReadHistory(hist) }) + js.withHistory(datadir, func(hist *os.File) { lr.ReadHistory(hist) }) lr.SetCtrlCAborts(true) js.loadAutoCompletion() lr.SetWordCompleter(apiWordCompleter) lr.SetTabCompletionStyle(liner.TabPrints) js.prompter = lr js.atexit = func() { - js.withHistory(func(hist *os.File) { hist.Truncate(0); lr.WriteHistory(hist) }) + js.withHistory(datadir, func(hist *os.File) { hist.Truncate(0); lr.WriteHistory(hist) }) lr.Close() close(js.wait) } @@ -203,14 +203,14 @@ func newJSRE(ethereum *eth.Ethereum, libPath, corsDomain string, client comms.Et js.prompter = dumbterm{bufio.NewReader(os.Stdin)} } else { lr := liner.NewLiner() - js.withHistory(func(hist *os.File) { lr.ReadHistory(hist) }) + js.withHistory(ethereum.DataDir, func(hist *os.File) { lr.ReadHistory(hist) }) lr.SetCtrlCAborts(true) js.loadAutoCompletion() lr.SetWordCompleter(apiWordCompleter) lr.SetTabCompletionStyle(liner.TabPrints) js.prompter = lr js.atexit = func() { - js.withHistory(func(hist *os.File) { hist.Truncate(0); lr.WriteHistory(hist) }) + js.withHistory(ethereum.DataDir, func(hist *os.File) { hist.Truncate(0); lr.WriteHistory(hist) }) lr.Close() close(js.wait) } @@ -433,12 +433,7 @@ func hidepassword(input string) string { } } -func (self *jsre) withHistory(op func(*os.File)) { - datadir := common.DefaultDataDir() - if self.ethereum != nil { - datadir = self.ethereum.DataDir - } - +func (self *jsre) withHistory(datadir string, op func(*os.File)) { hist, err := os.OpenFile(filepath.Join(datadir, "history"), os.O_RDWR|os.O_CREATE, os.ModePerm) if err != nil { fmt.Printf("unable to open history file: %v\n", err) diff --git a/cmd/geth/main.go b/cmd/geth/main.go index fa9beafd0..1889cb2f2 100644 --- a/cmd/geth/main.go +++ b/cmd/geth/main.go @@ -429,6 +429,7 @@ func attach(ctx *cli.Context) { repl := newLightweightJSRE( ctx.GlobalString(utils.JSpathFlag.Name), client, + ctx.GlobalString(utils.DataDirFlag.Name), true, ) |