difftastic/vendored_parsers/tree-sitter-kotlin
Wilfred Hughes 8400000b3b Merge commit '494fb7644a9d2bbe4c7a0c5db2ef94d2aad6b0d8' 2023-10-26 08:46:53 +07:00
..
.github Merge commit '494fb7644a9d2bbe4c7a0c5db2ef94d2aad6b0d8' 2023-10-26 08:46:53 +07:00
bindings Merge commit '494fb7644a9d2bbe4c7a0c5db2ef94d2aad6b0d8' 2023-10-26 08:46:53 +07:00
examples Rename vendor/ directory 2023-01-10 08:35:01 +07:00
queries Merge commit '06a2f6e71c7fcac34addcbf2a4667adad1b9c5a7' 2023-08-08 23:39:19 +07:00
src Merge commit '494fb7644a9d2bbe4c7a0c5db2ef94d2aad6b0d8' 2023-10-26 08:46:53 +07:00
test/corpus Merge commit '494fb7644a9d2bbe4c7a0c5db2ef94d2aad6b0d8' 2023-10-26 08:46:53 +07:00
.editorconfig Rename vendor/ directory 2023-01-10 08:35:01 +07:00
.gitattributes Rename vendor/ directory 2023-01-10 08:35:01 +07:00
.gitignore Merge commit '06a2f6e71c7fcac34addcbf2a4667adad1b9c5a7' 2023-08-08 23:39:19 +07:00
Cargo.lock Merge commit '494fb7644a9d2bbe4c7a0c5db2ef94d2aad6b0d8' 2023-10-26 08:46:53 +07:00
Cargo.toml Merge commit '494fb7644a9d2bbe4c7a0c5db2ef94d2aad6b0d8' 2023-10-26 08:46:53 +07:00
Icon128.png Rename vendor/ directory 2023-01-10 08:35:01 +07:00
LICENSE Rename vendor/ directory 2023-01-10 08:35:01 +07:00
Makefile Merge commit '494fb7644a9d2bbe4c7a0c5db2ef94d2aad6b0d8' 2023-10-26 08:46:53 +07:00
README.md Merge commit '494fb7644a9d2bbe4c7a0c5db2ef94d2aad6b0d8' 2023-10-26 08:46:53 +07:00
binding.gyp Rename vendor/ directory 2023-01-10 08:35:01 +07:00
grammar-reference.js Rename vendor/ directory 2023-01-10 08:35:01 +07:00
grammar.js Merge commit '494fb7644a9d2bbe4c7a0c5db2ef94d2aad6b0d8' 2023-10-26 08:46:53 +07:00
package-lock.json Merge commit '494fb7644a9d2bbe4c7a0c5db2ef94d2aad6b0d8' 2023-10-26 08:46:53 +07:00
package.json Merge commit '494fb7644a9d2bbe4c7a0c5db2ef94d2aad6b0d8' 2023-10-26 08:46:53 +07:00
playground-screenshot.png Rename vendor/ directory 2023-01-10 08:35:01 +07:00

README.md

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

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