> ## Documentation Index
> Fetch the complete documentation index at: https://docs.codanna.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Language Support

> 15 programming languages supported

Codanna is a local code intelligence MCP server and CLI for AI coding agents. Codanna uses tree-sitter for parsing across 15 programming languages, the same technology used by GitHub's code navigator.

## Supported Languages

| Language | Filter |
| - | - |
| Rust | `lang:rust` |
| Python | `lang:python` |
| TypeScript | `lang:typescript` |
| JavaScript | `lang:javascript` |
| Java | `lang:java` |
| Kotlin | `lang:kotlin` |
| Go | `lang:go` |
| PHP | `lang:php` |
| C | `lang:c` |
| C++ | `lang:cpp` |
| C# | `lang:csharp` |
| Clojure | `lang:clojure` |
| Lua | `lang:lua` |
| Swift | `lang:swift` |
| GDScript | `lang:gdscript` |

## What Gets Extracted

From each language:

* Functions and methods
* Classes, structs, traits
* Type definitions
* Imports and includes
* Call relationships
* Type relationships
* Documentation comments

## Language Filtering

Use `lang:` in searches to filter results:

```bash theme={null}
codanna mcp semantic_search_docs query:"error handling" lang:typescript
codanna mcp semantic_search_docs query:"error handling" lang:rust
```

<Note>
  `lang:` shows only results from that language. Without it, you get the best matches across all languages. Useful in multi-language stacks (frontend/backend) or monorepos.
</Note>

## Project Resolvers

8 languages support project-aware module path resolution by reading build configuration files:

| Language | Config File |
| :- | :- |
| Go | `go.mod` |
| Python | `pyproject.toml` (Poetry, Hatch, Maturin, Setuptools, PDM, Flit) |
| Kotlin | `build.gradle.kts` |
| Java | `pom.xml`, `build.gradle` |
| PHP | `composer.json` (PSR-4) |
| C# | `.csproj` |
| TypeScript | `tsconfig.json` |
| Swift | `Package.swift` |

This enables correct cross-file relationship tracking and import resolution.

## Next Steps

<CardGroup cols={2}>
  <Card title="Project Resolvers" icon="diagram-project" href="/reference/project-resolvers">
    Configure module path resolution.
  </Card>

  <Card title="CLI Reference" icon="terminal" href="/reference/cli">
    Complete command reference.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.