# `Expresso.CodeVerifier`
[🔗](https://github.com/rellen/expresso/blob/main/lib/expresso/code_verifier.ex#L1)

The Spark verifier of the language of each code element

It runs one time for each deck module at compile time. A code element with
a language that no lexer registers shows its lines with no colors, so a
misspelled name, such as `"elixr"`, gives no visible error. The verifier
gives a warning for such a language, with the list of the languages that
`Expresso.Highlight.languages/0` returns. The deck still compiles, and the
element shows plain text. A code element with no language gets no warning.

# `warning`

```elixir
@type warning() :: {String.t(), :erl_anno.anno()} | String.t()
```

A warning of the verifier, with the location of the code element

# `verify`

```elixir
@spec verify(map()) :: :ok | {:warn, [warning()]}
```

Give a warning for each code element of the deck with a language that no lexer registers

---

*Consult [api-reference.md](api-reference.md) for complete listing*
