- Fix completion overwriting lines before bug #59
- Add
persistent_module_code
on theLinkingConfiguration
, this is used to solve bug #57 - Breaking Change:
AppDataAction
now expects closure that has access to&mut ReplData
- #60 - Breaking Change: Add functionality to inject callbacks when running a REPL - #58
- Output
.dylib
on MacOS - #66 - Update to
kserd
0.3 - Breaking Change: Renaming of
to_*
tointo_*
in various places. - Breaking Change: Removed
SourceCode::new
in-lieu ofDefault
impl.
- Restructure of repository
- Fix unintended indenting on unix when using
println!
macro - Fix drawing issues when input would overflow into other lines
- Libraries can now be cached and not dropped once evaluation is finished.
- Removed ability to redirect output of evaluation.
- This functionality is broken and requires a. More testing b. Better use case
- Fixed the high cpu usage regression
- Increase requirement of MSRV to 1.36
- Up the event waiting duration from 1 millisecond to 5
- Handle
Item::Use
when parsing input. - Use of
backtrace
crate to dump complete backtrace with panic handling. - Update
crossterm
to 0.13. - Remove
rustfmt-nightly
from dependencies, usingrustfmt
binary to format code- This was done as building on nightly crashed too often.
- Handle inner attribute syntax such as
#![feature(test)]
. - Changed
Item
fromString
to(String, bool)
. - Remove
mortal
dependency, moving tocrossterm
for input. Fixes erratic typing input and not showing on windows. - Bug fixes
- Handle
Item::Macro
. - Updated linking documentation.
- Code improvements
- Terminal interface input events are buffered so multiline stdin is handled correctly.
- Update
crossterm
dependency to 0.14.
- docs: Add
cmds
module documentation. - docs: Add
complete
module documentation. - Move
code
andlinking
module to root level.
- Removed
Repl.run_with_completion()
, useRepl.run()
withracer-completion
feature instead. - docs: Update output module documentation.
- New
runnable
interface. Foundational change to allow for more flexiblity and growth. - Switch command prefix
.
to:
. - Add
Repl.run_async()
function that accepts anArc<Mutex<D>>
for data. - Change
eval_async
to acceptArc<Mutex<D>>
.
- mod paths now complete
- No longer need a terminal interface, maintains own internal buffer for output
- Fixed bug where using as library would not compile.
- Re-export
azul
crate inprelude
. - Re-export
linefeed::memory::MemoryTerminal
struct inprelude
. - Re-export
cmdtree
items into theprelude
. - Added
CommandResult::Empty
- Updated
cmdtree
tov0.5
so users can output to a writer. - Added
CommandResult::ActionOnAppData
so user can take actions on app data CommandResult
actions pass through writer.- async repls require
RwLock
rather thanMutex
. - Added module support
- The macros have been changed. Now
repl!
andrepl_with_term!
are used to create aRepl
instance, with access to the public.data
field to customise the repl data. - there is no more variants for borrowing patterns, only the specified data type
- Added a
push_input()
function aRead
repl. This allows for pushing of characters onto the repl without reading fromstdin
. Repl
now takes ownership ofReplData
. It did not make sense to borrow as you would have to dropRepl
to make any changes toReplData
...- Added
push_input_str()
- an extension ofpush_input()
- Added
eval_async
functions forRepl
s in theEvaluate
stage widgets::pad
is now released!
Major change in api as the library is shifted towards a new repl direction.
Repl
s are now state machines- Cannot construct a
Repl
using a file - Cannot
evaluate
off aRepl
(this has been altered to work with state machine) Command
now requires to return a repl in print state (Result<Repl<Print>, ()>
)Repl
s useReplData
which is passed between states and instantiated outside the repl machine- Documentation is not up to date, and will not be until some features stablise
Repl
s can now link external crates and data.- Removed context menu functionality
- Removed repl file loading
- Papyrus now formats the source code written to file.
- Help messages have been colourized for clarity.
papyrus
now works with stable rust! 🎉
rustup default stable
cargo install papyrus
- Added the
.cancel
and.c
commands which allow users to cancel out of the current input. This lets you exit more input loops if a leading closing bracket was defined.
- Turned off colouring for Windows, not yet working as intended.
- Added a version query to
crates.io
. When the repl is run interactively it will check the version number and print if there is a later version available. - Added
query()
method to querypapyrus
version oncrates.io
.
- Added in benchmarks.
- Updated
.travis.yml
to initiate code coverage.
- First pass refactoring towards library stablisation.
- Added
ExternCrate
support. You can now useextern crate crate_name as alias;
. This will work in most cases, please raise a PR if it doesn't. - Compilation status is redirected to the console.
- Panics now get shown, and statements won't be added if code panics.