Moar.IO (Moar v3.2.0)

View Source

IO-related functions

Summary

Functions

Accepts a string with special formatting syntax and converts it into an iolist that contains ANSI color and formatting codes. The second parameter, emit? can be used to enable or disable formatting; it defaults to the value of IO.ANSI.enabled?/0.

Formats a string and prints it to stdout. See cformat/2 for details.

Formats a string and returns the formatted string. See cformat/2 for details.

Functions

cformat(string, emit? \\ IO.ANSI.enabled?())

@spec cformat(String.t(), boolean()) :: iolist()

Accepts a string with special formatting syntax and converts it into an iolist that contains ANSI color and formatting codes. The second parameter, emit? can be used to enable or disable formatting; it defaults to the value of IO.ANSI.enabled?/0.

The formatting syntax looks like:

"My {green: hovercraft} is {red italic: full of eels}!"

The formatting options are the ANSI codes that are allowed to be sent to IO.ANSI.format/2. There doesn't seem to be a list of valid codes, but the names of most of the zero-arity functions in IO.ANSI can be used. The order of the formatting options is not important.

The resulting iolist can be used anywhere that iodata is expected. This module's cstring/2 function will take the same input and return a string, and cputs/2 will take the same input and print it to stdout.

cputs(string, emit? \\ IO.ANSI.enabled?())

@spec cputs(String.t(), boolean()) :: :ok

Formats a string and prints it to stdout. See cformat/2 for details.

cstring(string, emit? \\ IO.ANSI.enabled?())

@spec cstring(String.t(), boolean()) :: String.t()

Formats a string and returns the formatted string. See cformat/2 for details.