goplayspace

Advanced Go Playground frontend written in Go, with syntax highlighting, turtle graphics mode, and more

Github stars Tracking Chart

About Go Play Space

Go Play Space is an experimental alternative Go Playground
frontend that is built in Go itself (using GopherJS),
a Go→JavaScript transpiler, and Vecty,
a React-like frontend library for GopherJS).

Try it: https://goplay.space

demo

Go Play Space supports the Turtle graphics mode to help visualize algorithms and make learning experience more fun.

draw mode demo

Features

  1. Syntax highlighting, auto-closing braces and quotes, proper undo/redo, auto indentation
  2. Smart help lookup: double-click on e.g. package keyword
    or Println function name in source code, and you will see
    the relevant help topic.
  3. Live syntax error checking
  4. Error line highlighting (both for syntax errors and for errors
    returned from the compiler)
  5. Ability to highlight lines and blocks of code (like on Github, but better!) —
    just click on the line numbers. Use Shift and Ctrl
    to modify the selection
  6. Keyboard shortcuts (see button captions)
  7. Support for several UI themes
  8. Support for Fira Code font
    (either the one installed in your system or a webfont)
  9. go imports is always run before running your code, so you don't usually
    have to worry about imports at all

Code execution is proxied to the official Go Playground, so your programs will work the same.
Shared snippets are also stored on golang.org servers.

Running Locally

Download the package:

$ go get -u github.com/iafan/goplayspace/...

Compile both client-side code and server binary:

$ cd $GOPATH/src/github.com/iafan/goplayspace/bin
$ ./build-client && ./build-server

Run the server:

$ ./goplayspace

Then open http://localhost:8080/ in your browser.

Troubleshooting

If you have trouble compiling the client, please make sure you have the latest version of GopherJS installed by running go get -u github.com/gopherjs/gopherjs (see #6)

Feedback

Feel free to provide your feedback, suggestions or bug reports here in the bug tracker, or message @afan in the Gophers Slack channel.

Credits

Gopher vector logo by Takuya Ueda,
licensed under the Creative Commons 3.0 Attributions license and based
on original artwork by Renee French.
See https://github.com/golang-samples/gopher-vector

Go proverbs: Rob Pike

Main metrics

Overview
Name With Owneriafan/goplayspace
Primary LanguageGo
Program languageShell (Language Count: 4)
Platform
License:Other
所有者活动
Created At2017-06-05 04:26:49
Pushed At2022-05-06 20:02:31
Last Commit At2020-08-17 21:50:10
Release Count0
用户参与
Stargazers Count1k
Watchers Count15
Fork Count64
Commits Count60
Has Issues Enabled
Issues Count43
Issue Open Count26
Pull Requests Count5
Pull Requests Open Count0
Pull Requests Close Count2
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private