show

object show
class Object
trait Matchable
class Any
show.type

Value members

Concrete methods

inline def apply[T](inline expr: T): T

Macro that logs the source code for the given argument to the console during compilation. Apart from this the macro is completely transparent, i.e. doesn't change the runtime behavior of the program in any way.

Macro that logs the source code for the given argument to the console during compilation. Apart from this the macro is completely transparent, i.e. doesn't change the runtime behavior of the program in any way.

The source code is formatted with scalafmt before output. The scalafmt config file is expected to be present as ./.scalafmt.conf in the current directory.

If you want to configure the output in any way use the other overload that takes a config String.

inline def apply[T](inline config: String)(inline expr: T): T

Macro that logs the source code for the given argument to the console during compilation. Apart from this the macro is completely transparent, i.e. doesn't change the runtime behavior of the program in any way.

Macro that logs the source code for the given argument to the console during compilation. Apart from this the macro is completely transparent, i.e. doesn't change the runtime behavior of the program in any way.

The source code is formatted with scalafmt before output. The scalafmt config file is expected to be present as ./.scalafmt.conf in the current directory. Otherwise the config file location must be configured via the scalafmtConfigFile setting (see below).

The output is configured via the given config parameter, which must be a literal String. It contains a comma- or blank-separated list of the following, optional config settings:

code Prints fully elaborated version of the source code

short Same as code but does not print full package prefixes (this is the default)

ansi Prints fully elaborated version of the source code using ANSI colors. The result is not run through scalafmt.

ast Prints a pattern like representation of the source AST structure, formated by scalafmt

scalafmtConfigFile=/path/to/file Configures the location of the scalafmt config file to be used

suppress=[org.example.,java.lang.] Specifies a comma-separated list of strings that are to be removed from the output. Helpful, for example, for removing full qualification of package names, which can otherwise hinder readability.

Example config: "code,scalafmtConfigFile=./sfmt.conf"

def apply[T](expr: Expr[T])(using evidence$1: Type[T], Quotes): Expr[T]

Same as above but for use within a macro definition. Useful, for example, when the macro produces code that doesn't type check and thus generates a compiler error before a macrolizer.show wrapping the macro call site gets a chance to run.

Same as above but for use within a macro definition. Useful, for example, when the macro produces code that doesn't type check and thus generates a compiler error before a macrolizer.show wrapping the macro call site gets a chance to run.

def apply[T](config: String)(expr: Expr[T])(using evidence$2: Type[T], Quotes): Expr[T]

Same as above but for use within a macro definition. Useful, for example, when the macro produces code that doesn't type check and thus generates a compiler error before a macrolizer.show wrapping the macro call site gets a chance to run.

Same as above but for use within a macro definition. Useful, for example, when the macro produces code that doesn't type check and thus generates a compiler error before a macrolizer.show wrapping the macro call site gets a chance to run.