Working on some neat stuff.
Otherwise, I have fixed the website which went down after the host updated to PHP7. Turns out the PHP.ini was causing conflicts, but it’s resolved now!
I’ve also added a basic C++ syntax highlighter, updated the GML highlighter to know the new functions, and updated the documentation links to point to the new manual. It seems to be working well enough, let me know if I’ve got any missed any links or if any have errors. There are over 3400 links, so one or two are bound to be in error
Nevermind I went bigger like usual.
I have completely re-written the syntax highlighter. There were too many cases related to new GML functions that were missed, so it was due a fix-up.
It used to use regex, now I manually check stuff. On the plus side, I can actually tell what the code does when more than a day passes, plus it’ll be easier to account for weird scenarios.
One of the trickiest parts was actually mimicking GameMakers new-statement-without-a-semicolon detection. It’s a simple concept – a word after any value is considered a new statement, but catching that was actually pretty annoying!
It should highlight any valid GML correctly. Invalid stuff may act strangely, but whatevs.
It also doesn’t follow the rules exactly – for example, in GML, any
var declaration is considered a local for the full scope of whatever script, method or event it is declared in, but my thing only highlights vars correctly after they are declared. I could step backwards and double check stuff, but then I run into dealing with scoping issues and more, just to support something that’s kinda bad practice (you should really only declare any vars before you use them)
All other highlighters have been adjusted to this new base, and I may add proper function/variable detection for other languages down the line.