content: # configuration file for git-cliff (0.1.0)
  
  [changelog]
  # changelog header
  header = """
  # Changelog\n
  All notable changes to this project will be documented in this file.\n
  """
  # template for the changelog body
  # https://tera.netlify.app/docs/#introduction
  body = """
  {% if version %}\
      ## [{{ version | trim_start_matches(pat="v") }}]
  {% else %}\
      ## [unreleased]
  {% endif %}\
  {% for group, commits in commits | group_by(attribute="group") %}
      ### {{ group | upper_first }}
      {% for commit in commits
      | filter(attribute="scope")
      | sort(attribute="scope") %}
         - {% if commit.breaking %}[**breaking**] {% endif %}_({{commit.scope}})_ {{ commit.message }}
      {%- endfor %}
      {% for commit in commits %}
          {%- if commit.scope -%}
          {% else -%}
             - {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message }}
          {% endif -%}
      {% endfor -%}
      {% raw %}{% endraw %}\
  {% endfor %}\n
  """
  # remove the leading and trailing whitespaces from the template
  trim = true
  # changelog footer
  footer = """
  <!-- generated by git-cliff -->
  """
  
  [git]
  # allow only conventional commits
  # https://www.conventionalcommits.org
  conventional_commits = true
  # filter out the commits that are not conventional
  filter_unconventional = true
  # regex for parsing and grouping commits
  commit_preprocessors = [
      { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](https://github.com/lunarvim/lunarvim/pull/${2}))"},
  ]
  commit_parsers = [
      { message = "(.*[bB]ump)", group = "<!-- 7 --> Miscellaneous Tasks", skip = true},
      { message = "^[bB]uild", group = "<!-- 0 --> Packaging"},
      { message = "(^[fF]eat|^\\[Feat)", group = "<!-- 1 --> Features"},
      { message = "(^[bB]ug|^[Ff]ix|^\\[Bug)", group = "<!-- 2 --> Bugfix"},
      { message = "(^[rR]efactor|^ref)", group = "<!-- 3 --> Refactor"},
      { message = "^[dD]oc", group = "<!-- 4 --> Documentation"},
      { message = "^[rR]evert", group = "<!-- 5 --> Revert"},
      { message = "^[pP]erf", group = "<!-- 6 --> Performance"},
      { message = "^[cC]hore", group = "<!-- 7 --> Miscellaneous Tasks", skip = true},
      { message = "^ci", group = "<!-- 7 --> Miscellaneous Tasks", skip = true},
      { message = "^test", group = "<!-- 7 --> Miscellaneous Tasks", skip = true},
      { message = "[wW]orkflow", group = "<!-- 7 --> Miscellaneous Tasks", skip = true},
  ]
  # filter out the commits that are not matched by commit parsers
  filter_commits = false
  # glob pattern for matching git tags
  tag_pattern = "v[0-9]*"
  # regex for skipping tags
  skip_tags = "v0.1.0-beta.1"
  # regex for ignoring tags
  ignore_tags = ""
  # sort the tags topologically
  topo_order = false
  # sort the commits inside sections by oldest/newest order
  sort_commits = "oldest"
  # protect breaking changes from being skipped due to matching a skipping commit_parser
  protect_breaking_commits = false
  
  [features]
  preserve_order = ["serde_json/preserve_order"]
  