<commit_before>defmodule EEx.SyntaxError do
  defexception [:message, :file, :line]

  def message(exception) do
    "#{exception.file}:#{exception.line}: #{exception.message}"
  end
end

defmodule EEx do
  @moduledoc ~S"""
  EEx stands for Embedded Elixir. It allows you to embed
  Elixir code inside a string in a robust way:

      iex> EEx.eval_string "foo <%= bar %>", [bar: "baz"]
      "foo baz"

  ## API

  This module provides 3 main APIs for you to use:

    1. Evaluate a string (`eval_string`) or a file (`eval_file`)
       directly. This is the simplest API to use but also the
       slowest, since the code is evaluated and not compiled before.

    2. Define a function from a string (`function_from_string`)
       or a file (`function_from_file`). This allows you to embed
       the template as a function inside a module which will then
       be compiled. This is the preferred API if you have access
       to the template at compilation time.

    3. Compile a string (`compile_string`) or a file (`compile_file`)
       into Elixir syntax tree. This is the API used by both functions
       above and is available to you if you want to provide your own
       ways of handling the compiled template.

  ## Options

  All functions in this module accepts EEx-related options.
  They are:

    * `:line` - the line to be used as the template start. Defaults to 1.
    * `:file` - the file to be used in the template. Defaults to the given
      file the template is read from or to "nofile" when compiling from a string.
    * `:engine` - the EEx engine to be used for compilation.

  ## Engine
<commit_msg>EEx doc: Prevent list from being rendered as code blocks<commit_after>defmodule EEx.SyntaxError do
  defexception [:message, :file, :line]

  def message(exception) do
    "#{exception.file}:#{exception.line}: #{exception.message}"
  end
end

defmodule EEx do
  @moduledoc ~S"""
  EEx stands for Embedded Elixir. It allows you to embed
  Elixir code inside a string in a robust way:

      iex> EEx.eval_string "foo <%= bar %>", [bar: "baz"]
      "foo baz"

  ## API

  This module provides 3 main APIs for you to use:

    1. Evaluate a string (`eval_string`) or a file (`eval_file`)
    directly. This is the simplest API to use but also the slowest,
    since the code is evaluated and not compiled before.

    2. Define a function from a string (`function_from_string`)
    or a file (`function_from_file`). This allows you to embed the
    template as a function inside a module which will then be
    compiled. This is the preferred API if you have access to the
    template at compilation time.

    3. Compile a string (`compile_string`) or a file (`compile_file`)
    into Elixir syntax tree. This is the API used by both functions
    above and is available to you if you want to provide your own
    ways of handling the compiled template.

  ## Options

  All functions in this module accepts EEx-related options.
  They are:

    * `:line` - the line to be used as the template start. Defaults to 1.
    * `:file` - the file to be used in the template. Defaults to the given
      file the template is read from or to "nofile" when compiling from a string.
    * `:engine` - the EEx engine to be used for compilation.

  ## Engine

{'fraction_non_alphanumeric': 0.07352043929225137, 'fraction_numerical': 0.003050640634533252, 'mean_word_length': 3.0332103321033212, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5729521', 'n_tokens_mistral': 967, 'n_tokens_neox': 923, 'n_words': 475}