Co-authored-by: Paolo Tranquilli <redsun82@github.com> Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com> Co-authored-by: Felicity Chapman <felicitymay@github.com> Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
59 lines
5.0 KiB
Markdown
59 lines
5.0 KiB
Markdown
---
|
|
title: GitHub language support
|
|
intro: 'An overview of the programming languages supported by {% data variables.product.prodname_dotcom %} features.'
|
|
versions:
|
|
fpt: '*'
|
|
ghes: '*'
|
|
ghec: '*'
|
|
topics:
|
|
- GitHub
|
|
redirect_from:
|
|
- /github/getting-started-with-github/github-language-support
|
|
- /github/getting-started-with-github/learning-about-github/github-language-support
|
|
---
|
|
<!-- If you make changes to this article, also update any feature-level articles to reflect the same changes in language support. -->
|
|
|
|
## About supported languages
|
|
|
|
Most {% data variables.product.prodname_dotcom %} features work regardless of which languages your code is written in. You can search for code or enable syntax highlighting based on any language known to {% data variables.product.prodname_dotcom %}. For more information, see [AUTOTITLE]{% ifversion code-search-upgrade %}(/search-github/github-code-search/understanding-github-code-search-syntax#language-qualifier){% else %}(/search-github/searching-on-github/searching-code#search-by-language){% endif %} or [AUTOTITLE](/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks#syntax-highlighting).
|
|
|
|
Some {% data variables.product.prodname_dotcom %} products have features that are currently only supported for a subset of programming languages.
|
|
|
|
Core languages for {% data variables.product.prodname_dotcom %} features include C, C++, C#, Go, Java, JavaScript,{% ifversion kotlin-supported-language %} Kotlin,{% endif %} PHP, Python, Ruby, Rust, Scala, and TypeScript. For features that support package managers, the currently supported package managers are included in the table with their relevant languages.
|
|
|
|
Some features are supported for additional languages or package managers. If you want to know whether another language is supported for a feature or to request support for a language, visit {% data variables.contact.community_support_forum %}.
|
|
|
|
<!-- Source for the following tables lives in data/tables/supported-code-languages.yml -->
|
|
|
|
{% ifversion fpt or ghec %}
|
|
|
|
## Core languages supported in {% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.prodname_ghe_cloud %}
|
|
|
|
| Language{%- for featureEntry in tables.supported-code-languages.features %}{%- assign featureKey = featureEntry[0] %}{%- assign featureData = featureEntry[1] %}{%- if featureData.fptAndGhec %} | [{{ featureData.name }}]({{ featureData.link }}){%- endif %}{%- endfor %} |
|
|
|:----{%- for featureEntry in tables.supported-code-languages.features %}{%- assign featureData = featureEntry[1] %}{%- if featureData.fptAndGhec %}|:----:{%- endif %}{%- endfor %}|
|
|
{%- for languageEntry in tables.supported-code-languages.languages %}
|
|
{%- assign language = languageEntry[0] %}
|
|
{%- assign languageData = languageEntry[1] %}
|
|
| {{ language }}{%- for featureEntry in tables.supported-code-languages.features -%}{%- assign featureKey = featureEntry[0] -%}{%- assign featureData = featureEntry[1] -%}{%- if featureData.fptAndGhec -%}{%- assign supportLevel = languageData[featureKey] %} | {%- case supportLevel -%}{%- when "supported" %}✓{%- when "not-supported" %}✗{%- else %}{{ supportLevel }}{%- endcase -%}{%- endif -%}{%- endfor %} |
|
|
{%- endfor %}
|
|
{% endif %}
|
|
|
|
{% ifversion ghes %}
|
|
|
|
## Core languages supported in {% data variables.product.prodname_ghe_server %}
|
|
|
|
| Language{%- for featureEntry in tables.supported-code-languages.features %}{%- assign featureKey = featureEntry[0] %}{%- assign featureData = featureEntry[1] %}{%- if featureData.ghes %} | [{{ featureData.name }}]({{ featureData.link }}){%- endif %}{%- endfor %} |
|
|
|:----{%- for featureEntry in tables.supported-code-languages.features %}{%- assign featureData = featureEntry[1] %}{%- if featureData.ghes %}|:----:{%- endif %}{%- endfor %}|
|
|
{%- for languageEntry in tables.supported-code-languages.languages %}
|
|
{%- assign language = languageEntry[0] %}
|
|
{%- assign languageData = languageEntry[1] %}
|
|
| {{ language }}{%- for featureEntry in tables.supported-code-languages.features -%}{%- assign featureKey = featureEntry[0] -%}{%- assign featureData = featureEntry[1] -%}{%- if featureData.ghes -%}{%- assign supportLevel = languageData[featureKey] %} | {%- case supportLevel -%}{%- when "supported" %}✓{%- when "not-supported" %}✗{%- else %}{{ supportLevel }}{%- endcase -%}{%- endif -%}{%- endfor %} |
|
|
{%- endfor %}
|
|
{% endif %}
|
|
|
|
> [!NOTE]
|
|
> {% ifversion fpt or ghec %}The language support for {% data variables.product.prodname_copilot %} varies depending on the volume and diversity of training data for that language.{% endif %}
|
|
> The support of Gradle for the dependency graph and {% data variables.product.prodname_dependabot_alerts %} is limited to the upload of data obtained using the {% data variables.dependency-submission-api.name %}.
|
|
|
|
[^1]: {% ifversion codeql-rust-available %}PHP and Scala {% elsif codeql-rust-public-preview %}PHP and Scala {% else %}PHP, Rust, and Scala {% endif %}are supported for code scanning by third-party actions, but not by {% data variables.product.prodname_codeql %}.
|