Skip to content

Releases: kettle-dev/ts-grammar-action

Install tree-sitter, language grammars, Java, jtreesitter, & Rust

30 Dec 01:24
v1.0.0
4adf5a6

Choose a tag to compare

ts-grammar-action

A GitHub Action for installing tree-sitter and language grammars.

This action wraps the official tree-sitter/setup-action and adds support for installing language-specific grammar shared libraries.

Features

  • 🌲 Uses official tree-sitter/setup-action for library and CLI installation
  • 📦 Installs grammar shared libraries (.so files) for selected languages
  • ⚡ Caching support via the official action
  • 🔧 Configures environment variables (TREE_SITTER_*_PATH) for each grammar
  • 🐧 Linux support (Ubuntu)

Supported Grammars

Grammar Input Repository
Bash grammar-bash tree-sitter/tree-sitter-bash
JSON grammar-json tree-sitter/tree-sitter-json
JSONC grammar-jsonc WhyNotHugo/tree-sitter-jsonc
TOML grammar-toml tree-sitter-grammars/tree-sitter-toml

Usage

Basic Usage

Install tree-sitter library and selected grammars:

steps:
  - uses: actions/checkout@v4

  - name: Install tree-sitter with grammars
    uses: kettle-rb/ts-grammar-action@v1
    with:
      grammar-bash: true
      grammar-toml: true

All Options

steps:
  - uses: actions/checkout@v4

  - name: Install tree-sitter with grammars
    uses: kettle-rb/ts-grammar-action@v1
    with:
      # Tree-sitter library/CLI options
      install-cli: false          # Install tree-sitter CLI (default: false)
      install-lib: true           # Install libtree-sitter (default: true)
      tree-sitter-ref: latest     # tree-sitter version (default: latest)

      # Rust toolchain (for tree_stump gem or CLI build)
      setup-rust: false           # Install Rust toolchain (default: false)
      rust-toolchain: stable      # Rust version (default: stable)

      # Java/jtreesitter (for JRuby Java backend)
      # Note: setup-jtreesitter: true automatically installs Java JDK
      setup-java: false           # Install Java JDK only (default: false)
      java-version: "23"          # Java version (default: 23)
      java-distribution: temurin  # Java distribution (default: temurin)
      setup-jtreesitter: false    # Download jtreesitter JAR + install Java (default: false)
      jtreesitter-version: "0.24.0"  # jtreesitter version (default: 0.24.0)
      jtreesitter-install-dir: /usr/local/share/java  # JAR install directory

      # Grammar selections (all default to false)
      grammar-bash: false
      grammar-json: false
      grammar-jsonc: false
      grammar-toml: false

      # Installation prefix (default: /usr/local)
      grammar-install-prefix: /usr/local