mirror of
https://github.com/CompeyDev/codenamer.luau.git
synced 2024-12-12 04:40:39 +00:00
64 lines
1.6 KiB
Text
64 lines
1.6 KiB
Text
--[[
|
|
examples/simple.luau
|
|
|
|
Description: A basic codenamer example, which requests the user for a
|
|
number of codenames to generate, the way to format them, and
|
|
then generates and prints them.
|
|
]]--
|
|
|
|
local Codenamer = require("../dist/codenamer")
|
|
local stdio = require("@lune/stdio")
|
|
local process = require("@lune/process")
|
|
local task = require("@lune/task")
|
|
|
|
local INTERVAL_WAIT_TIME = 1
|
|
|
|
local _, count = xpcall(
|
|
function ()
|
|
return tonumber(stdio.prompt("text", "Number of codenames to be requested: "))
|
|
end,
|
|
|
|
function ()
|
|
warn("Please enter a valid number.")
|
|
process.exit(1)
|
|
end
|
|
)
|
|
local fmt_type = stdio.prompt(
|
|
"select",
|
|
"What type of formatting should the codenames use?",
|
|
{ "Phrase-like", "Variable-like" }
|
|
)
|
|
|
|
local sep: string?
|
|
|
|
if fmt_type == 1 then
|
|
sep = " "
|
|
elseif fmt_type == 2 then
|
|
sep = nil
|
|
end
|
|
|
|
|
|
local codenames: string | {[number]: string} = {}
|
|
|
|
print(`Generating codenames, expected wait time: {INTERVAL_WAIT_TIME * count}s.`)
|
|
|
|
local i: number = 1
|
|
repeat
|
|
table.insert(codenames, Codenamer.new():get_codename(sep))
|
|
i += 1
|
|
|
|
-- Gather some entropy by waiting
|
|
task.wait(INTERVAL_WAIT_TIME / 10)
|
|
until i - 1 == count
|
|
|
|
-- Codenamer also allows for optional separators. Here, we tell codenamer to
|
|
-- use a space instead of `_`, which is the default separator for words.
|
|
|
|
local fmt_arrow = "\n╰╸╾> "
|
|
|
|
codenames = table.concat(codenames, fmt_arrow)
|
|
|
|
print("===============")
|
|
print("Generated codenames:")
|
|
print(fmt_arrow .. codenames)
|
|
print("===============")
|