Awesome
Kotlin Grammar for Tree-sitter
Kotlin language grammar for Tree-sitter. You can try it out directly on the web.
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.
Documentation
More documentation on how to create Tree-sitter grammars can be found here.
See also
- Kotlin Language Server for code completion, diagnostics and more
- Kotlin Debug Adapter for JVM debugging support