A Nim module for parsing spintax; unlike other modules, this also allows nested spintax.
nimble install https://github.com/RattleyCooper/spinim
Spintax (also known as spin syntax) is a way to create random strings that have the same or similar meaning.
Spintax is very useful as it can be used in programs such as chat bots or video game character speech, it allows the dialog to not sound so repetitive and robotic. Spintax also has great applications in voice assistants such as in Amazon's Alexa, you can easily make skills (apps for the Alexa) that respond without saying the exact same thing every time.
Spintax replaces braces (also known as curly brackets, {}) containing text with a random predefined string. The random string is defined withing the braces by using a pipe | as a separator.
"{Hey|Hello|Hi} this is {spin syntax|spintax}{.|!|}"
- Hey this is spintax.
- Hi this is spin syntax
- Hello this is spintax
- Hi this is spintax!
"This is nested {{s|S}pintax|spin syntax}"
- This is nested Spintax
- This is nested spin syntax
- This is nested spintax
import spinim
echo spin("{Simple|Easy} {example|demonstration}")