All Projects → nkrkv → tree-sitter-rescript

nkrkv / tree-sitter-rescript

Licence: MIT License
ReScript parser for Tree-Sitter

Programming Languages

javascript
184084 projects - #8 most used programming language
c
50402 projects - #5 most used programming language
scheme
763 projects
ReScript
86 projects
Makefile
30231 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to tree-sitter-rescript

tree-sitter-comment
Tree-sitter grammar for comment tags like TODO, FIXME(user).
Stars: ✭ 86 (+330%)
Mutual labels:  tree-sitter, tree-sitter-parser
canonix
Experiment in Nix formatting
Stars: ✭ 18 (-10%)
Mutual labels:  tree-sitter
tree-sitter-html
HTML grammar for Tree-sitter
Stars: ✭ 56 (+180%)
Mutual labels:  tree-sitter
rust-tree-sitter
Rust bindings to Tree-sitter
Stars: ✭ 29 (+45%)
Mutual labels:  tree-sitter
tree-sitter-legesher-python
✨ Legesher's Python grammar for Tree-Sitter 🌳
Stars: ✭ 40 (+100%)
Mutual labels:  tree-sitter
ruby-tree-sitter
Ruby bindings to tree-sitter
Stars: ✭ 48 (+140%)
Mutual labels:  tree-sitter
tree-sitter-typescript
TypeScript grammar for tree-sitter
Stars: ✭ 154 (+670%)
Mutual labels:  tree-sitter
tree-sitter-sql
SQL syntax highlighting for tree-sitter
Stars: ✭ 33 (+65%)
Mutual labels:  tree-sitter
timerlab
⏰ A simple and customizable timer
Stars: ✭ 94 (+370%)
Mutual labels:  rescript-lang
tree-sitter-tlaplus
A tree-sitter grammar for TLA+
Stars: ✭ 31 (+55%)
Mutual labels:  tree-sitter
tree-sitter-toml
TOML grammar for tree-sitter
Stars: ✭ 23 (+15%)
Mutual labels:  tree-sitter
tree-hugger
A light-weight, extendable, high level, universal code parser built on top of tree-sitter
Stars: ✭ 96 (+380%)
Mutual labels:  tree-sitter
nvim-yati
Yet another tree-sitter powered indent plugin for Neovim.
Stars: ✭ 60 (+200%)
Mutual labels:  tree-sitter
zee
A modern text editor for the terminal written in Rust
Stars: ✭ 1,120 (+5500%)
Mutual labels:  tree-sitter
tree-sitter-clojure
No description or website provided.
Stars: ✭ 71 (+255%)
Mutual labels:  tree-sitter
tree-sitter-elisp
tree-sitter grammar for emacs lisp
Stars: ✭ 20 (+0%)
Mutual labels:  tree-sitter
comece-aqui
🚀 Quer aprender ReScript? Comece aqui
Stars: ✭ 214 (+970%)
Mutual labels:  rescript-lang
tree-sitter-markdown
A markdown grammar for tree-sitter
Stars: ✭ 168 (+740%)
Mutual labels:  tree-sitter
tree-edit
🌲 Structural editing in Emacs for any™ language!
Stars: ✭ 211 (+955%)
Mutual labels:  tree-sitter
tree-sitter-vue
Vue grammar for tree-sitter
Stars: ✭ 38 (+90%)
Mutual labels:  tree-sitter

ReScript grammar for Tree-sitter

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.

Installation

  • 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.

Contributing

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].