So I had to do instructions next... It wasn't really that hard tho.
After some work I have all instructions except sourcing ones implemented. I have also added few more that were not originally planed:
Metadata can be viewed in the tui or concatonated at the end of output using a flag. Footnotes are shown in split if in tui or are added under page if in stdout mode.
There weren't that many problems, mostly I just had to add more variables in my Data global variable simulation module. I have however had to rewrite the Line object to support alignments. It turns out that Crystal can has very unintuitive error messages. I think I have already mentioned map type errors showing only the map definition and not the actual element causing problems. Now however, if you make out-of-bounds error while splitting arrays or fail .not_nil! check, you get a bunch of files and line numbers, that either don't include your file at all, or might show wrong line number.
I would now call it usable, if all you need is text output.
Well, I will add the missing instructions at some point... maby tomorow, maby later. Now should be the time to do pdf export, so I guess I'll have to learn pdf. I think it will be easier to just take text+escape output and translate that to pdf, rather than remade entire instruction handeling again.
After that, maby html export or markdown import? I think I will also add links and images. They will work like footnotes in terminal, but you might be able to follow them. Also I might be able to add kitty image protocol to my tui, but we'll see.
Where does one learn pdf again?