AMythicDev / minus

An asynchronous, runtime data feedable terminal paging library for Rust
https://crates.io/crates/minus/
Apache License 2.0
317 stars 23 forks source link

Screen API #108

Open AMythicDev opened 10 months ago

AMythicDev commented 10 months ago

Currently Minus doesn't have any concept of lines. It only cares about the entire data being formatted according to the available number of columns (line number and highlighted search matches if applicable) and the original text data to minus.. Although it is quite simple for anyone to understand, but its not the most elegant and optimized solution. For example we cannot do some of these effectively:-

This might be the first stepping stone to fix issues like #106 and other problems. Hence with screens API we introduce a new type Screen which not only brings in lots of performance improvements to the table but also gets a much more ergonomic API for applications to interact with the text data stored inside minus.

This is very much a work in progress so much cannot be described about it but I will keep this updated as the feature furthur evolves