Releases: TheBerkin/rant3
Rant 3.0
Rant 3.0 is a complete overhaul of many aspects of the previous major release. It includes a massive array of new features for blocks, queries, and text formatting, as well as a brand-new scripting system that integrates directly into the Rant framework, adding conditional statements, loops, variables, and more.
Compiled patterns can be saved!
You can now save compiled patterns as .rantpgm files so that you don't have to compile them every time they're loaded. Hooray for efficiency!
Better error messages
The compiler can now return multiple compiler errors, the runtime now includes a stack trace with runtime errors, and the snozzberries taste like snozzberries!
Supercharged queries
Along with significant improvements to query filters and the addition of the plural subtype, queries can now be dynamically constructed through "query-builder" functions for even more flexibility when making use of external dictionaries.
Verbose character literals and better escape sequences
A new language feature, the verbose character, has been introduced in v3, which enables users to insert any Unicode 9.0 character into their output by using its name (e.g. LATIN SMALL LETTER A WITH DIAERESIS
). Escape sequences have been extended to allow surrogate pairs, as well.
Arguments
You can now pass arguments to patterns. This enables you to, for example, pass game state data to a pattern about player health to display a custom status message. Any C# object can be turned into an argument set.
Extended synchronizer features
Three new synchronizer modes have been added: ping
, pong
, and no-repeat
. These modes complement the numerous other options with more diverse selection behaviors that simplify the creation of specific output patterns.
Formatting
RantFormat
has been extended to allow customization of alphabet, number verbalization, and spacing. With the addition of a German preset, you can now use [numfmt:verbal]
to count in German!
Improved package workflow
With this release is included a slick new command-line utility (RCT.exe) which includes a package builder. Packages now have unique IDs and can include dependencies, tags, author names, and more!
New variable system
The new variable system is built on top of the function framework, so you no longer have to learn a second scripting language to use it. This means that it is also opened up to all of the powerful string generation tools offered by Rant. With this system you can create, store, and manipulate numbers, strings, booleans, callbacks, and lists. You can even get/set global variables through Rant's C# API.
Now in NEW German flavor!
This version also includes a German localization of all warnings and error messages. Rant will automatically detect your system language and choose the appropriate translation.
Rant 2.0
What did we do in 2.0?
- Rewrote the compiler.
- Rewrote the runtime.
- Created a scripting language.
- Probably some other things too.
Binaries are on NuGet!