Skip to content

cmyr/RustPlayground

Repository files navigation

Rust Playground for MacOS

status: experimental / pre-release / guaranteed buggy

The Rust Playground for MacOS is a standalone native mac application that allows quickly editing and testing rust snippets.

Rust Playground Screenshot

installation

You can download a disk image of a recent build on the releases page.

requirements

The playground requires rustup, and allows code to be run with any installed toolchain. note: Rustup must currently be in the default directory, $HOME/.rustup.

install from source (requires Xcode)

  • clone this repository
  • cd in to the RustPlayground directory
  • run xcodebuild from the command line
  • copy build/Release/Rust Playground.app to your Applications directory

About

This project is based on a fork of the xi-editor core. It is intended largely as an experimental offshoot of xi; a narrowly scoped editor frontend that can be used to experiment with various design decisions.

Document state is handled in rust; the swift frontend interfaces with the rust code via FFI.

Features

  • syntax highlighting
  • font selection
  • auto-indent
  • comment toggling
  • line breaking
  • extern crates (with a hacky custom syntax for declaring imports)
  • use any installed toolchains

Known issues

  • Performance is not great; it is expected that documents are only ever a few hundred lines.
  • Drawing is hacky. We may draw ghost selections.

TODO

  • export to gist / web playground
  • export to new cargo project?
  • rustfmt / clippy
  • multiple documents, saving snippets?
  • ASM / IR output

One day, maybe

Thanks

to the xi-editor contributors, to Jake Goulding for the excellent play.rust-lang.org implementation, and to the Rust community at large.