Skip to content

Commit

Permalink
feat(plugin): installation
Browse files Browse the repository at this point in the history
update queries structure, add native nvim-treesitter.parsers instructions
  • Loading branch information
TheFedaikin committed Aug 4, 2023
1 parent 6376fa0 commit 8512319
Show file tree
Hide file tree
Showing 6 changed files with 66 additions and 2 deletions.
54 changes: 53 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,59 @@ Queries for text objects are also included which help you to navigate, select, a

## Installation

- If you want ReScript Tree-sitter in NeoVim, refer to [`nvim-treesitter-rescript`](https://github.com/nkrkv/nvim-tree-sitter-rescript/) installation notes;
### Neovim

If you want ReScript Tree-sitter in NeoVim, you will first need to register a new parser for it like so:

```lua
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
parser_config.rescript = {
install_info = {
url = "https://github.com/nkrkv/tree-sitter-rescript",
branch = "main",
files = { "src/scanner.c" },
generate_requires_npm = false,
requires_generate_from_grammar = true,
use_makefile = true, -- macOS specific instruction
},
}
```

This will make `TSInstall rescript` globally available. For more persistent approach you should add this parser to your Lua configuration.

Default configuration detects `.res` and `.resi` files. You can confirm that it's correctly installed by using [`nvim-treesitter/playground`](https://github.com/nvim-treesitter/playground) and invoking `TSPlaygroundToggle` when you are in the ReScript file.

- Notice that by default you will not see the highlighting! To enable highlighting, you will need to install this package either as a dependency or directly.

If you are using `lazy.nvim` example configuration will look like so:

```lua
{
"nvim-treesitter/nvim-treesitter",
dependencies = {
"nkrkv/tree-sitter-rescript"
},
opts = function(_, opts) -- this is needed so you won't override your default nvim-treesitter configuration
vim.list_extend(opts.ensure_installed, {
"rescript",
})

local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
parser_config.rescript = {
install_info = {
url = "https://github.com/nkrkv/tree-sitter-rescript",
branch = "main",
files = { "src/scanner.c" },
generate_requires_npm = false,
requires_generate_from_grammar = true,
use_makefile = true, -- macOS specific instruction
},
}
end,
}
```

- Legacy way of installing the parser is available via [`nvim-treesitter-rescript`](https://github.com/nkrkv/nvim-tree-sitter-rescript/)
- If you want it for other purposes, you probably know what to do.

## Contributing
Expand Down
14 changes: 13 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,19 @@
"res",
"resi"
],
"injection-regex": "rescript"
"injection-regex": "rescript",
"highlights": [
"queries/rescript/highlights.scm"
],
"locals": [
"queries/rescript/locals.scm"
],
"injections": [
"queries/rescript/injections.scm"
],
"textobjects": [
"queries/rescript/textobjects.scm"
]
}
]
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 8512319

Please sign in to comment.