Skip to content

xuwei-k/scastie

 
 

Repository files navigation

Scala pastebin.

https://scastie.org

Goals

  • enhance communication and collaborative debugging by providing extensive insight in pasted code
  • fast and easy to use, no ads, no registration

Current Features

  • highlighting with Scala X-Ray
  • reusing sbt instances for fast compilation
  • running in sandbox with sbt
  • apply scalariform and linter to paste
  • building with sbt, with support for inline dependency specification (see https://github.com/harrah/xsbt/wiki/Scripts, only libraryDependencies, scalaVersion, resolvers, scalacOptions, sbtPlugin settings are allowed)
  • distributes workload amongst multiple sbt instances (including remote)
  • realtime update of paste compilation/running progress
  • timeout long-running pastes
  • allow deleting and cloning pastes
  • allow specifying scala version
  • provide several useful templates (e.g. scalaz, akka, play, scala 2.10)

Plans

  • detect pastes to gist.github.com pastie.net pastebin.com etc with multibot and copy to scastie
  • interface for uploading pre-sxred libraries
  • linking with lots of sxr-processed libraries
  • support execution of tests
  • link stacktraces and compilation errors to source
  • optionally load linked sources side-by-side with paste
  • evaluate pastes with no dependencies in multibot
  • generate seo friendly names from paste content
  • support repl mode (one paste can depend on another)
  • cloning pastes akin to github gists

Why it does it this way, benefits and drawbacks