Nessuna descrizione

Lucas Stadler c962abfb45 split the `-addr` flag into separate host and port flags 11 anni fa
..
bin 36b6baed3f supporting c might be a good idea 11 anni fa
.gitignore 44106d5cbd use codemirror for syntax highlighting 11 anni fa
LICENSE bee0d232b6 add a license and a readme 11 anni fa
Makefile cb7fef2a21 fix syntax highlighting for julia 11 anni fa
README.md 469f6af424 add a `help` command, document `run` in the readme 11 anni fa
linguaevalia.go c962abfb45 split the `-addr` flag into separate host and port flags 11 anni fa

README.md

Lingua evalia

A tiny web service that runs code for you. You open it, start writing code immediately and then run it. What you don't do is worry about file names, which command it was you had to use to run the code and so on.

Just write the code.

Quickstart

  • go get github.com/heyLu/lp/go/linguaevalia
  • $GOPATH/bin/linguaevalia
  • visit http://localhost:8000 and start writing code (press ctrl-enter to run the code)

Essentially just need go, but to run code in other languages, you need to have them installed as well.

Languages

(In order of adding them.)

  • go
  • python
  • ruby
  • javascript
  • haskell
  • rust
  • julia
  • pixie
  • c
  • bash
  • lua

Adding more is relatively simple: If there is a command that runs code in a language given a file, just add the appropriate line and a corresponding mapping to languageMappings.

If there isn't, you can either write a wrapper to do that (similar to the one for rust) or you can implement the Language interface.

Additional commands

linguaevalia can also be used to run programs directly, instead of using the server:

$ linguaevalia run hello-world.rb
Hello, World!
# or alternatively:
$ cat hello-world.rb | linguaevalia run -l ruby
Hello, World!

When passing code to the run command via stdin, you must set the language to be used using the -l flag as well. If a file name is passed, the type is inferred from the extension, but you can override it with -l if you want.

Development setup

~ $ git clone git://github.com/heyLu/lp
~ $ cd lp/go/linguaevalia
~/lp/go/linguaevalia $ make               # download codemirror
~/lp/go/linguaevalia $ go run

Alternatively, replace go run with qst linguaevalia.go, to restart the server automatically if linguaevalia.go changes.

Contributions and feedback welcome!

Tell me what you do with it, when it helped you, what you're missing.

Have fun!

License

MIT