# `Kreuzberg.TreeSitterConfig`
[🔗](https://github.com/kreuzberg-dev/kreuzberg/blob/main/lib/kreuzberg/tree_sitter_config.ex#L88)

Tree-sitter configuration for code parsing.

Configures tree-sitter grammar management and code extraction behavior.

## Fields

  * `:cache_dir` - Custom cache directory for downloaded grammars
  * `:languages` - Languages to pre-download on init
  * `:groups` - Language groups to pre-download
  * `:process` - Tree-sitter process configuration

# `t`

```elixir
@type t() :: %Kreuzberg.TreeSitterConfig{
  cache_dir: String.t() | nil,
  enabled: boolean() | nil,
  groups: [String.t()] | nil,
  languages: [String.t()] | nil,
  process: Kreuzberg.TreeSitterProcessConfig.t() | nil
}
```

# `from_map`

```elixir
@spec from_map(map()) :: t()
```

Creates a TreeSitterConfig struct from a map.

## Examples

    iex> Kreuzberg.TreeSitterConfig.from_map(%{"cache_dir" => "/tmp/grammars"})
    %Kreuzberg.TreeSitterConfig{cache_dir: "/tmp/grammars"}

# `to_map`

```elixir
@spec to_map(t()) :: map()
```

Converts a TreeSitterConfig struct to a map.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
