As predicted, I kept myself to just slighting over an hour of work tonight due to it being Christmas Eve, and the development log will be similarly short as a consequence. The main changes were some syntax tweaks in order to enable a new feature as well as to fix a defect that would cause some constructs to not work as expected. There was also a modicum of code cleanup to get ready for some bigger changes coming after Christmas day.
The syntax now supports triple back tick code fences, which start and stop multi line code blocks and make things like the sample code in the event listener classes in the SnAPI documentation much nicer to look at. Currently these simplistically require themselves to be the only non-whitespace on the line, but that may be modified in the future.
I could swear that I fixed this already, but anchors were not properly disallowing some characters that they should have, and they were required to be two characters in length instead of just one due to a regex bug that required a single leading character and one or more follow up characters, which has now been fixed.
The big thing is that some new scopes have been applied to the punctuation that is used to wrap links and anchors, so that it is possible to detect when the cursor is on one of them. This is used to power a new key binding that causes the space bar to insert tabs instead of spaces while inside of links and anchors, or while on the characters that terminate them (which are not technically a part of the link yet).
This needs a bit of work to be cleaner, but having to manually remember to insert a tab is a drag. I also investigated the internal
wrap_lines command in Sublime to see if there was an easy way to get it to not clobber tabs into spaces when wrapping, but it appears not and so that will have to be worked on later. Basically this is a problem because it breaks links and anchors that have tabs if you wrap their lines.
I started some code tweaks to get prepared for some upcoming new lint commands, but that’s when I ran out of time, so that will have to continue on another day.
Now, to bed with me to get ready for Christmas morning. I hope everyone is having a great holiday!