Skip to main content

Supported Languages

Rune groups language support into tiers. Each tier builds on the one below it, so every supported capability remains available as a language moves up.

Support tiers​

TierCapabilities
Tier 1All Tier 2 features, plus LSP and full ecosystem workflows.
Tier 2All Tier 3 features, plus the symbol indexer.
Tier 3Syntax highlighting and structural queries.

Tier 1 languages​

LanguageStatus
GoSupported
PythonSupported
RustBeta
ZigBeta
TypeScript and JavaScriptBeta

Beta means the language is complete enough for daily work and shipped by default, while its commands and defaults may still change between releases.

Code intelligence works the same way across Tier 1 languages. 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.

Tier 3 language packages​

Rune offers Tier 3 support for over 300 additional languages 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_configmatlabsflog
agdagit_rebasemdxslang
angulargitattributesmenhirslim
apexgitcommitmermaidslint
arduinogitignoremesonsmali
asmgleammlirsmithy
astroglimmernasmsnakemake
authzedglimmer_javascriptnginxsnl
awkglimmer_typescriptnickelsolidity
bashglslnimsoql
bassgnnim_format_stringsosl
beancountgnuplotninjasourcepawn
bibtexgonixsparql
bicepgoctlnqcsproto
bitbakegodot_resourcenusql
bladegomodobjcsquirrel
bpgosumobjdumpssh_config
bpftracegotmplocamlstarlark
brightscriptgoworkocaml_interfacestrace
cgpgocamllexstyled
c_sharpgraphqlodinsuperhtml
c3grenpascalsurface
caddygroovypasswdsvelte
cairogroqpemsway
capnpgstlaunchperlswift
chatitohackphpsxhkdrc
circomharephp_onlysystemtap
clojurehaskellphpdocsystemverilog
cmakehaskell_persistentpioasmt32
commenthclpkltablegen
commonlispheexpotact
cooklanghelmpodtcl
cornhjsonpoe_filterteal
cponhlslponytempl
cpphoconpowershelltera
csshoonprintfterraform
csvhtmlprismatextproto
cudahtmldjangoproblogthrift
cuehttpprologtiger
cylchurlpromqltlaplus
dhyprlangpropertiestodotxt
dartidlprototoml
desktopidrisprqltsv
devicetreeinipsvturtle
dhallinkopugtwig
diffispcpuppettypescript
disassemblyjanet_simplepurescripttypespec
djotjavapymanifesttyposcript
dockerfilejavadocpythontypst
dotjinjaqludev
doxygenjinja_inlineqmldirungrammar
dtdjqqmljsunison
earthfilejsdocqueryusd
ebnfjsonruxntal
editorconfigjson5racketv
edsjsonnetrasivala
eexjuliarazorvento
elixirjustrbsvhdl
elmkclre2cvhs
elsakconfigreadlinevim
elvishkdlregexvimdoc
embedded_templatekosregovrl
enforcekotlinrequirementsvue
erlangkotorescriptwgsl
facilitykustorifleconfwgsl_bevy
faustlalrpoprnowebwing
fennellatexrobotwit
fidlledgerrobots_txtwxml
firrtllinkerscriptrocxcompose
fishliquidronxml
forthllvmrstxresources
fortranluarubyyaml
fshluadocrunescriptyang
fsharpluaprustyuck
funcluauscalazig
gapm68kscfgziggy
gaptstmakeschemeziggy_schema
gdscriptmarkdownscsszsh
gdshadermarkdown_inline

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