Fairyscript

Latest version: v2.0.3

Safety actively analyzes 682404 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

2.0.2

* Added a manifest.in file to have template.docx included in source distribution

2.0.1

* Updated config to work with install via PyPI.
* Changed README format to reStructuredText.
* Fixed check for stdin filename when getting file to report lexer/parser errors in.

2.0.0

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` to `FairyScript`.
* 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.

1.2.1

* Fixed regression feature from 1.2.0 where each (SECTION) annotation would reset the indent. (SECTION) annotations not starting a new indent is by design; closing the section is accomplished with the (END) annotation.

1.2.0

* Added a new "analysis" pseudo-compiler that can be used to perform basic static analysis on scripts. Currently, there is information on references/definitions of characters, scenes, and other external resource references, including statistics on counts and number of lines. The new mode can be invoked by passing `--analyze` to the `scpcompile` command, and will output plaintext format information (currently, when saving to file, the convention for this data is to use the extension `.ana`)
* Made the indent level reset in Ren'Py output whenever a new (SECTION) annotation is encountered.
* All input files are now fully parsed into a single AST/Symbol table before being further processed. This fixes a bug where each input file caused the Docx compiler to write to the same file, meaning that only the last input file specified would be seen in the final Docx file.
* All newlines in strings are now converted to a single space during the lexing phase. This fixes a bug where Ren'Py output would include the newline in character dialogue lines, which resulted in invalid Ren'Py syntax.
* Fixed a bug in Ren'Py and Docx compiler modules where (ELSE) annotations without a condition could be excluded from the output.
* Completed code cleanup of Ren'Py and Docx compiler modules.

1.1.0

* Lexer and parser errors now give both the line number and file that they originated from.
* scpcompile explicitly states that parsing/lexing failed after giving listing of errors
* On failure, scpcompile will now return a non-zero exit code
* Error messages are printed to stderr instead of to stdout
* Error handling was refactored to take a more exception-based approach rather than a check-status approach
* Removed 2.6 from list of supported pythons (at least 2.7 is required for the argparse module)

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.