Code Monkey home page Code Monkey logo

goplayspace's People

Contributors

bbrks avatar damienstanton avatar iafan avatar johanbrandhorst avatar philippgille avatar rspier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

goplayspace's Issues

Preserve newlines on copy-paste

Compare the copy-paste output of https://goplay.space/#sELgya5VUCI to https://play.golang.org/p/sELgya5VUCI. The newlines are preserved on copy-paste using the official playground. They are not preserved using goplayspace. This was tested on a Mac running v10.14.5 of macOS Mojave. Other system details can be provided upon request (locale, keyboard layout, browser(s) tested, etc.).

I recommend using a <span> instead of a <div> for the stdout since this seems to fix the issue. I'm a bit busy to implement this, but I can take care of this if everyone else is in a similar boat. Please advise.

I'd be curious to know why this is happening, too (corollary: why <span> seems to fix the issue).

Add setting to toggle auto-pairing of quote and braces

The auto-pairing is painful. When I type func f(){} I end up with func f(){}}). When I type m["b"] I end up with m["b"]"]. I'm spending equal time typing code and backspacing over typos I didn't type.
I recognize that some coders are accustomed to this behavior but I don't think it should default to enabled.

Redo doesn't work with native keyboard shortcut

In Mac, undo and redo shortcuts are Cmd+Z and Cmd+Shift+Z respectively, however goplayspace only obeys to the former. The latter does nothing, and I've seen redo works via Cmd+Y. I'm aware you are implementing a custom undo/redo stack, so this is probably something related to keyboard shortcut binding.

new gopherjs version error

./build-client && ./build-server
cannot find package "github.com/gopherjs/vecty" in any of:
	/opt/go/src/github.com/gopherjs/vecty (from $GOROOT)
	/home/tamer/code/go/src/github.com/gopherjs/vecty (from $GOPATH)

Support setting config through query strings

I'm trying to embed https://goplay.space in an interactive training course and due to the "ShowSidebar" option being enabled by default, it doesn't render very nice until the user configures it within the iframe.

Would it be possible to support query strings for setting the config?

Help customizing

Sorry for creating an issue for this, but how do I go about customizing goplayspace?
For example,

  • Changing app name to "Go" instead of "The Go Play Space"
  • Removing the right window i.e, the "About Go Play Space" window
  • Changing theme default to Dark and removing all other themes.

Cert error when visiting goplay.space

I'm getting a NET::ERR_CERT_AUTHORITY_INVALID error when first accessing https://goplay.space/ in chrome 60.0.3112.90 (Official Build) (64-bit) on a windows 10 machine. I get the same error in Firefox 53.0 (32-bit) and ssl labs says that this is due to a missing intermediate cert:

https://www.ssllabs.com/ssltest/analyze.html?d=goplay.space

There are workarounds available in the browsers now (add security exception, etc) but it's probably better to fix the certs in case the browsers block the workaround in later versions.

Feature request: Turtle graphics: Add fast mode(s)

Turtle graphics mode is a lovely feature in goplayspace. However, it can appear to be slow at times.

It would be great to add support for a fast mode that is controlled by the code itself. This would not only be useful if a fast drawing is desired, but also for debugging.

As a suggestion, fast mode could be specified as an option to draw mode - for example, draw mode fasttab. This could be equivalent to continuously hitting Tab on the drawing board. Another option could be draw mode fastshift which would be equivalent to keeping the Shift-key pressed in the drawing.

Other options are also possible, such as draw mode final - which is like a super fast mode and shows the final drawing as fast as possible i.e. without showing the intervening steps.

Caret lagging behind

When I move the caret around, by clicking or by using the arrow keys, the caret takes some time (up to ~1 second) to actually display at the right place.
Happening on firefox 93 running on Windows 10. No issue on chromium 81

build-client is failing

I am running Go 1.8.3 on macOS 10.12.5.

build-client returns the following error:

cannot find package "fmt" in any of:
	/usr/local/Cellar/go/1.8.1/libexec/src/fmt (from $GOROOT)
	/Users/damien/go/src/fmt (from $GOPATH)

