# Language support

<p className="subtitle">
	See which code features Sourcegraph supports for each language.
</p>

Code Search finds text in files of any language. These features depend on the language of a file:

- **[Search-based navigation](/code-navigation/search-based-code-navigation)**: Go to definition and Find references from search heuristics, with no setup.
- **Syntax highlighting**: Colors code in the file view and in search results.
- **[Symbol search](/code-search/types/symbol)**: Finds declarations with `type:symbol` searches and lists them in the symbol sidebar.
- **[Precise navigation](/code-navigation/precise-code-navigation)**: Compiler-accurate navigation from a SCIP index that an [indexer](/code-navigation/precise-code-navigation#supported-languages-and-indexers) creates for the repository.
- **[Auto-indexing](/code-navigation/auto-indexing)**: Sourcegraph detects the project and runs the indexer itself.
- **[Syntactic navigation](/code-navigation/syntactic-code-navigation)**: Navigation from syntax analysis, more accurate than search-based navigation, on instances that enable it.

## Languages with full support

These languages have precise navigation, the most accurate Code Navigation:

| Language          | Search-based navigation | Syntax highlighting | Symbol search | Precise navigation | Auto-indexing | Syntactic navigation |
| ----------------- | :---------------------: | :-----------------: | :-----------: | :----------------: | :-----------: | :------------------: |
| C                 |            ✓            |          ✓          |       ✓       |         ✓          |               |          ✓           |
| C#                |            ✓            |          ✓          |       ✓       |         ✓          |       ✓       |          ✓           |
| C++               |            ✓            |          ✓          |       ✓       |         ✓          |               |          ✓           |
| CUDA              |            ✓            |          ✓          |       ✓       |         ✓          |               |                      |
| Go                |            ✓            |          ✓          |       ✓       |         ✓          |       ✓       |          ✓           |
| Java              |            ✓            |          ✓          |       ✓       |         ✓          |       ✓       |          ✓           |
| JavaScript        |            ✓            |          ✓          |       ✓       |         ✓          |       ✓       |                      |
| Kotlin            |            ✓            |          ✓          |       ✓       |         ✓          |       ✓       |                      |
| Python            |            ✓            |          ✓          |       ✓       |         ✓          |       ✓       |                      |
| Ruby              |            ✓            |          ✓          |       ✓       |         ✓          |       ✓       |                      |
| Rust              |            ✓            |          ✓          |       ✓       |         ✓          |       ✓       |                      |
| Scala             |            ✓            |          ✓          |       ✓       |         ✓          |               |          ✓           |
| TSX               |            ✓            |          ✓          |       ✓       |         ✓          |       ✓       |                      |
| TypeScript        |            ✓            |          ✓          |       ✓       |         ✓          |       ✓       |          ✓           |
| Visual Basic .NET |                         |          ✓          |               |         ✓          |       ✓       |                      |

Precise navigation for Scala needs a [scip-java release before 0.13](/code-navigation/precise-code-navigation#supported-languages-and-indexers).

## Languages with partial support

These languages have no precise navigation, auto-indexing, or syntactic navigation:

| Language                 | Search-based navigation | Syntax highlighting | Symbol search |
| ------------------------ | :---------------------: | :-----------------: | :-----------: |
| ActionScript             |                         |          ✓          |               |
| Apex                     |            ✓            |          ✓          |       ✓       |
| AppleScript              |                         |          ✓          |               |
| ASP.NET                  |                         |          ✓          |               |
| BASIC                    |                         |                     |       ✓       |
| Batchfile                |                         |          ✓          |               |
| BibTeX                   |                         |          ✓          |               |
| Cap'n Proto              |                         |          ✓          |               |
| Classic ASP              |                         |          ✓          |               |
| Clojure                  |            ✓            |          ✓          |       ✓       |
| CMake                    |                         |          ✓          |               |
| COBOL                    |            ✓            |          ✓          |       ✓       |
| Common Lisp              |            ✓            |          ✓          |       ✓       |
| Crontab                  |                         |          ✓          |               |
| CSS                      |                         |          ✓          |       ✓       |
| D                        |                         |          ✓          |       ✓       |
| Dart                     |            ✓            |          ✓          |               |
| Diff                     |                         |          ✓          |               |
| DM                       |                         |          ✓          |               |
| Dockerfile               |                         |          ✓          |               |
| Elixir                   |            ✓            |          ✓          |       ✓       |
| Elm                      |                         |          ✓          |       ✓       |
| Emacs Lisp               |            ✓            |          ✓          |               |
| Erlang                   |            ✓            |          ✓          |       ✓       |
| F#                       |                         |          ✓          |               |
| Fish                     |                         |          ✓          |               |
| Forth                    |                         |          ✓          |               |
| Gherkin                  |                         |          ✓          |               |
| Git Attributes           |                         |          ✓          |               |
| Git Commit               |                         |          ✓          |               |
| Git Config               |                         |          ✓          |               |
| GLSL                     |                         |          ✓          |               |
| Go Checksums             |                         |          ✓          |               |
| Go Module                |                         |          ✓          |               |
| GraphQL                  |            ✓            |          ✓          |       ✓       |
| Graphviz (DOT)           |                         |          ✓          |               |
| Groovy                   |            ✓            |          ✓          |       ✓       |
| Hack                     |                         |          ✓          |       ✓       |
| Haml                     |                         |          ✓          |               |
| Haskell                  |            ✓            |          ✓          |       ✓       |
| HCL, Terraform           |                         |          ✓          |               |
| HLSL                     |                         |          ✓          |               |
| HTML                     |                         |          ✓          |               |
| HTML+EEX                 |                         |          ✓          |               |
| HTML+ERB                 |                         |          ✓          |               |
| Ignore List              |                         |          ✓          |               |
| INI                      |                         |          ✓          |               |
| Java Properties          |                         |          ✓          |               |
| Java Server Pages        |                         |          ✓          |               |
| JavaScript+ERB           |                         |          ✓          |               |
| JCL                      |                         |          ✓          |               |
| JSON                     |                         |          ✓          |               |
| Jsonnet                  |            ✓            |          ✓          |       ✓       |
| Julia                    |                         |          ✓          |               |
| Less                     |                         |          ✓          |       ✓       |
| Literate Haskell         |                         |          ✓          |               |
| Lua                      |            ✓            |          ✓          |       ✓       |
| Magik                    |                         |          ✓          |       ✓       |
| Makefile                 |                         |          ✓          |               |
| Markdown                 |                         |          ✓          |       ✓       |
| MATLAB                   |                         |          ✓          |       ✓       |
| Maven POM                |                         |          ✓          |               |
| Move                     |                         |          ✓          |               |
| Nickel                   |                         |          ✓          |               |
| Ninja                    |                         |          ✓          |               |
| Nix                      |                         |          ✓          |               |
| Objective-C              |            ✓            |          ✓          |       ✓       |
| Objective-C++            |                         |          ✓          |       ✓       |
| OCaml                    |            ✓            |          ✓          |       ✓       |
| Pascal                   |            ✓            |          ✓          |       ✓       |
| Perl                     |            ✓            |          ✓          |       ✓       |
| PHP                      |            ✓            |          ✓          |       ✓       |
| Pkl                      |            ✓            |          ✓          |               |
| PostScript               |                         |          ✓          |               |
| PowerShell               |            ✓            |          ✓          |       ✓       |
| Protocol Buffers         |            ✓            |          ✓          |       ✓       |
| Puppet                   |                         |          ✓          |               |
| R                        |            ✓            |          ✓          |       ✓       |
| Raku                     |                         |                     |       ✓       |
| Regular Expression       |                         |          ✓          |               |
| reStructuredText         |                         |          ✓          |               |
| Rocq Prover (Coq)        |                         |          ✓          |               |
| Roff                     |                         |          ✓          |               |
| RPM Spec                 |                         |          ✓          |               |
| Sass                     |                         |          ✓          |       ✓       |
| Scheme                   |                         |          ✓          |       ✓       |
| SCSS                     |                         |          ✓          |       ✓       |
| Shell                    |            ✓            |          ✓          |       ✓       |
| Smalltalk                |                         |          ✓          |               |
| Smarty                   |                         |          ✓          |               |
| Solidity                 |                         |          ✓          |               |
| SQL                      |                         |          ✓          |               |
| Starlark                 |            ✓            |          ✓          |               |
| Strato                   |            ✓            |                     |               |
| Stylus                   |                         |          ✓          |               |
| Svelte                   |            ✓            |          ✓          |               |
| Swift                    |            ✓            |          ✓          |       ✓       |
| SystemVerilog            |            ✓            |          ✓          |       ✓       |
| Tcl                      |            ✓            |          ✓          |       ✓       |
| TeX, LaTeX               |                         |          ✓          |               |
| Textile                  |                         |          ✓          |               |
| Thrift                   |            ✓            |          ✓          |       ✓       |
| TOML                     |                         |          ✓          |               |
| Verilog                  |            ✓            |          ✓          |       ✓       |
| VHDL                     |            ✓            |          ✓          |       ✓       |
| Vim Script               |                         |          ✓          |       ✓       |
| Vue                      |                         |          ✓          |               |
| Vyper                    |                         |          ✓          |               |
| Wikitext                 |                         |          ✓          |               |
| Windows Registry Entries |                         |          ✓          |               |
| XML                      |                         |          ✓          |               |
| XML Property List        |                         |          ✓          |               |
| YAML                     |                         |          ✓          |               |
| Zig                      |            ✓            |          ✓          |       ✓       |

Files in a language without a checkmark for syntax highlighting are shown as plain text. Administrators can assign file extensions and path patterns to a language with `syntaxHighlighting.languages` in the [site configuration](/admin/config/site-config).

## Formats highlighted as another language

These formats have syntax highlighting only, using the grammar of the language they are based on:

| Highlighted as | Formats                                                      |
| -------------- | ------------------------------------------------------------ |
| Clojure        | edn                                                          |
| Groovy         | Gradle                                                       |
| INI            | EditorConfig, NPM Config                                     |
| JSON           | Ecere Projects, JSON with Comments, JSONLD, Jupyter Notebook |
| Kotlin         | Gradle Kotlin DSL                                            |
| Perl           | Pod                                                          |
| PHP            | HTML+PHP                                                     |
| Python         | Cython, Easybuild, Snakemake                                 |
| Roff           | Roff Manpage                                                 |
| SQL            | PLSQL, PLpgSQL, SQLPL, TSQL                                  |
| Shell          | Gentoo Ebuild, Gentoo Eclass                                 |
| XML            | Ant Build System, COLLADA, SVG, XPages, XProc, XSLT          |
| YAML           | BuildStream, Kaitai Struct, RAML, Unity3D Asset              |
