OpenDream
OpenDream copied to clipboard
Fixes not accepting colon spam with goto labels, adds support for paren-less sleep calls

Fixes #518.
Summary
In this PR is also a little new tool for the codebase: A defer pattern I found for C#. Here, it is used to consume whitespace regardless of which control flow in ProcStatementFromExpression does the returning. I figure it will be useful in many other places in the codebase later on.
Changelog
- Goto labels with an exaggerated amount of colons,
::::LIKE_THIS::::, are now parsed correctly. - Calling sleep without any parentheses (as in
sleep 40) is now properly implemented. - Attempting to make a label called
sleepnow compiletimes, as per parity.