gore

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

Github stars Tracking Chart

gore CI Status

Screencast

(Screencast taken with cho45/KeyCast)

Usage

gore

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

To quit the session, type Ctrl-D or use :q command.

Features

  • Line editing with history
  • Multi-line input
  • Package importing with completion
  • Evaluates any expressions, statements and function declarations
  • No "evaluated but not used" errors
  • Code completion (requires gocode)
  • Showing documents
  • Auto-importing (gore -autoimport)

REPL Commands

Some functionalities are provided as commands in the REPL:

:import <package path>  Import package
:type <expr>            Print the type of expression
:print                  Show current source
:write [<filename>]     Write out current source to file
:clear                  Clear the codes
:doc <expr or pkg>      Show document
:help                   List commands
:quit                   Quit the session

Supported Versions

Only the latest major version.

Installation

The gore command requires Go tool-chains on runtime, so standalone binary is not distributed.

go get -u github.com/motemen/gore/cmd/gore

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

Also recommended:

go get -u github.com/mdempsky/gocode   # for code completion

FAQ/Caveats

  • gore runs code using go run for each input. All the inputted lines are
    evaluated again and again so you can't bind the evaluated time by
    time.Now(), for example. If you don't like this behavior, you may want to use
    yaegi.
  • gore support Go modules. You can load local modules when you start gore at
    the project directory. You don't need to go get to check the usage of a
    remote repository, :import github.com/... will automatically download that
    module. Also, you don't need to go get the pretty print module anymore. If
    you want to load a local code from $GOPATH, you need to create the modules
    file (go mod init ...) and then start gore at the project directory.

License

The MIT License.

Author

motemen <motemen@gmail.com>

Main metrics

Overview
Name With Ownerx-motemen/gore
Primary LanguageGo
Program languageGo (Language Count: 3)
Platform
License:MIT License
所有者活动
Created At2015-02-11 13:45:04
Pushed At2025-02-27 07:18:24
Last Commit At
Release Count19
Last Release Namev0.6.0 (Posted on )
First Release Namev0.2.0 (Posted on )
用户参与
Stargazers Count5.3k
Watchers Count55
Fork Count151
Commits Count480
Has Issues Enabled
Issues Count98
Issue Open Count6
Pull Requests Count119
Pull Requests Open Count0
Pull Requests Close Count11
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private