This is I think, the most important task for this weekend. If I have good error message infrastructure it lets me experiment with a lot more down the line and trust I'm going to get good feedback while I experiment.
This is currently a little difficult as I don't have a clear space where errors could pop up...
We have the parser which basically only has one error, which is input did not terminate. The issue here is it's basically impossible to know where that error orginated from, as it's all square parens.
So, errors are more important on the language level, when we translate to HTML.
This is nice as it let's me more easily change the html outputted by markup and easily define new things! However, it does require a lot of infrastructure.
Namely, I need to add functions for extracting export blocks out of a fancynote document.
These export blocks then need to define a mapping between atoms and their html output.
So, I wasn't ready to do any of this. Instead I spent some time cleaning up the code base, simplifying the parser and lexer a wee bit, and laying down the groundwork for a repl.
I also added a little "dev server" that watches files and reloads them. Not much use right now, but we shall see!
This isn't really all that useful yet, but I want it to evolve into a server for doing more interesting things, like outputting errors on file change, etc.
I'd like pages in the browser to reload when there are changes to their source file. This would require either using websockets to push events, or polling for updatespages. Either way, complicates things more than I want to right now!