Skip to content

billf/gore

 
 

Repository files navigation

gore Build Status

Yet another Go REPL that works nicely. Featured with line editing, code completion, and more.

Screencast

(Screencast taken with cho45/KeyCast)

Usage

gore

After a prompt is shown, enter any Go expressions/statements or commands described below.

To quit the session, type Ctrl-D.

Features

  • Line editing with history

  • Multiline inputs

  • Package importing with completion

  • Evaluates any expressions or statements

  • No "evaluated but not used"

  • Code completion (requires gocode)

  • Pretty printing (pp or spew recommended)

  • Showing documents (requires godoc)

  • Auto-importing

REPL Commands

Some functionalities are provided as colon-commands:

:import <package path>  Import package
:print                  Show current source
:ssa                    Show SSA IR representation of current source
:write [<filename>]     Write out current source to file
:doc <expr or pkg>      Show document (requires godoc)
:help                   List commands
:quit                   Quit the session

Installation

gore uses Go toolchains, so I don’t provide binaries.

go get -u github.com/motemen/gore

Make sure $GOPATH/bin is in your $PATH.

Also recommended:

go get -u github.com/nsf/gocode
go get -u github.com/k0kubun/pp # or github.com/davecgh/go-spew
go get -u golang.org/x/tools/cmd/godoc

FAQ/Caveats

  • If you see too many arguments in call to mainScope.LookupParent while installing gore, run go get -u golang.org/x/tools/go/types.

  • gore runs code using go run for each input. If you have entered time-consuming code, gore will run it for each input and take some time.

TODO

  • Undoing input

  • Configuration

  • :write completion

  • Direct editing of code

  • Using external sources

  • API

License

Author

motemen <motemen@gmail.com>

About

Yet another Go REPL that works nicely. Featured with line editing, code completion, and more.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%