Skip to content

Supported Languages

Language Identifier(s) Parser Strategy
Go go, golang Built-in Go parser 6-strategy progressive
TypeScript typescript, ts Tree-sitter Syntax validation
TSX tsx Tree-sitter Syntax validation
Rust rust, rs Tree-sitter Syntax validation
Nix nix Tree-sitter Syntax validation
HCL/Terraform hcl, terraform, tf Tree-sitter Syntax validation
Templ templ Tree-sitter Syntax validation

All parsers are embedded in the binary. No external tools, CLIs, or CGO required.

Use the -l (or --language) flag:

Terminal window
# Single language
md-go-validator -l go .
# Multiple languages
md-go-validator -l go,typescript,rust .
# All supported languages
md-go-validator -l go,templ,typescript,nix,rust,hcl .
# Short forms
md-go-validator -l go,ts,rs,tf .
Terminal window
md-go-validator --list-languages

Non-Go languages use gotreesitter, a pure-Go tree-sitter binding. The grammars are compiled into the binary at build time, so there are zero runtime dependencies.

The validator uses a pluggable registry. See the Library API guide for how to implement and register a custom validator.