Skip to main content

Supported Languages

Rune offers first-class support for a growing set of programming languages: deep code intelligence, a built-in debugger, and language-specific commands on top of editing. This page lists where each language stands today.

First-class languages

LanguageStatus
GoSupported
PythonSupported
RustComing Soon
TypeScriptRoadmap

Code intelligence works the same way across all of them. See the Code Intelligence guide for the cross-language lsp command: go to definition, find references, diagnostics, hover, rename, and formatting.

Working in a repository with several projects side by side? See the Monorepos guide for how Rune discovers each project and keeps search fast at scale.

Everything else: language packages

Beyond the first-class languages, Rune understands the structure of over 300 more through downloadable language packages. Each package bundles a tree-sitter grammar and a set of query files, giving Rune a real parse tree for the file instead of plain text. That parse tree powers syntax highlighting, code folding, indentation, and (most usefully) structural search and navigation.

adagit_configmarkdown_inlinesflog
agdagit_rebasematlabslang
angulargitattributesmdxslim
apexgitcommitmenhirslint
arduinogitignoremermaidsmali
asmgleammesonsmithy
astroglimmermlirsnakemake
authzedglimmer_javascriptnasmsnl
awkglimmer_typescriptnginxsolidity
bashglslnickelsoql
bassgnnimsosl
beancountgnuplotnim_format_stringsourcepawn
bibtexgoninjasparql
bicepgoctlnixsproto
bitbakegodot_resourcenqcsql
bladegomodnusquirrel
bpgosumobjcssh_config
bpftracegotmplobjdumpstarlark
brightscriptgoworkocamlstrace
cgpgocaml_interfacestyled
c_sharpgraphqlocamllexsuperhtml
c3grenodinsurface
caddygroovypascalsvelte
cairogroqpasswdsway
capnpgstlaunchpemswift
chatitohackperlsxhkdrc
circomharephpsystemtap
clojurehaskellphp_onlysystemverilog
cmakehaskell_persistentphpdoct32
commenthclpioasmtablegen
commonlispheexpkltact
cooklanghelmpotcl
cornhjsonpodteal
cponhlslpoe_filtertempl
cpphoconponytera
csshoonpowershellterraform
csvhtmlprintftextproto
cudahtmldjangoprismathrift
cuehttpproblogtiger
cylchurlprologtlaplus
dhyprlangpromqltodotxt
dartidlpropertiestoml
desktopidrisprototsv
devicetreeiniprqltsx
dhallinkopsvturtle
diffispcpugtwig
disassemblyjanet_simplepuppettypescript
djotjavapurescripttypespec
dockerfilejavadocpymanifesttyposcript
dotjavascriptpythontypst
doxygenjinjaqludev
dtdjinja_inlineqmldirungrammar
earthfilejqqmljsunison
ebnfjsdocqueryusd
editorconfigjsonruxntal
edsjson5racketv
eexjsonnetrasivala
elixirjuliarazorvento
elmjustrbsvhdl
elsakclre2cvhs
elvishkconfigreadlinevim
embedded_templatekdlregexvimdoc
enforcekosregovrl
erlangkotlinrequirementsvue
facilitykotorescriptwgsl
faustkustorifleconfwgsl_bevy
fennellalrpoprnowebwing
fidllatexrobotwit
firrtlledgerrobots_txtwxml
fishlinkerscriptrocxcompose
forthliquidronxml
fortranllvmrstxresources
fshluarubyyaml
fsharpluadocrunescriptyang
funcluaprustyuck
gapluauscalazig
gaptstm68kscfgziggy
gdscriptmakeschemeziggy_schema
gdshadermarkdownscsszsh

Installing a language package

You do not install these ahead of time. When you open a file in a language whose package is not yet installed, Rune offers to download and install it, so the right grammar is always ready when you open the matching file type. This is governed by the updates.auto_install setting, which is False by default: Rune prompts before installing. During first-run onboarding, Rune installs packages without prompting regardless of this setting.

To install packages silently without being asked, set auto_install to True:

updates:
auto_install: true

With auto-install turned off (the default), opening a file in a language whose package is not yet installed makes Rune prompt you:

OptionEffect
YesInstall the package for this file.
Yes, AlwaysInstall now, and auto-install future languages on open without asking again.
NoSkip it this time.

Yes and No apply only to the current file. Yes, Always persists your choice: it installs this package and auto-installs future languages on open without asking again.

Ask Rune Agent