# How to programatically format code using plugins

**URL:** <https://forum.elixirforum.com/t/how-to-programatically-format-code-using-plugins/58533>\
**Category:** Questions\
**Tags:** formatter, code\
**Created:** [September 28, 2023, 4:05am UTC](https://forum.elixirforum.com/t/how-to-programatically-format-code-using-plugins/58533 "2023-09-28T04:05:09Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![fceruti](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/fceruti/32/28850_2.png) [@fceruti](https://forum.elixirforum.com/u/fceruti)\
**Post date:** [October 12, 2023, 6:26pm UTC](https://forum.elixirforum.com/t/how-to-programatically-format-code-using-plugins/58533/7 "2023-10-12T18:26:57Z")

</div>

> [@Marcus](#):
>
> `Mix.Tasks.Format.formatter_for_file("source.ex")`

Thanks! this was it 🙂

```elixir
  def write_and_format_module(file_path, content) do
    :ok = file_path |> Path.dirname() |> File.mkdir_p()
    {formatter, _} = Mix.Tasks.Format.formatter_for_file("source.ex")
    File.write(file_path, formatter.(content))
    IO.puts(IO.ANSI.green() <> "* creating " <> IO.ANSI.reset() <> file_path)
  end

```

---

_[View the full topic](https://forum.elixirforum.com/t/how-to-programatically-format-code-using-plugins/58533)._
