Kotlin language grammar for Tree-sitter. You can try it out directly on the web.
The grammar is based on the official language grammar.
| 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 |
npm install
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.
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 --statFirst make sure to have Emscripten installed. If you use Homebrew, you can brew install emscripten. Then run:
npm run build-wasm
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.
More documentation on how to create Tree-sitter grammars can be found here.
- Kotlin Language Server for code completion, diagnostics and more
- Kotlin Debug Adapter for JVM debugging support
