Not only is it the case with this tool, but from what I'm reading in main.rs it looks like it's also loading the whole file in memory. I was going to say that scanning the file was a deal-breaker, but if true this is much more resource-intensive.
This looks like a nice tool, but these design choices seem to limit its use to relatively small files. It could be updated to have a read-ahead buffer instead and adjust its output as new lines are discovered with values of different width, although doing this without a jarring resize could be challenging.
Could someone with better knowledge of Rust than mine confirm this?
I see the full dataset being loaded here[1] and the column widths being computed here.[2]
[1] https://github.com/alexhallam/tv/blob/main/src/main.rs#L183-...
[2] https://github.com/alexhallam/tv/blob/main/src/main.rs#L218-...