An open API service indexing awesome lists of open source software.

https://github.com/rattleycooper/spinim

Spintax for Nim!
https://github.com/rattleycooper/spinim

spin spinner spinning-syntax spintax text-spinner

Last synced: about 1 year ago
JSON representation

Spintax for Nim!

Awesome Lists containing this project

README

          

# 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

```Nim
import spinim

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