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

# Supported languages and syntax highlighting

> Agentastic provides Tree-sitter based syntax highlighting for 100+ programming languages. Browse the full list by category and learn about LSP support.

Agentastic uses Tree-sitter for syntax highlighting, providing accurate, incremental parsing for over 100 programming languages. Highlighting works out of the box — no configuration required. For enhanced editor features like auto-completion, go-to-definition, and inline diagnostics, you can additionally configure a language server.

## Web development

| Language   | Extensions            |
| ---------- | --------------------- |
| JavaScript | `.js`, `.mjs`, `.cjs` |
| TypeScript | `.ts`, `.mts`, `.cts` |
| JSX        | `.jsx`                |
| TSX        | `.tsx`                |
| HTML       | `.html`, `.htm`       |
| CSS        | `.css`                |
| SCSS       | `.scss`               |
| Sass       | `.sass`               |
| Less       | `.less`               |
| JSON       | `.json`               |
| Vue        | `.vue`                |
| Svelte     | `.svelte`             |

## Systems programming

| Language | Extensions                    |
| -------- | ----------------------------- |
| C        | `.c`, `.h`                    |
| C++      | `.cpp`, `.cxx`, `.cc`, `.hpp` |
| Rust     | `.rs`                         |
| Go       | `.go`                         |
| Zig      | `.zig`                        |
| Assembly | `.asm`, `.s`                  |

## Apple platforms

| Language      | Extensions |
| ------------- | ---------- |
| Swift         | `.swift`   |
| Objective-C   | `.m`       |
| Objective-C++ | `.mm`      |

## Mobile

| Language | Extensions    |
| -------- | ------------- |
| Kotlin   | `.kt`, `.kts` |
| Dart     | `.dart`       |

## Scripting

| Language | Extensions   |
| -------- | ------------ |
| Python   | `.py`        |
| Ruby     | `.rb`        |
| Perl     | `.pl`, `.pm` |
| Lua      | `.lua`       |
| PHP      | `.php`       |
| R        | `.r`, `.R`   |

## Shell

| Language   | Extensions      |
| ---------- | --------------- |
| Bash       | `.sh`, `.bash`  |
| Zsh        | `.zsh`          |
| Fish       | `.fish`         |
| PowerShell | `.ps1`, `.psm1` |

## JVM languages

| Language | Extensions      |
| -------- | --------------- |
| Java     | `.java`         |
| Scala    | `.scala`, `.sc` |
| Groovy   | `.groovy`       |
| Clojure  | `.clj`, `.cljs` |

## Functional

| Language | Extensions    |
| -------- | ------------- |
| Haskell  | `.hs`         |
| Elixir   | `.ex`, `.exs` |
| Erlang   | `.erl`        |
| OCaml    | `.ml`, `.mli` |
| F#       | `.fs`, `.fsx` |
| Elm      | `.elm`        |

## Data and config

| Language | Extensions      |
| -------- | --------------- |
| JSON     | `.json`         |
| YAML     | `.yml`, `.yaml` |
| TOML     | `.toml`         |
| XML      | `.xml`          |
| INI      | `.ini`          |
| Dotenv   | `.env`          |

## Documentation

| Language         | Extensions         |
| ---------------- | ------------------ |
| Markdown         | `.md`, `.markdown` |
| reStructuredText | `.rst`             |
| LaTeX            | `.tex`             |
| AsciiDoc         | `.adoc`            |

## Database

| Language | Extensions         |
| -------- | ------------------ |
| SQL      | `.sql`             |
| GraphQL  | `.graphql`, `.gql` |

## Other

| Language   | Extensions                     |
| ---------- | ------------------------------ |
| Dockerfile | `Dockerfile`                   |
| Makefile   | `Makefile`                     |
| CMake      | `CMakeLists.txt`, `.cmake`     |
| Regex      | `.regex`                       |
| Diff       | `.diff`, `.patch`              |
| Git        | `.gitignore`, `.gitattributes` |

## LSP support

Tree-sitter provides syntax highlighting only. For features like auto-completion, go-to-definition, find references, and inline diagnostics, configure a language server for your language. See [IDE features](/features/ide) for LSP setup instructions.

## Requesting new languages

If your language is not listed, it may be possible to add it via a Tree-sitter grammar. Check the [CodeEditLanguages](https://github.com/CodeEditApp/CodeEditLanguages) package for a list of available grammars and instructions for requesting new ones.
