Consider adding a code snippet showing a.csv output. I had to watch a video just to see text.
It, for example, allowed me to make an educated guess as to the answer to the question “how does this handle huge files?”. It by default only reads 25 lines.
(That makes the example from the header:
cat diamonds.csv | head -n 35 | tv
a bad example. You shouldn’t need that head in-between.However, line 167 says
//.take(row_display_option + 1)
That seems to indicate this reads the entire file into memory, and that guess wasn’t that educated at all.Which is actually worse for screen reader users, I suppose.