# Stdio Built-in standard input / output & utility functions #### Example usage ```lua 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 list - `nil` - 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 ```lua 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 ```lua 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 ---