Stdio
Built-in standard input / output & utility functions
Example usage
local stdio = require("@lune/stdio")
-- Prompting the user for basic input
local text: string = stdio.prompt("text", "Please write some text")
local confirmed: boolean = stdio.prompt("confirm", "Please confirm this action")
-- Writing directly to stdout or stderr, without the auto-formatting of print/warn/error
stdio.write("Hello, ")
stdio.write("World! ")
stdio.write("All on the same line")
stdio.ewrite("\nAnd some error text, too")
-- Reading the entire input from stdin
local input = stdio.readToEnd()
Functions
prompt
Prompts for user input using the wanted kind of prompt:
"text"
- Prompts for a plain text string from the user"confirm"
- Prompts the user to confirm with y / n (yes / no)"select"
- Prompts the user to select one value from a list"multiselect"
- Prompts the user to select one or more values from a listnil
- Equivalent to"text"
with no extra arguments
Parameters
-
kind
The kind of prompt to use -
message
The message to show the user -
defaultOrOptions
The default value for the prompt, or options to choose from for selection prompts
color
Return an ANSI string that can be used to modify the persistent output color.
Pass "reset"
to get a string that can reset the persistent output color.
Example usage
stdio.write(stdio.color("red"))
print("This text will be red")
stdio.write(stdio.color("reset"))
print("This text will be normal")
Parameters
color
The color to use
Returns
- A printable ANSI string
style
Return an ANSI string that can be used to modify the persistent output style.
Pass "reset"
to get a string that can reset the persistent output style.
Example usage
stdio.write(stdio.style("bold"))
print("This text will be bold")
stdio.write(stdio.style("reset"))
print("This text will be normal")
Parameters
style
The style to use
Returns
- A printable ANSI string
format
Formats arguments into a human-readable string with syntax highlighting for tables.
Parameters
...
The values to format
Returns
- The formatted string
write
Writes a string directly to stdout, without any newline.
Parameters
s
The string to write to stdout
ewrite
Writes a string directly to stderr, without any newline.
Parameters
s
The string to write to stderr
readToEnd
Reads the entire input from stdin.
Returns
- The input from stdin