Introduction
Papyrus - A rust REPL and script running tool.
This project is no longer maintained.
For a similar REPL tool with a refreshing way to interact with data, checkout the
ogma
Project
See the rs docs and the guide. Look at progress and contribute on github.
papyrus=> 2+2
papyrus [out0]: 4
Overview
Papyrus creates a Rust REPL in your terminal. Code can be typed in, line by line with feedback on the evaluation, or code can be injected via stdin handles. Each code snippet is evaluated on an expression based system, so terminating with a semi-colon requires more input.
Example
[lib] papyrus=> 2+2
papyrus [out0]: 4
[lib] papyrus=> println!("Hello, world!");
[lib] papyrus.> out0 * out0
Hello, world!
papyrus [out1]: 16
[lib] papyrus=> :help
help -- prints the help messages
cancel | c -- returns to the root class
exit -- sends the exit signal to end the interactive loop
Classes:
edit -- Edit previous input
mod -- Handle modules
Actions:
mut -- Begin a mutable block of code
[lib] papyrus=> :exit
[lib] papyrus=> Thanks for using papyrus!
Installation
Papyrus can be installed from crates.io
or building from source on github.
The default installation feature set requires a nightly
toolchain, but stable
can be used with
fewer features enabled.
To install with all features:
rustup toolchain add nightly
cargo +nightly install papyrus
To install on stable without racer completion:
cargo +stable install papyrus --no-default-features --features="format,runnable"
Requirements
Features
Papyrus has features sets:
- format: format code snippets using
rustfmt
- racer-completion: enable code completion using
racer
. Requires a nightly compiler - runnable: papyrus can be run, without needing to manually handle repl states and output
All features are enabled by default.
Cargo
Papyrus leverages installed binaries of both cargo
and rustc
. This requirement may lift in the
future but for now, any user wanting to use Papyrus will need an installation of Rust.