Skip to content

RattleyCooper/spinim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spinim

A Nim module for parsing spintax; unlike other modules, this also allows nested spintax.

Install

nimble install https://github.com/RattleyCooper/spinim

What is spintax

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.

The syntax

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.

Simple example:
"{Hey|Hello|Hi} this is {spin syntax|spintax}{.|!|}"
Can produce:
  • Hey this is spintax.
  • Hi this is spin syntax
  • Hello this is spintax
  • Hi this is spintax!
Example of Nested Spintax:
   "This is nested {{s|S}pintax|spin syntax}"
Can produce:
  • This is nested Spintax
  • This is nested spin syntax
  • This is nested spintax
import spinim

echo spin("{Simple|Easy} {example|demonstration}")