FairyScript
With version 2.0.0 comes a new name for the system. Due to the similarity between the name scrappy
and the name of the immensely popular scraping library, scrapy
, the name of the programming language was changed to "FairyScript" so that publishing to PyPI can be done with less ambiguity.
- Argument Parsing
- Rewrote entire argument parsing system to be in terms of subcommands instead of required options.
- Renamed all argument names to be simpler, as they are now based on the subcommand.
- Made input files into a top-level argument instead of a repeatable option.
- Logging/Output System
- Added new logging framework that all compiler messages must pass through.
- All compiler messages are now sent to stderr.
- Tweaked
-q
option to modify logging framework to show minimal output on stderr. - Added new option
--logfile
for logging all compiler messages regardless of verboseness level.
- Documentation Updates
- Compiler documentation now gives complete description of compiler use.
- Added information to language documentation on how to use GFX bindings with Ren'Py.
- Updated all references in the documentation from
scrappy
toFairyScript
.
- Additional Fixes/Enhancements
- Rewrote test framework to be more robust and modular.
- Added new
--order
option for ordering lists in static analysis output. - Fixed exception handling to catch all errors and log them.
- Fixed lexer token output to be readable as .lex input.
- Fixed a bug that caused the analysis module to overwrite data when character files were included.