README.md

# Fluent


`fluent-ex` is inspired by [Project Fluent](https://projectfluent.org). Grammar based on [Fluent v0.9.0](https://github.com/projectfluent/fluent).

## Installation

```elixir
def deps do
  [
    {:fluent, "~> 0.1.0"}
  ]
end
```

# AST not stable, possible breaking changes


# Tests

`ftl` files are taken from official Fluent spec.
Elixir NimbleParser AST is snapshotted into separate files.
There's basic JsonEncoder but preferably, AST output would match official
json structure after transformation.

```bash
$ mix test

# if you'd like to update snapshots
$ UPDATE=true mix test
```

# TODO:

  - [ ] better errors - is there any way to avoid exceptions?
  - [ ] running expressions on fetch
  - [ ] Fluent.Bundle (adding languages, fetching translations, etc.)
  - [ ] Correct spans and locations in AST
  - [ ] Multiple comment types based on `###`
  - [ ] output json for AST matching tests in [fluent](https://github.com/projectfluent/fluent)