added batch mode to console
This commit is contained in:
		
							parent
							
								
									6f5c6150b7
								
							
						
					
					
						commit
						2a0528303f
					
				| @ -30,6 +30,7 @@ import ( | |||||||
| 
 | 
 | ||||||
| 	"sort" | 	"sort" | ||||||
| 
 | 
 | ||||||
|  | 	"github.com/codegangsta/cli" | ||||||
| 	"github.com/ethereum/go-ethereum/cmd/utils" | 	"github.com/ethereum/go-ethereum/cmd/utils" | ||||||
| 	"github.com/ethereum/go-ethereum/common/docserver" | 	"github.com/ethereum/go-ethereum/common/docserver" | ||||||
| 	re "github.com/ethereum/go-ethereum/jsre" | 	re "github.com/ethereum/go-ethereum/jsre" | ||||||
| @ -329,7 +330,28 @@ func (self *jsre) welcome(ipcpath string) { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (self *jsre) interactive() { | func (self *jsre) batch(args cli.Args) { | ||||||
|  | 	statement := strings.Join(args, " ") | ||||||
|  | 
 | ||||||
|  | 	val, err := self.re.Run(statement) | ||||||
|  | 
 | ||||||
|  | 	if err != nil { | ||||||
|  | 		fmt.Printf("error: %v", err) | ||||||
|  | 	} else if val.IsDefined() { | ||||||
|  | 		fmt.Printf("%v", val) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if self.atexit != nil { | ||||||
|  | 		self.atexit() | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	self.re.Stop(false) | ||||||
|  | 	 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (self *jsre) interactive(ipcpath string) { | ||||||
|  | 	self.welcome(ipcpath) | ||||||
|  | 
 | ||||||
| 	// Read input lines.
 | 	// Read input lines.
 | ||||||
| 	prompt := make(chan string) | 	prompt := make(chan string) | ||||||
| 	inputln := make(chan string) | 	inputln := make(chan string) | ||||||
|  | |||||||
| @ -40,7 +40,7 @@ const ( | |||||||
| var ( | var ( | ||||||
| 	gitCommit       string // set via linker flag
 | 	gitCommit       string // set via linker flag
 | ||||||
| 	nodeNameVersion string | 	nodeNameVersion string | ||||||
| 	app             = utils.NewApp(Version, "the ether console") | 	app             = utils.NewApp(Version, "the geth console") | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| func init() { | func init() { | ||||||
| @ -93,8 +93,11 @@ func main() { | |||||||
| func run(ctx *cli.Context) { | func run(ctx *cli.Context) { | ||||||
| 	jspath := ctx.GlobalString(utils.JSpathFlag.Name) | 	jspath := ctx.GlobalString(utils.JSpathFlag.Name) | ||||||
| 	ipcpath := utils.IpcSocketPath(ctx) | 	ipcpath := utils.IpcSocketPath(ctx) | ||||||
| 
 |  | ||||||
| 	repl := newJSRE(jspath, ipcpath) | 	repl := newJSRE(jspath, ipcpath) | ||||||
| 	repl.welcome(ipcpath) | 
 | ||||||
| 	repl.interactive() | 	if ctx.Args().Present() { | ||||||
|  | 		repl.batch(ctx.Args()) | ||||||
|  | 	} else { | ||||||
|  | 		repl.interactive(ipcpath) | ||||||
|  | 	} | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user