tree-sitter-stan

March 19, 2026 ยท View on GitHub

This is a tree-sitter parser for the Stan language. It can parse the latest Stan syntax.

This module defines grammars both for .stan files and .stanfunctions files. Require them as follows:

require('tree-sitter-stan').stan;
require('tree-sitter-stan').stanfunctions;

Installation

NPM

tree-sitter-stan is available on npm:

npm i @wardbrian/tree-sitter-stan

Note: The @wardbrian scope is necessary because the tree-sitter-stan package name is already taken by a previous attempt by jrnold, which this version is loosely based on.

Usage

Emacs

See stan-ts-mode for Emacs 29+

Neovim

This can be used with nvim-treesitter

Zed

I have a minimal Zed extension at https://github.com/WardBrian/zed-stan-extension