Expand description
papyrus
A rust REPL and script running tool
See the rs docs and the usage guide Look at progress and contribute on github.
Installation
papyrus
depends on proc-macro2
and syn
which contains features that are only available on a nightly compiler. Further to this, the features are underneath a config flag, so compiling requires the RUSTFLAGS
environment variable to include --cfg procmacro2_semver_exempt
.
Switch to a nightly compiler.
rustup default nightly
Linux, Mac
RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install papyrus
Windows
$env:RUSTFLAGS="--cfg procmacro2_semver_exempt"
cargo install papyrus
REPL
papyrus run
will start the repl!
Shell Context Menu
Add right click context menu. (May need admin rights)
papyrus rc-add
Remove right click context menu. (May need admin rights)
papyrus rc-remove
Run papyrus from command line.
papyrus run path_to_src_file.rs
papyrus run path_to_script_file.rscript
Implementation Notes
- Right click on a
.rs
or.rscript
file and chooseRun with Papyrus
to compile and run code! - Papyrus will take the contents of the source code and construct a directory to be used with
cargo
. For now the directory is created under a.papyrus
directory in the users home directory. - The compiled binary will be executed with the current directory the one that houses the file. So
env::current_dir()
will return the directory of the.rs
or.rscript
file.
Example - .rs
File hello.rs
.
extern crate some_crate;
fn main() {
println!("Hello, world!");
}
Use papyrus to execute code.
papyrus run hello.rs
The src/main.rs
will be populated with the same contents as hello.rs
. A Cargo.toml
file will be created, where some_crate
will be added as a dependency some-crate = "*"
.
Example - .rscript
File hello.rscript
.
extern crate some_crate;
println!("Hello, world!");
Use papyrus to execute code.
papyrus run hello.rscript
The src/main.rs
will be populated with a main function encapsulating the code, and crate references placed above it. A similar Cargo.toml
will be created as before.
Structs
Enums
Traits
Functions
papyrus
.
Associates .rs
and .rscript
files with papyrus
.papyrus
.