choice! macro
create_ctx! macro to create a context with multiple fields
the macro will create a struct with the specified fields and a global instance of the context
the macro will also generate getter and setter methods for each field
ctx! macro to create a global instance of the context
e.g ctx!(CTX_NAME<Value>) will create a global context with the name CTX_NAME and the value Value
Macro to print a divider with optional text and styles
hex! macro to convert hex color to ansi color
example: hex!(#FF0000) -> “\x1b[38;2;255;0;0m”
hexbg! macro to convert hex color to ansi background color
example: hexbg!(#FF0000) -> “\x1b[48;2;255;0;0m\x1b[30m”
example: hexbg!(#FF0000, 255) -> “\x1b[48;2;255;0;0m\x1b[30m”
example: hexbg!(#FF0000, 255, 255, 255) -> “\x1b[48;2;255;0;0m\x1b[30m”
Macro to print a paragraph with a title and text
The text is automatically wrapped to the max width
Same as show! but returns a string instead of printing it
selection! macro
Macro to print a tree of the provided serializable object