build-server runs without issue.

Install fails

On a DO droplet, CentOS 7.3, Go 1.9


[root@123 tmp]# go get -u github.com/gopherjs/gopherjs
[root@123 tmp]# go get -u github.com/gopherjs/vecty
[root@123 tmp]# go get -u github.com/iafan/goplayspace/...
# github.com/iafan/goplayspace/client/component/log
/root/Projects/golang/src/github.com/iafan/goplayspace/client/component/log/log.go:34:29: undefined: vecty.MarkupOrComponentOrHTML
/root/Projects/golang/src/github.com/iafan/goplayspace/client/component/log/log.go:38:16: undefined: vecty.MarkupOrComponentOrHTML


[root@123 tmp]# cd $GOPATH/src/github.com/iafan/goplayspace/bin
[root@123 bin]# ./build-client && ./build-server
component/log/log.go:34:29: MarkupOrComponentOrHTML not declared by package vecty
component/log/log.go:38:16: MarkupOrComponentOrHTML not declared by package vecty
component/log/log.go:111:12: cannot use l.getEvents() (value of type []invalid type) as []github.com/gopherjs/vecty.MarkupOrChild value in argument to elem.Div
gzip: client.js: No such file or directory
gzip: client.js.map: No such file or directory


Consider mentioning go play-space browser extension on readme

Hello, shameless plug here ๐Ÿ˜Œ.

I created the browser extension Go Ground2Space [Source-code]. The extension automatically opens the equivalent go play-space url instead of a given go-playground url.
(Note that, for now, it only supports chrome/edge but there are plans for supporting other popular browsers in future)

This extension is targeted mainly at people who are frequent or exclusive users of go play-space (instead of go-playground). It is convenient for them since, whenever they click on a random playground link somewhere (or someone shares one with them), they can rest assured that it will open up with syntax highlighting goodness!

I thought that it might be useful for such users to know that such an extension exists. Would you consider noting the existence of the extension somewhere on your repo or readme?

Add hotkey for sharing

I am not sure why it was not added but I think it would be quite nice to also get a hotkey to share snippet from keyboard.

resizing panels not working

Hi.
The two panels (code and 'About Go Play Space') are separated by a component that should allow change their size, but it's not working. I tried in Firefox and Chrome.

Thanks

Support generics

Currently goplay.space doesn't support generics, it would be cool if it did.

I see however that it hasn't had a commit in a long time.

FeatureRequest: Add tabs

I found recently that I want to try multiple different things at once. It would be wonderful if the placespace supported editor tabs.

workarounds I can do but prefer not to.

  • open another playspace browser tab ( in an already cluttered browser... )
  • save the script as a share link ( need to manage a list.. )
  • erase one script and start another.. ( lose the code I was testing previously )

Some thoughts regarding possible implementation:

  • allow tabs to compile together ( interesting idea, although I personally do not need it )
  • allow tabs to compile apart ( definitely would like to see. )
  • each tab has a separate share link ( would prefer )
  • all tabs ( workspace ) have a common share link ( interesting do not need )
  • output pane is saved per tab

Failing to build client because a dependency is missing

When following the instructions in README to compile goplayspace, I got the following error:

cannot find package "github.com/gopherjs/vecty" in any of:
        /usr/local/opt/go/libexec/src/github.com/gopherjs/vecty (from $GOROOT)
        /Users/xliao/go/src/github.com/gopherjs/vecty (from $GOPATH)
gzip: can't stat: client.js (client.js): No such file or directory
gzip: can't stat: client.js.map (client.js.map): No such file or directory

allow users to hide sidebar

And then save that option next time user comes back to the site.

I have already read it and I just want to see the code. Thank you.

binary constants are not accepted

Binary const declaration like const b = 0b100 does not work.

package main

import (
	"fmt"
)

func main() {
	const a = 100
	const b = 0b100

	fmt.Println(a + b)
}

This code reports an error message while it should run properly:

9:13: expected ';', found 'IDENT' b100 (and 2 more errors)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.