Warning
We are not affiliated with the nvim-treesitter maintainers. If you are facing issues with tree-sitter support in rocks.nvim, please don't bug them.
rocks-treesitter.nvim
is a rocks.nvim module that helps you manage
and use tree-sitter parsers.
It aims to be a minimal replacement for nvim-treesitter.
Parsers, bundled with queries, are hosted on rocks-binaries and rocks-binaries-dev, so that you don't have to compile them on your machine.
No. Plugins that depend on tree-sitter parsers can specify the dependencies in their rockspecs.
You can also install the parsers manually, using :Rocks install tree-sitter-<lang>
.
To enable highlighting for parser <lang>
, all you need to do is create a
ftplugin/<lang>.lua
file, and in it, call vim.treesitter.start()
.
See also the rocks.nvim README's tree-sitter section.
This plugin is for convenience.
- An up-to-date
rocks.nvim
.
Simply run :Rocks install rocks-treesitter.nvim
,
and you are good to go!
This plugin works out of the box and doesn't need any configuration. However, you can override its default configuration in one of two ways:
- In rocks.toml
- With a Lua config
You can add a [treesitter]
section to your rocks.toml,
and use it to configure this plugin.
[treesitter]
# auto_highlight = "all"
# NOTE: These are parsers, not filetypes.
auto_highlight = [
"haskell",
"dhall",
"rust",
"toml"
]
auto_install = "prompt" # true | false
# NOTE: These are filetypes
disable = [
"lhaskell"
]
[treesitter.parser_map]
# You can add custom filetype to parser mappings.
# Determine the filetype with ':lua =vim.bo[0].filetype'.
# NOTE: You don't actually have to add these examples.
# They are added by default.
PKGBUILD = "bash"
cls = "latex"
sty = "latex"
Or, you add a lua table to your vim.g.rocks_nvim
setting:
vim.g.rocks_nvim = {
-- rocks.nvim config
treesitter = {
auto_highlight = { },
auto_install = "prompt",
parser_map = { },
---@type string[] | fun(lang: string, bufnr: integer):boolean
disable = { }, -- filetypes or a function
},
}
Important
If both configuration methods are used, the
lua configuration is given higher priority,
to support things like :h exrc
.
rocks-treesitter.nvim
is licensed under GPLv3.