After a very unsucessful attempt to communicate with mix format - using Port, I ended up doing this:
def write_and_format_module(file_path, content) do
filename = for _ <- 1..5, into: "", do: <<Enum.random('0123456789abcdef')>>
tmp_file = "/tmp/tmp_#{filename}.ex"
:ok = File.write(tmp_file, content)
System.cmd("mix", ["format", tmp_file])
File.rename(tmp_file, file_path)
Logger.info("Re generated: #{file_path}")
end






















