You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.0 KiB
2.0 KiB
Neovim Treesitter Playground
View treesitter information directly in Neovim!
Requirements
- Neovim nightly
- nvim-treesitter plugin
Setup
Install the plugin (vim-plug shown):
Plug 'nvim-treesitter/nvim-treesitter'
Plug 'nvim-treesitter/playground'
It's also recommended that you install the query
parser for query editor highlighting. Run this after installing the above plugins.
:TSInstall query
The configuration is like any other nvim-treesitter module.
require "nvim-treesitter.configs".setup {
playground = {
enable = true,
disable = {},
updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code
persist_queries = false -- Whether the query persists across vim sessions
}
}
Usage
The tree can be toggled using the command :TSPlaygroundToggle
.
Keybindings
R
: Refreshes the playground view when focused or reloads the query when the query editor is focused.o
: Toggles the query editor when the playground is focused.a
: Toggles visibility of anonymous nodes.i
: Toggles visibility of highlight groups.I
: Toggles visibility of the language the node belongs to.t
: Toggles visibility of injected languages.f
: Focuses the language tree under the cursor in the playground. The query editor will now be using the focused language.F
: Unfocuses the currently focused language.<cr>
: Go to current node in code buffer
Query Linter
The playground can lint query files for you. For that, you need to activate the query_linter
module:
require "nvim-treesitter.configs".setup {
query_linter = {
enable = true,
use_virtual_text = true,
lint_events = {"BufWrite", "CursorHold"},
},
}