This repository contains a parser definition of the ReScript language for the Tree-sitter parser generator tool.
Athough Tree-sitter has many applications, the main intent of this parser is powering the nvim-treesitter-rescript
NeoVim plugin which may be used to improve development experience in the NeoVim + ReScript combo.
Queries for text objects are also included which help you to navigate, select, and modify ReScript code syntactically. For NeoVim, the nvim-treesitter-textobjects
plugin is required to use Tree-sitter text objects.
- If you want ReScript Tree-sitter in NeoVim, refer to
nvim-treesitter-rescript
installation notes; - If you want it for other purposes, you probably know what to do.
Contributions are welcome. Here’s how you can help:
🙂 Provide a minimal ReScript snippet which produces an (ERROR)
node or otherwise incorrect syntax tree. Open a new issue providing this snippet and the resulting syntax tree. You can use the following command to see the syntax tree:
yarn tree-sitter parse /path/to/your/snippet.res
🤩 Add a failing test case for a snippet which is valid ReScript but produces an incorrect syntax tree. Fix the grammar.js
. Make sure nothing is broken: make test test_wild
shows 100% test success. Open a pull request.