* WIP expensive way
* Add default file handling to fileman
* Remove screenshot_reader and tests
* Read data in chunks
* Format
* Fix error text position
* PR feedback
---------
Co-authored-by: kallanreed <kallanreed@outlook.com>
* WIP file editing
* WIP file editing
* Add "on_pop" handler to navigation.
* WIP Editing
* WIP for draft
* Fix mock and unit tests, support +newline at end.
* Clean up Painter API and use string_view
* Fix optional rvalue functions
* Fix Result 'take' to be more standard
* FileWrapper stack buffer reads
* Grasping at straws
* Nit
* Move set_on_pop impl to cpp
* Workaround "Open" when file not dirty.
---------
Co-authored-by: kallanreed <kallanreed@outlook.com>
* WIP Move file_wrapper and make testable.
* More tests, get text_editor compiling
* Back to working
* Run formatter
---------
Co-authored-by: kallanreed <kallanreed@outlook.com>
* easier 'now', start adding text editor
* Adding scrolling to notepad
* Better scrolling
* Better scrolling, off-by-1 bugs
* MVP fit and finish
* Add tiny font and use in Notepad
* Font tweaking, tiny font cursor
* Fix warning
* Format changed files
* WIP No file limit
* WIP - adding CircularBuffer type
* WIP Caching
* add unit test for circular_buffer
* WIP still have a bug when moving cache forward
* Finish lazy line caching
---------
Co-authored-by: kallanreed <kallanreed@outlook.com>
Lots of re-plumbing to make this work, including a bunch of Unicode stuff now in the binary. Bloat City, I'm sure.
TODO: FatFs using unsigned (uint16_t) for UTF16 representation is kinda inconvenient. Lots of reinterpret_cast<>().
API is somewhat stolen from Rust std::fs::File. Static factories didn't work out so well, though. Move semantics made my head explode.
TODO: Still a lot of places where errors aren't handled, but it's an improvement...
This paves the way for writing metadata files with similar prefixes, and avoids confusing numbering of capture files with different extensions (e.g. BAD_0000.S16 and BBD_0000.S8).