Create new wrapping types that can safely encapsulate the mutable references,
and implement Drop and automatic (de)referencing.
- Notcurses
- rename Notcurses* to NcNotcurses*.
- rename NotcursesOptions to NcNotcursesOptions.
- new Notcurses struct.
- implement Drop, AsRef, AsMut, Deref & DerefMut.
- override stop method to be no-op.
- reimplement constructors and associated methods.
- remove without_altscreen_with_banners constructor.
- update examples and tests.
- rustfmt.
- receive a variable number of arguments.
- make rsleep use methods and deal with NcResult.
- new fsleep to flush an NcDirect context.
- fix macro usages in examples.
- made const NotcursesOptions constructors.
- refactor Notcurses constructors to return NcResult.
- pass NotcursesOptions by value, since it's Copy.
- update tests.
- add helper modules for Notcurses & NcPlane.
- new initialization functions to be used in tests.
- BONUS:
- refactor NcDirect
- update examples.
- change Option return type for NcResult when appropriate.
- make NcDirect constructors return NcResult.
- rename NcError::new() to with_msg() and simplify new().
- refactor examples:
- rename direct-image.rs to direct-image-c.rs
- recreate using rust methods, as direct-image-rust.rs
- differentiate more throughly between both styles.
- remove the sys namespace on both examples.
We need to use Result<> to manage error flow,
at least on the methods API. This way it will
finally feel idiomatic Rust and more concise.
Also, we can't return a non Result from main.
- rename NcResult to NcIntResult.
- new NcError & NcResult types.
- new error![] macro to reduce boilerplate.
- change return type of NcDirect methods to NcResult.
- refactor several examples to return NcResult:
direct-cursor, poc-direct & poc-kittyzapper.
- BONUS: fix test not stopping notcurses context.
- update lib doc-comment.
- fix typo in readme.
- fix notcurses_init unit test
- fix fn call name: `nplane_at_cursor_cell` → `ncplane_at_cursor_cell`.
- make LIBC_FILE & NC_FILE type aliases with doc comment.
- add lib module comment.
- improve direct-cursor example.
- fix full-text example and rename it to full-basics.
- remove _IO_FILE import and usage.
- create handy constructors for NcDirect & Notcurses.
(but can't implement destructors for copy types…).
- when possible substitute mutable pointers `*mut` for mutable references `&mut`
with associated lifetimes.
- new widgets module, starting with NcReader & NcReaderOptions constructors