README.md

# checkmark

[![Package Version](https://img.shields.io/hexpm/v/checkmark)](https://hex.pm/packages/checkmark)
[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/checkmark/)

Checkmark is a library for checking that gleam code in markdown files
type checks, builds, or runs successfully.

## Example

```sh
gleam add checkmark
```

```gleam
import checkmark
import gleam/string

pub fn main() {
  // Checks that a single gleam code block in README.md that starts with "import"
  // passes type checks, by creating the temporary file `checkmark_tmp.gleam`
  // Checking in a temporary project is also supported.
  checkmark.new()
  |> checkmark.snippets_in("README.md")
  |> checkmark.filtering(string.starts_with(_, "import"))
  |> checkmark.check_in_current_package("checkmark_tmp.gleam")
  |> checkmark.print_failures(panic_if_failed: True)
}
```

Note that you could assert the results from `check_in...` functions,
but on Erlang, you will most probably get very ugly output.
`print_failures` will pretty-print the failures to stderr and panic if requested.

Further documentation can be found at <https://hexdocs.pm/checkmark>.