IRust

Cross Platform Rust Repl

Keywords / Tips & Tricks

:help => print help

:reset => reset repl

:show => show repl current code (optionally depends on rustfmt to format output)

:add => add dependencies (requires cargo-edit)

:load => load a rust script into the repl

:pop => remove last repl code line

:del => remove a specific line from repl code (line count starts at 1 from the first expression statement)

:: => run a shell command, example ::ls

You can use arrow keys to cycle through commands history

Keybindings

ctrl-l clear screen

ctrl-c clear line, double click to exit

ctrl-d exit if buffer is empty

ctrl-z [unix only] send IRust to the background

ctrl-left/right jump through words

HOME/END go to line start / line end

Tab/ShiftTab cycle through auto-completion suggestions (requires racer)

Cli commands

--help prints help message

--reset-config reset IRust configuration to default

Configuration

IRust config file is located in:

Linux: /home/$USER/.config/irust/config

Win: C:\Users\$USER\AppData\Roaming/irust/config

Mac: /Users/$USER/Library/Preferences/irust/config

default config:

[History]
add_irust_cmd_to_history = false
add_shell_cmd_to_history = false

[Racer]
enable_racer = true
racer_inline_suggestion_color = Cyan
racer_suggestions_table_color = Green
racer_selected_suggestion_color = DarkRed
racer_max_suggestions = 5

[Colors]
insert_color = White
input_color = Yellow
out_color = Red
ok_color = Blue
eval_color = White
irust_color = DarkBlue
irust_warn_color = Cyan
shell_color = DarkYellow
err_color = DarkRed

[Welcome]
welcome_msg = Welcome to IRust
welcome_color = DarkBlue

Changeslog

0.6.0 - Handle shift-tab key (cycle sugestions backward) - Handle delete key - More Racer fixes - More incomplete input detection

0.5.12 - Hotfix for multilines paste handling

0.5.11 - Handle multilines paste

0.5.10 - Enable the highlight feature by default for published build

0.5.9 - Improve show command: - highlight rust_code via syntect - format output if rustfmt is preset on the system - Fix load command bug

0.5.8 - Improve add command

0.5.7 - Racer bug fix

0.5.6 - Make optional dependencies optional again

0.5.5 - Racer rework - Better Errors handling - Internal code refactor

0.5.4 - Use a real debouncer method - Fix diffrent bugs in racer

0.5.3 - Revert auto-complete (issues with pasting)

0.5.2 - More bug fixes

0.5.1 - Bug fixes

0.5.0 - auto-complete ( { [

0.4.9 - Reworked Racer, now it shows suggestions table + the inline suggestion

0.4.8 - Use scrolling instead of clearing at screen end

0.4.7 - Bug fixes (lines overflow)

0.4.6 - More lines overflow handling

0.4.5 - Handle CtrlLeft CtrlRight (Only on master branch) - Handle lines overflow

0.4.4 - Some improvement to autocompletion

0.4.3 - Autocomplete IRust commands - Debounce from Racer calls

0.4.2 - Add :pop :del commands

0.4.1 - Racer is now optional

0.4.0 - Use Tab instead of BackTab

0.3.10 - Hotfix to workaround a tab bug for now

0.3.9 - Add Autocompletion support! (via racer)

0.3.8 - Add cli commands --help --reset-config

0.3.7 - Add the abilty to configure welcome message and color

0.3.6 - Add colors to config, now you can modify all of IRust colors!

0.3.5 - Use cargo colors

0.3.4 - Add :help command

0.3.3 - Reworked Output, now colors are everywhere and easier to add! - IRust now talks to you (outputs some warning for now)

0.3.2 - Format rustc errors to be way more better looking

0.3.1 - Fix regression: Readd expressions to history

0.3.0 - Handle characters like é, ù

0.2.1x - Don't upload artifacts to crates.io

0.2.0

Credits to this release goes to the awesome suggestions and contributions of @pzmarzly

0.1.7 - IRust - Nicer output (handle multiline and singleline diffrently)

0.1.6 - Add keybindings HOME END - Better add_cmd animation - Refactor code

0.1.5 - Add keybindings ctrl-c ctr-l - Fix history regression

0.1.4 - Handle parsing errors and output useful info - Fix add dep regression

0.1.3 - Rely on a custom cursor struct to avoid a lot of headaches

0.1.2 - Load scripts that contains main fn

0.1.1 - Add :: to execute shell cmds - Bugfixes