Skip to content

fwcd/tree-sitter-kotlin

Folders and files

NameName
Last commit message
Last commit date
Aug 18, 2024
Jan 22, 2025
Sep 20, 2021
Aug 5, 2024
Dec 18, 2024
Dec 18, 2024
Sep 20, 2021
Jul 29, 2019
Jul 29, 2024
Jan 22, 2025
Jan 22, 2025
Jul 28, 2019
Jul 29, 2019
Aug 3, 2024
Jul 29, 2024
Oct 8, 2024
Jul 29, 2024
Sep 1, 2024
Mar 13, 2024
Dec 18, 2024
Aug 4, 2024
Dec 18, 2024
Oct 11, 2021
May 24, 2024
Jul 29, 2024
Dec 18, 2024

Repository files navigation

Kotlin Grammar for Tree-sitter

Build NPM crates.io

Kotlin language grammar for Tree-sitter. You can try it out directly on the web.

Icon

The grammar is based on the official language grammar.

Project Structure

File Description
grammar.js The Tree-sitter grammar
grammar-reference.js A direct translation of the Kotlin language grammar that is, however, ambiguous to Tree-sitter
src The generated parser

Setup

npm install

Development

Compilation

To (re-)compile the grammar, run:

npm run generate

Note that the grammar is written completely in JavaScript (grammar.js), the other source files are generated by tree-sitter.

Testing

To run the unit tests, run:

npm run test

It is also helpful to run the parser on a real Kotlin project's source files.

./node_modules/.bin/tree-sitter parse "/path/to/some/project/**/*.kt"  --quiet --stat

WebAssembly

Compilation

First make sure to have Emscripten installed. If you use Homebrew, you can brew install emscripten. Then run:

npm run build-wasm

Playground

After compiling the grammar to WebAssembly, you can invoke

npm run playground

to launch an interactive editing environment that displays the parsed syntax tree on-the-fly in the browser. You can also view a deployed version of this playground on the web.

Screenshot

Documentation

More documentation on how to create Tree-sitter grammars can be found here.

See also